我读过一些关于语音/语音识别的文章,我想知道它是如何工作的。例如,android上的"ok Google“和类似的案例?
我想知道它是如何工作的(如何在连续提要中区分和分析一个单词,找到它的关键字)。如果我认为它是一个连续的文本提要,一种方法是隔离给定的提要长度,然后找到一个关键字。音频提要有点难理解,因为单词之间没有纯粹的沉默(正如所说的),隔离给定的长度并不能保证在所选子提要的开头或结尾裁剪关键字。它怎麽工作?
最后,如果你们知道一些libs (C/C++,如果可能的话)能够做到这一点,我会很高兴地实现一个“关键字观察器”。
谢谢。
发布于 2015-03-09 23:22:31
关键字查找通常是通过动态编程实现的,您只需搜索包含关键字的最佳音频块,查找所有可能的开始和所有可能的结束。您需要同时查找关键字和替代项。基本上,在每一时刻,你都在寻找关键词和其他声音,一旦关键字的概率高于其他语音的概率,你就会发出信号。虚警率由阈值控制。你不需要特别处理沉默,因为它被“其他演讲”模型所涵盖。详细介绍了该算法在以下论文中:
http://eprints.qut.edu.au/37254/
对于关键字定位的实现,您可以检查pocketsphinx和pocketsphinx Android演示。它是一个C库,可以在连续流中识别单词。您可以在这里找到本教程:
http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx。
要从麦克风中识别关键字,您可以尝试一些简单的方法,如
pocketsphinx_continuous -inmic yes -keyphrase "ok google" -kws_threshold 1e-20原始的"Ok Google“技术在以下出版物中作了介绍:
用深度神经网络识别小足迹关键词
https://wiki.inf.ed.ac.uk/twiki/pub/CSTR/ListenSemester2201314/chen2014small.pdf
这是相当先进的技术,更重要的是,它需要大量的具体数据进行培训。
https://stackoverflow.com/questions/28952997
复制相似问题