Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Writing speech-recognition engine [closed]

So, like many others I decided to create my own speech-recognition engine. As it turned out, it's not easy at all, instead, it's rather difficult to accomplish for English language particularly, because there is, I'd say, dramatical difference between the way a word is written, and the way it's pronounced. Being from Georgia, I decided to write speech-recognition for Georgian language. In Georgian, you pronounce words EXACTLY the way you write them. It's just like a transcription. Will this fact significantly ease my task? Or there are even more difficult... difficulties :D ?

like image 755
nicks Avatar asked Nov 20 '11 15:11

nicks


People also ask

Why is my speech recognition not working?

When using voice typing, you might see different errors. Voice typing needs access to your microphone. You'll need to turn this on in settings to use speech to text. Select Start > Settings > Privacy & security > Microphone, and make sure Microphone access is turned on.

Can speech recognition be used offline?

Android does have offline speech recognition capabilities. You can activate this by going to Settings - Language and Input - Voice Input and touch the cog icon next to Enhanced Google Services.


2 Answers

Speech recognition is a complex domain with many specific algorithms, tools and methods. To create your own engine you could start with CMUSphinx open source speech recognition toolkit which will allow you to:

  • Collect and process data required to support Georgian language
  • Create the models for Georgian
  • Implement a speech recognition engine in Georgian.
  • Use engine to create a speech recognition application running on desktop, on server or on IPhone (through OpenEars)

CMUSphinx already supports English, German, Spanish, French, Dutch, Russian, Mandarin, Icelandic, Italian and many other languages. It's very simple to add a new one. For new people it usually takes a month or two of concentrated work to implement the required process.

To get started visit the homepage:

http://cmusphinx.sourceforge.net

and read the tutorial

http://cmusphinx.sourceforge.net/wiki/tutorial

If you have any question, please ask them on forums or here!

And, it's a very common misconception that you just spell the sounds when you speak Georgian. It's not true for most of the languages in the world. To test the hypothesis try to record some audio in an audio editor and check which sounds are actually pronounced. You'll be surprised. Tutorial above covers this question in details.

like image 94
Nikolay Shmyrev Avatar answered Sep 20 '22 00:09

Nikolay Shmyrev


Do all people from Georgia sound absolutely the same ? I think not... lots of major problems in speech recognition are not directly related to the language itself:

  • different people (women, men, children, elders etc.) have different voices
  • sometimes the same person sounds different for example when the person has a cold
  • different background noises
  • everyday speech sometimes contains words from other languages (like you have the german word Kindergarden in the US/English)
  • some persons not from the country itself learned the language (they usually sound different)
  • some persons speak faster, others speak slower
  • quality of the microphone
    etc.

Solving these things always is pretty hard... on top of that you have the language/pronounciation to take care of... I don't know Georgian but what you describe might make the task a bit easier but it will still be a hard task.

EDIT - as per comments:

Using good libraries might lower the time-frame and even help in quality... but not every library is good for speech recognition despite perhaps being brilliant on some other audio-related matters...

For reference see the Wikipedia article http://en.wikipedia.org/wiki/Speech_recognition - it has a good overview including some links and book references which are a good starting point...

As for how to design such an API see for example http://java.sun.com/products/java-media/speech/forDevelopers/jsapi-guide/Recognition.html

like image 24
Yahia Avatar answered Sep 23 '22 00:09

Yahia