Voice Recognition Printing Project - Using Arduino and Android device

Hi Arduino Forum,

I have an ambitious project in mind which I would like to ask your advice on.

My goal is to build a set up which records spoken phrases and transcribes them to text (possibly utilizing Google's speech input API) before outputting them via Arduino to a thermal printer (Thermal Printer - COM-14970 - SparkFun Electronics)

I see the topic was raised by MarcoMarazzo in this old thread: Arduino speech reognition - #8 by system - Project Guidance - Arduino Forum

My current thinking on how to achieve this is to utilize an android handset running Android 2.1 or above and then to use the voice-enabled-keyboard in conjunction with 'Bluetooth Chat' application to record speech and pair it with the Arduino via bluetooth modem, similar to what is achieved in this tutorial: Android talks to Arduino - YouTube

Seeing as I am relatively new to both Arduino and programming I am looking to achieve my objectives in the simplest (and also most cost-effective way possible)

At the moment I am unconcerned about the accuracy with which speech is transcribed. I also anticipate that I may end up only able to process shorter snippets of speech rather than long recordings - that's fine!

Have any of you embarked on a similar project?

Is there a better way to achieve my objectives?

Would be great to know if I am heading in the right direction, therefore any advice or input would be much appreciated!

Many thanks,


I am certainly no Android expert, but it would seem that the Arduino is not really necessary. All the printer needs is a TTL serial input, and the phone should be able to supply that directly.



That sounds like an excellent project.

For the Android speech recognition, I suggest using this abstract class from gast-lib/SpeechRecognizingAndSpeakingActivity.java at master · gast-lib/gast-lib · GitHub

And if you want to read more about how the speech recognizer works, read this book: http://www.amazon.com/Professional-Android-Sensor-Programming-Programmer/dp/1118183487/

Hi I really appreciate your suggestions guys. I'll be making progress with the project this week :slight_smile:

If the sentences you are going to recognize are predictable ("controlled" environment), BitVoicer (http://www.bitsophia.com/BitVoicer.aspx) can recognize unlimited sentences and send up to 60 characters to you board in response to the recognition. I don't know which sentences you need to send to the printer, but BitVoicer's Voice Schema can create hundreds of recognition possibilities with a few words. I hope it helps.