我正在尝试为特定域特定的母语构建Speech to Text系统。虽然使用CMUSphinx是为了这个目的。对于一种不常见的语言,我首先理解你需要建立一个语音词典,其中包括可能的单词集的英语音译:
uniocode word -> english transliteration
例如:
xxxx -> ah ty re see
我的问题是,我们是否需要手动创建此音译?遇到了freetts [2],它似乎适用于英语。如何为新语言做同样的事情?
答案 0 :(得分:0)
CMUSphinx教程中介绍了构建字典的可能方法:
http://cmusphinx.sourceforge.net/wiki/tutorialdict
有各种工具可以帮助您扩展新单词的现有字典或从头开始构建新字典。如果您的语言已经有字典,建议您使用,因为它已经过仔细调整以获得最佳性能。如果您开始使用新语言,则需要考虑各种减少和协同效应。他们很难创建准确的规则来将文本转换为声音。然而,实践表明,即使是天真的转换也可以为语音识别产生良好的结果。例如,许多开发人员成功地使用简单的基于字素的合成来创建ASR,其中每个字母仅映射到自身而不是相应的电话。
对于大多数语言,您需要使用专门的字形到音素(g2p)代码来使用机器学习方法和现有的小型数据库进行转换。现在最准确的g2p工具是Phonetisaurus和sequitur-g2p。
另请注意,几乎每个TTS包都包含G2P代码。例如,您可以使用FreeTTS,OpenMary或espeak中的g2p代码。
请注意,如果您使用TTS,则通常需要进行手机转换。 TTS电话通常比ASR所需的电话更广泛。但是,TTS工具有很大的优势,因为它们通常包含比简单G2P更多的所需功能。例如,他们通过将数字和缩写转换为口语格式来进行标记化。