1

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

uniocode word -> english transliteration

前任。:

xxxx -> ah ty re see

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

4

1 回答 1

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 包含更多所需的功能。例如,他们通过将数字和缩写转换为语音格式来进行标记化。

于 2016-04-15T10:58:52.747 回答