Turning Raspberry Pi into a universal language translator

A mod for the $35 Raspberry Pi enables the Linux board to translate English into more than 60 languages.

A universal language translator has long been the stuff of science fiction — from Star Trek to The Hitchhiker's Guide to the Galaxy.

So it might be surprising that technology imagined by authors dreaming of the far future is beginning to be realised using a $35 computer and free web services.

Raspberry Pi owner Dave Conroy has tapped into these services using the low-cost Raspberry Pi Linux board and a headset to create a system that can translate English into more than 60 languages.

The translator system in action. Image: www.daveconroy.com

The system is built using various web services to transcribe the recorded English speech, generate the translation and read the result.

A demo by Conroy shows the system translating a five-second clip of him reading dates in English into French, German and Spanish.

Transcription is handled by calling Google's unofficial Speech to Text API to generate the text from the recorded file, the resulting text file is sent on to Microsoft's Translate service, currently free for public use, and the translated text sent to Google Translate's unofficial Text to Speech API to be read out.

A major limitation is that the Text to Speech API apparently will only read out sentences of 100 characters or less, although there are hacks to get around this.

The code needed to run the translator is relatively simple. Conroy wrote a Python script to wrangle data between the translation and text to speech services and a Linux shell script to glue it together with various Linux terminal commands.

A video of the system in action can be seen below.

 Further reading