使用 CMUSphinx 为语音转文本系统构建语音词典

Building a Phonetic Dictionary with CMUSphinx for a Speech to Text System

我正在尝试为特定领域的母语构建语音转文本系统。尽管为此目的使用了 CMUSphinx。对于一种不常见的语言,据我所知,您首先需要构建语音词典,其中包括可能的单词集的英语音译:

uniocode word -> english transliteration

例如:

xxxx -> ah ty re see

我的问题是,我们需要手动创建这个音译吗?遇到了 freetts [2],它似乎对英语很有效。我怎样才能为一种新语言做同样的事情?

CMUSphinx 教程中介绍了构建字典的可能方法:

http://cmusphinx.sourceforge.net/wiki/tutorialdict

有多种工具可帮助您扩展现有词典以获取新词或从头开始构建新词典。如果您的语言已经有字典,建议使用它,因为它经过精心调整以获得最佳性能。如果您开始使用一种新语言,则需要考虑各种缩减和联合发音的影响。它们使得创建准确的规则以将文本转换为声音变得非常困难。然而,实践表明,即使是简单的转换也能为语音识别产生良好的结果。例如,许多开发人员通过简单的基于字素的合成成功创建了 ASR,其中每个字母仅映射到自身而不是对应的 phone.

对于大多数语言,您需要使用专门的字素到 phoneme (g2p) 代码,使用机器学习方法和现有的小型数据库进行转换。现在最准确的 g2p 工具是 Phonetisaurus 和 sequitur-g2p。

另请注意,几乎每个 TTS 包都包含 G2P 代码。例如,您可以使用来自 FreeTTS、OpenMary 或 espeak 的 g2p 代码。

请注意,如果您使用 TTS,您经常需要进行 phone设置转换。 TTS phone集通常比 ASR 所需的更广泛。然而,TTS 工具有一个很大的优势,因为它们通常比简单的 G2P 包含更多所需的功能。例如,他们正在通过将数字和缩写转换为口语格式来进行标记化。