CMUS狮身人面像(三)-建立一个语音词典

建立一个语音词典​​​​​​


介绍

语音词典为系统提供了词汇到音素序列的映射。它可能看起来像这样:

hello H EH L OW
world W ER L D

字典还可以包含替代发音。在这种情况下,您可以用括号中的数字来指定它们:

the TH IH
the(2) TH AH

There are various phonesets to represent phones, such as IPA or SAMPA. CMUSphinx does not yet require you to use any well-known phoneset, moreover, it prefers to use letter-only phone names without special symbols. This requirement simplifies some processing algorithms, for example, you can create files with phone names as part of the filenames without any violating of the OS filename requirements.

A dictionary should contain all the words you are interested in, otherwise the recognizer will not be able to recognize them. However, it is not sufficient to have the words in the dictionary. The recognizer looks for a word in both the dictionary and the language model. Without the language model, a word will not be recognized, even if it is present in the dictionary.

除非你想节省内存,否则不需要从字典中删除未使用的单词,字典中多余的单词不会影响准确性。

使用现有词典

我们支持多种语言的词典 – CMUDict 适用于美国英语、法语、德语、俄语、荷兰语、意大利语、西班牙语和普通话。其他词典可能会在网络上找到。如果字典有正确的格式,您就可以使用它。

如果字典没有涵盖您感兴趣的所有单词,您可以使用g2p工具对其进行扩展。

使用g2p-seq2seq扩展字典

有多种工具可以帮助您扩展现有词典的新单词或从头开始构建新词典。其中两个是 Phonetisaurus和 Sequitur

我们建议使用我们最新的工具g2p-seq2seq 。它基于 Tensorflow 框架中实现的神经网络,并提供最先进的转换精度。

具有 512 个隐藏单元的英文模型 2 层 LSTM 可以在 CMUSphinx 网站上下载。下载后解压模型。它是根据 CMU 英语词典进行训练的。顾名思义,该模型仅适用于英语。对于其他语言,您首先需要如下所述引导字典,然后使用 G2P 工具扩展它。

检查 G2P 工具如何工作的最简单方法是使用上面的模型运行交互模式:

g2p-seq2seq --interactive --model model_folder_path

> hello
HH EH L OW

要使用经过训练的模型生成英语单词列表的发音,请运行:

g2p-seq2seq --decode your_wordlist --model model_folder_path

单词列表是一个包含单词的文本文件,每行一个单词。

要训​​练 G2P,您需要一本字典(标准形式中每行一个单词和音素序列)。运行训练:

g2p-seq2seq --train train_dictionary.dic --model model_folder_path

有关 G2P 工具的更多信息,请参阅G2P 项目的自述文件

引导其他语言的字典

如果您没有适合您的语言的词典,通常可以通过多种方式创建它们。

通常,词典是通过手写规则引导的。您可以在有关您的语言的维基百科页面中找到您的语言的音素列表,并编写一个简单的 Python 脚本将单词映射到音素。即使最好的词典也不可能包含规则,大多数语言的发音都非常不规则,这对于新手来说可能不是很明显,即使传统上认为您说的是书面内容。这是由于人类言语中的协同发音效应造成的。然而,对于一个基本的字典来说,规则已经足够好了。

您可以抓取维基词典以获取其中涵盖的大量单词的映射。

您可以使用 TTS 工具(例如用Java 编写的OpenMary或用 C 编写的Espeak)来为它们支持的语言创建语音词典。

许多使用象形文字的语言(如韩语或日语)都有专门的软件(如Mecab)来将其单词罗马化。您可以使用 Mecab 通过将单词转换为罗马化形式,然后简单地应用规则将它们转换为音素来构建语音词典。

转录几千个最常用的单词来引导词典就足够了。

一旦你的字典被引导,你就可以使用 g2p-seq2seq 工具扩展它以容纳更大的词汇量,如上一节所述。

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟V-SpHeNIC

支持科研技术

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值