André Baart and Kasadaka win IXA High Potential Award

Andre and his prizeOn 19 June, André Baart was awarded the High Potential Award at the Amsterdam Science & Innovation en Impact Awards for his and W4RA‘s work on the Kasadaka platform.

Kasadaka (“talking box”) is an ICT for Development (ICT4D) platform to develop voice-based technologies for those who are not connected to the Internet, cannot not read and write, and speak underresourced languages.

As part of a longer-term project, the Kasadaka Voice platform and software development kit (VSDK), has been developed by André Baart as part of his BSc and MSc research at VU. In that context it has been extensively tested in the field, for example by Adama Tessougué, journalist and founder of radio Sikidolo in Konobougou, a small village in rural Mali. It was also evaluated in the context of the ICT4D course at VU, by 46 master students from Computer Science, Information Science and Artificial Intelligence. The Kasadaka is now in Sarawak Malaysia, where it will be soon deployed in a Kampong, by Dr. Cheah Waishiang, ICT4D researcher at the University of Malasia Sarawak (UNIMAS), and students from VU and UNIMAS.

André is currently pursuing his PhD in ICT4D at Universiteit van Amsterdam and still member of the W4RA team.

Share This:

Kasadaka 1.0

[This post is based on Andre Baart’s B.Sc. thesis. The text is mostly written by him]

Generic overview of Kasadaka
Generic overview of Kasadaka

In developing (rural) communities, the adoption of mobile phones is widespread. This allows information to be offered to these communities through voice-based services. This research explores the possibilities of creating a flexible framework (Kasadaka) for hosting voice services in rural communities. The context of the developing world poses special requirements, which have been taken into account in this research. The framework creates a voice service that incorporates dynamic data from a data store. The framework allows for a low-effort adaptation to new and changing use cases. The service is hosted on cheap, low-powered hardware and is connected to the local GSM network through a dongle. We validated the working and flexibility of the framework by adapting it to a new use case. Setting up this new voice server was possible in less than one hour, proving that it is suitable for rapid prototyping. This framework enables further research into the effects and possibilities of hosting voice based information services in the developing world. The image below shows the different components and the dataflow between these components when a call is made. Read more in Andre Baart‘s thesis (pdf).

All information on how to get started with Kasadaka can be found on the project’s GitHub page: 


The different components and dataflow
The different components and dataflow (see below)

Text in italics only takes place when setting up the call.

  1. Asterisk receives the call from the GSM dongle, answers the call, and connects it to VXI.
    Asterisk receives the user’s input and forwards it to VXI.
  2. VXI requests the configured VoiceXML document from Apache.
    VXI requests the configured VoiceXML document from Apache. Together with the request, it sends the user input.
  3. Apache runs the Python program (based on Flask), in which data from the triple store has to be read or written. Python sends the SPARQL query to ClioPatria.
  4. ClioPatria runs the query on the data present, and sends the result of the query back to the Python program.
  5. Python renders the VoiceXML template. The dynamic data is now inserted in the VoiceXML document, and it is sent back to VXI.
  6. VXI starts interpreting the VoiceXML document. In the document there are references to audio files. It sends requests to Apache for the referenced files.
  7. Apache sends a request for the file to the file system.
  8. The file is read from the file system.
  9. Apache responds with the requested audio files.
  10. VXI puts all the audio files in the correct order and plays them back sequentially, sending the audio to the GSM dongle.

This cycle repeats until the call is terminated.


Share This: