I am a hobbyist interested in single word recognition. What is the state of research? Where I can get papers or/and software tools regarding that?

Thanks in advance for any advice!

  • 1
    $\begingroup$ Sorry but this is way, way too broad. I suggest going to a good library (is there a university in your town?) and looking through some textbooks on natural language processing. $\endgroup$ – David Richerby Aug 1 '19 at 11:11

Its a huge field. Basics are to convert the audio into a spectragraph (a Fourier transform). That highlights what frequencies are present in the signal and at what intensities. From this you break up windows (wavelets in some models) and learn to identify the phonemes from these. Phonemes are the names for the types of sounds you can make with your mouth. There is a lot biology in this, how air leave your mouth, if your tounge is against the roof of your mouth, behind your teeth etc. This all affects what frequencies result and subsequently you see those in the spectrograph. With experience you can read phonemes right off from these graphs.

Phonemes are not letters in a written alphabet, they are an alphabet all their own. But the work of linguist have decoded what phonemes emerge from pronouncing words. It is tricky business because unlike written words, when we speak one words phonemes can blend with the start of another. So detecting single words is actually involved. You instead start to score the likelihood of a sequence of phonemes and work back to the most probable sequence. This can be done with hidden Markov models, but the rise of neural nets might be changing what's the best approach here. But certainly this is the place that becomes language specific.

A final common component is domain and grammar. Producing text from speech works best if there is an expectation that the words come from a limited domain, such as ordering your pizza or sending text messages. Again the linguist have to help by providing language models that map spoken language (often quite different from rules of written language) to likely sequences of words. Pauses and intonation have to provide clues for punctuation. So there is a lot of training and retraining to do within a domain to get it work.

Of the list of things here about the only one that springs to mind as "go do it yourself" would be to read in an audio stream and produce the spectragraph. That much is classical signal processing and calculus. As for phonemes, linguistic, random models, and machine learning... those seem to me to be specialist material.

Well at least this is how it was done in broad strokes years ago when I was peripherally involved. I'm sure it has advanced but hope this gives some help.

| cite | improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.