如何在iPhone中进行中文语音识别

8
1个回答

6
我是OpenEars的开发者。OpenEars默认只支持英语语音识别。Pocketsphinx分发版中有一个中文声学模型,OpenEars使用它,所以如果您有自己的方法创建兼容的语言模型和音素词典,并愿意进行一些自主研究和测试,可能可以将其替换为说明中的英语声学模型。该声学模型称为tdt_sc_8k。您需要使用它来代替说明中名为hub4wsj_sc_8k的文件夹,但还有更多工作需要完成才能使其正常工作。
如果您想尝试这个,您需要阅读CMU语音网站上的Sphinx项目文档,以清楚了解声学模型、语言模型和音标字典之间的关系,并找出如何创建与其兼容的语言模型。您可以从此页面上的音标字典开始,作为一个主字典,然后可以创建较小的iPhone大小的音标字典和随后的语言模型,因为它可能与声学模型兼容。该页面上的语言模型对于OpenEars来说太大了。为了测试,我可能会创建一个约100个单词的命令和控制模型。您应该能够使用Sphinx知识库工具从已经制作了音标字典的单词语料库中创建语言模型。
下一步是验证您的声学模型,语言模型和音素字典是否在传统的Pocketsphinx安装中可以正常工作,例如在Linux上。如果您能够获得良好的结果,则可以转到OpenEars论坛,我将尝试帮助您使其在OpenEars中正常工作(不能保证该声学模型已经过测试,但我也想不出它无法工作的特定原因)。 OpenEars的LanguageModelGenerator类肯定只适用于英语。您需要确保声学模型的许可方式不会阻止它在App Store应用程序中使用,如果您计划分发项目,则由您负责。祝你好运! 编辑: 我想更新一下,让您知道普通话声学模型现在已经成为OpenEarsExtras的一部分,并且 LanguageModelGenerator 已经更新,如果您拥有一个格式正确(即单词后跟制表符,然后是音素,然后是换行符,按字母顺序排列)的任意主发音字典,您可以将其提供给它,这应该使得使用动态语言建模器处理英语以外的其他语言变得更加容易,前提是您已经拥有了声学模型。
应该工作的方式是,您在所需语言中具有类似于 cmu07a.dic 的查找字典,LanguageModelGenerator 处理其余内容,因此,如果您拥有可以从中查找发音的发音字典,则不必再执行多个步骤和研究。非常感谢您在OpenEars论坛上反馈您的实际操作情况(请勿在 Stack Overflow 上提供反馈或错误报告)。

感谢您的更新。在OpenEarsExtras中,我看到了一个mandarin_notone.dic文件,这是否意味着它无法检测汉语发音的不同音调? - CodeBrew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接