Partial voice recognition

二次信任 提交于 2019-12-07 05:21:18

问题


I'm currently having a good time with voice recognition with the Microsoft's Speech Engine. It's quite simple to set up and use with C#, and allows to achieve great things with less lines of code than I first imagined.

Now, the point is that I do not really know to handle this : I understand that the engine needs to start listening, then you say a word, or a sentence, and it compares in its dictionary to see if it can see a match. If so, the program does whatever you want it to do.

What I'm scratching my head with, is that I would like the engine to "detect" words that are in his dictionary, in a complete random phrase containing one or all of those words.

For example, let's assume that the dictionnary has the following words : - "Read" - "News"

I would like to code something that would detect those specific words whenever I say for instance : - "Read me the news" - "Can you read the news" - "Read news"...

How can I achieve this ?


回答1:


This functionality is called "keyword spotting". Usually you can not perform keyword spotting with speech recognition engine, you need a specific spotting package. The key issue is that engine should compare two outcomes constantly - word is found and word is not found. Speech recognition only looks for the words which are in grammar and doesn't consider other sounds. Spotting just requires a different algorithm.

There is a workaround to add many possible syllables or other sounds into speech recognition grammar and hope that engine will find them instead of keyword, but it's not a very good solution in terms of accuracy compared to specific keyword spotter.

If you are not closely tied to Microsoft's engine and you need a common language like US English or French you can implement keyword spotting with open source software toolkits for speech recognition like CMUSphinx.



来源:https://stackoverflow.com/questions/12822809/partial-voice-recognition

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!