【问题标题】:How to implement speech recognition and text-to-speech in C++?如何在 C++ 中实现语音识别和文本转语音?
【发布时间】:2010-05-27 20:07:19
【问题描述】:

我想了解进行语音识别和文本到语音转换的各种技术。 也请让我知道任何资源,如链接、教程、电子书等。

实现它的最有效技术是什么?

【问题讨论】:

    标签: c++ speech-recognition


    【解决方案1】:

    我将回答关于语音识别的部分(因为我对文本到语音的了解不多):

    http://ecx.images-amazon.com/images/I/4190SZC61CL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

    《语音识别的统计方法》这本书是解释统计语音识别的数学基础的经典著作,由该领域的创始人 Frederick Jelinek 撰写。

    你必须知道的最重要的概念是Hidden Markov Models。几十年来,人们一直在语音识别中使用它们。最近的一种方法使用Conditional Random Fields,请参阅paper (PDF) 和相关的软件工具包SCARF

    编写自己的语音识别器相当困难。这是一个活跃的研究领域,有几个科学会议,例如。 ASRU, Interspeech, ICASSP.

    【讨论】:

      【解决方案2】:

      两者都是非常广泛的领域。 关于识别:在这个this schema,您将了解如何构建一个基本的自动语音识别系统。这绝不是接近艺术的开始,但它是可以实现的并且它有效。如果您想做更高级的事情,请阅读倒谱系数和隐马尔可夫模型。看看HTK,它是一个广泛使用的隐马尔可夫模型工具包。

      关于文字转语音:我想看看Festival

      【讨论】:

        【解决方案3】:

        有多个狮身人面像。主要活跃的是pocketsphinx和sphinx4。

        Sphinx4 是用 Java 编写的。它更适合桌面和 Web 应用程序。

        Pocketsphinx 是用 C 语言编写的。它更适合嵌入式设备。有 iphone/android 应用程序使用它。

        听起来你想要pocketsphinx。试试这个教程: http://www.speech.cs.cmu.edu/sphinx/tutorial.html

        在 CMU 的 sourceforge 论坛上提问 pocketsphinx/sphinx4 问题的更好地方。

        您还应该提供更多信息,例如您打算制作的内容。

        至于书籍,语音识别的圣经是《口语处理》

        【讨论】:

        【解决方案4】:

        既然你提到了 MS -

        您应该只查看Microsoft Speech 网站。它包含许多处理语音的资源,包括 TTS 和语音识别。

        【讨论】:

          【解决方案5】:

          如果您正在寻找一些实际代码,请查看 Sphinx,这是 CMU 的一个开源语音识别项目。它不是用 C++ 编写的,但如果你对算法感兴趣,它实现了一堆你可以从中学习的东西。 (我也想回应@dehmann 的观点:阅读隐藏马尔可夫模型。)

          【讨论】:

            【解决方案6】:

            如果您对如何处理您的精美语音识别感到好奇,您应该阅读: Randy Allen Harris 的语音交互设计

            它就何时使用 Voice 以及如何在应用程序中使用它提供了一些很好的建议。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2023-01-09
              • 1970-01-01
              • 2023-03-03
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多