Jon*_*and 8 algorithm audio language-theory signal-processing text-to-speech
这个问题的第一部分现在是它自己的,在这里:分析Accents的文本
问题:如何在生成的语音中添加重音符号?
我想出了什么:
我并不仅仅意味着重音符号或变形,或者像这样的任何单数.我的意思是完整的英国口音,或苏格兰口音,或俄罗斯等.
我认为这也可以在语言之外完成.例如:俄语中的东西可以用英国口音产生,或者普通话中的东西可以带有俄语口音.
我认为基本过程是这样的:
这实际上更像是一个普通的DSP问题,但我想提出一个编程算法来做这个而不是一般的想法.
口音不是声音过滤器,而是声音过滤器。它是一种语言文本的声学实现模式。你不能录制美式英语,通过“振幅和滤波器阵列”运行它,然后弹出英式英语。DSP 的用途是实现韵律,而不是重音。
基本上(也是最简单的建模),重音由音素序列的语音实现规则组成。对口音的感知进一步受到韵律和说话者在阅读文本时选择的音素的影响。
语音生成过程有两个基本步骤:
文本到音素:将书面文本转换为音素序列(加上重音等超音段和话语边界等韵律信息)。这在某种程度上取决于口音(例如,美国和英国使用者之间“实验室”的输出不同)。
音素转语音:给定音素序列,根据方言的音素语音实现规则生成音频。(通常,您然后组合双音素,然后在声学上调整韵律)。这与口音高度相关,正是这一步赋予了口音的主要品质。一个特定的音素,即使在两种口音之间共享,也可能具有截然不同的声学实现。
通常这些是配对的。虽然您可以拥有一个使用美国发音的英国口音语音生成器,但这听起来很奇怪。
编写文本转语音程序是一项艰巨的工作(特别是,要实现一个通用方案,您必须录制母语人士讲该语言中每种可能的双音素),因此您最好使用现有的一。
简而言之,如果您想要英国口音,请同时使用英式英语文本到音素引擎和英式英语音素到语音引擎。
对于美国和英国英语、标准普通话、都会法语等常见口音,会有多种选择,包括您可以修改的开源口音(如下所示)。例如,看看FreeTTS和eSpeak。对于不太常见的口音,不幸的是,现有的引擎可能不存在。
带有外国口音的英语在社会上并不享有盛誉,因此完整的系统可能不存在。
一种策略是将现成的用于母语口音的文本到音素引擎与用于外语的音素到语音引擎相结合。例如,在美国学习英语的俄语母语人士可能会合理地使用“实验室”等单词的美式发音,并将其音素映射到他的俄语母语音素上,并像俄语一样发音。(我相信有一个网站可以为英语和日语执行此操作,但我没有链接。)
问题是结果太极端了。真正的英语学习者会尝试识别和生成其母语中不存在的音素,并且还会改变他对母语音素的认识以接近母语发音。结果与母语人士的匹配程度当然各不相同,但使用纯粹的外国极端听起来很荒谬(而且大多难以理解)。
因此,要生成可信的带有俄罗斯口音的美式英语(例如),您必须编写一个文本到音素引擎。您可以使用现有的美式英语和俄语文本转音素引擎作为起点。如果您不愿意找到并录制这样的扬声器,您可能仍然可以使用 DSP 组合来自这两个引擎的样本来获得不错的近似值。对于 eSpeak,它使用共振峰合成而不是记录的样本,因此可能更容易组合来自多种语言的信息。
另一件需要考虑的事情是,外国说话者经常在其母语音位学的影响下修改音素序列,通常是通过简化辅音簇、插入附加元音、或双元音化或破坏元音序列。
| 归档时间: |
|
| 查看次数: |
1485 次 |
| 最近记录: |