CMU Sphinx 语音识别入门:构建拼音字典

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMU Sphinx 语音识别入门:构建拼音字典相关的知识,希望对你有一定的参考价值。

参考技术A   拼音字典(phonetic dictionary,我自己是这么翻译的,可能不准确,能力所限,勿喷 _ )为语音识别系统提供了语音音素向词汇表的映射。大致形式如下:

  拼音字典可以同时包含多音字,这种情况下,可以用括号中的数字来指定多音字。例如:

  语音拼音有多种表示方式,如:IPA和SAMPA。CMUSphinx 不需要我们去使用任何高级的语音表示方式,它更倾向于单纯使用字母而不是特殊字符来表示。这样可以简化一下处理算法。
  在语音识别实际应用中,拼音字典应该包含所有我们感兴趣的单词,否则这些单词将不能被识别出来。当然,仅仅在拼音字典中囊括这些单词也是不行的,因为识别器会同时从拼音字典和语音模型中进行检索,如果该单词不在语音模型中,即使这个单词在拼音字典中,也不能被识别出来。当然,我们也不需要为了节约存储空间而将拼音字典中不需要识别的单词移除,这样做其实对提升性能没有任何太大的意义,因为多余的单词并不影响识别的准确率。

  CMUSphinx提供了大量可以支持的语言的 拼音字典 ,包括US English, French, German, Russian, Dutch, Italian, Spanish and Mandarin(中文)。除了上述的拼音字典外,CMUSphinx提供了构件新的拼音字典或扩展现有字典的方法。

  目前有许多工具可以用于扩展现有的拼音字典或构建新的拼音字典, Phonetisaurus 和 Sequitur 是其中的两个,这里推荐使用CMU最新版本的 g2p-seq2seq 。它是目前转换精度最好的基于神经网络实现的tensorflow框架。
  查看G2P工具如何工作的,可以使用交互模式:

用训练好的G2P模型生成单词列表的发音的命令如下:

  单词列表的格式为每行一个单词或文字。为了训练G2P模型,需要一个拼音字典,然后用以下命令进行训练:

  最后,至于拼音字典如何生成,每个语音有不同的生成方式,一般都跟发音方式有关。具体的可以去百度或者维基百科搜索。

参考: https://cmusphinx.github.io/wiki/tutorialdict/

语音识别和本地化?

【中文标题】语音识别和本地化?【英文标题】:Voice recognition and localization? 【发布时间】:2009-10-10 17:32:44 【问题描述】:

有人有java语音识别和本地化的经验吗?

我正在考虑构建一个带有一些基本语音识别选项的 android 应用程序,但我想基于一些翻译工具实现本地化,也许是谷歌翻译,用户可以用新的语言更新他的“字典”远程字典...这个项目处于第一阶段,我还在头脑风暴中,有没有人有一些经验或者类似的事情可能吗?

【问题讨论】:

您可能希望像 Google 一样在服务器端进行识别。这些手机的马力不大。 【参考方案1】:

为什么不直接使用 Android 的内置语音识别?这真的很容易(您只需设置一个Intent,然后在它返回时捕获它)并且结果出奇的好。

android.speech

我不确定您到底要做什么,但这将允许您指定要识别的语言。

【讨论】:

谢谢,这就是我要找的:)

以上是关于CMU Sphinx 语音识别入门:构建拼音字典的主要内容,如果未能解决你的问题,请参考以下文章

CMU Sphinx 可以设置为识别约 200 个单词吗

PocketSphinx语音识别系统的编译安装和使用

语音识别spinx4切换中文模型时报错IndexOutOfBoundsException

sphinx4 中的语音识别响应很差

语音识别和 python 入门

在 Sphinx4 中将语音解码为音素