我想了解进行语音识别和文本到语音转换的各种技巧。 另外,请告诉我任何资源,如链接,教程,电子书等。
实现它的最有效技术是什么?
答案 0 :(得分:8)
我将回答有关语音识别的部分(因为我对文本到语音的了解不多):
本书“语音识别的统计方法”是解释统计语音识别的数学基础的经典,由该领域的创始人Frederick Jelinek撰写。
您必须知道的最重要的概念是Hidden Markov Models。数十年来,人们一直在语音识别中使用它们。最近的方法使用Conditional Random Fields,请参阅paper (PDF)和相关的软件工具包SCARF。
编写自己的语音识别器相当困难。这是一个活跃的研究领域,有几个科学会议,例如ASRU,Interspeech,ICASSP。
答案 1 :(得分:6)
两者都是非常广泛的领域。 关于识别:在这个this schema中,您将找到如何构建基本的自动语音识别系统。它绝不是接近艺术的起点,但它是可以实现的,并且它的作用。如果你想做更高级的事情,请阅读关于倒谱系数和隐马尔可夫模型的内容。看看HTK,它是一个广泛使用的隐马尔可夫模型工具包。
关于文字转语音:我看一下Festival。
答案 2 :(得分:4)
有多个狮身人面像。主要活跃的是pocketsphinx和sphinx4。
Sphinx4是用Java编写的。它适用于桌面和Web应用程序。
Pocketsphinx是用C语言编写的。它对嵌入式设备更好。有iphone / android应用程序使用它。
听起来你想要pocketphinx。试试这个教程: http://www.speech.cs.cmu.edu/sphinx/tutorial.html
在CMU的sourceforge论坛上,有一个更好的地方可以询问口袋里的问题。
此外,您应该提供更多信息,例如您打算制作的内容。
对于书籍,语音识别的圣经是“口语处理”
答案 3 :(得分:3)
因为你提到了MS -
您应该查看Microsoft Speech网站。它包含许多处理语音的资源,包括TTS和语音识别。
答案 4 :(得分:3)
如果您正在寻找一些实际代码,请查看Sphinx,一个来自CMU的开源语音识别项目。它不是用C ++编写的,但是如果你对算法很感兴趣,它会实现一些你可以学习的东西。 (我也想回应@ dehmann的观点:阅读隐藏的马尔可夫模型。)
答案 5 :(得分:1)
如果您对如何处理您的花哨语音识别感到好奇,请阅读: Randy Allen Harris的语音交互设计
它为何时使用Voice以及如何在应用程序中使用Voice提供了一些很好的建议。