8

这个问题的第一部分现在是它自己的,在这里:Analyzing Text for Accents

问题:如何将口音添加到生成的语音中?

我想出了什么:

我指的不仅仅是重音符号,或屈折变化,或任何类似的单数。我的意思是完整的英国口音、苏格兰口音或俄罗斯口音等。

我认为这也可以在语言之外完成。例如:俄语中的某些内容可能带有英国口音,或者普通话中的某些内容可能带有俄罗斯口音。

我认为基本过程是这样的:

  1. 分析文本
    • 与数据库(或类似的东西)进行比较以确定什么需要重音,它应该有多强等等。
  2. 生成指定语言的语音
    • 使用普通的文本到语音处理器很容易。
  3. 根据分析的文本确定指定的重音。
    • 这是有问题的部分。
    • 我认为一系列幅度和滤波器最适合下一步。
  4. 网格语音和口音。
    • 这将是容易的部分。
    • 它可能通过将语音乘以口音来完成,就像许多其他 DSP 方法一样。

这实际上更像是一个一般的 DSP 问题,但我想提出一个程序算法来做到这一点,而不是一个一般的想法。

4

2 回答 2

4

这个问题本身并不是真正的“编程”:它是语言学。编程比较容易。对于分析,这将非常困难,事实上,让用户指定口音可能会更好;还是您要使用自动故事阅读器?

但是,现代文本到语音的基本口音是可行的。你知道国际音标吗?http://en.wikipedia.org/wiki/International_Phonetic_Alphabet 它基本上列出了人类声音可能发出的所有声音。重音只是从字母表到自身的映射(一个函数)。例如,要使美国人的美国口音听起来像英国人(尽管不足以使英国人听起来像英国人),您可以去除单词中间的所有“r”音。因此,例如,齿槽颤音将被浊小舌擦音所取代。(很多极端案例都可以解决这个问题)。

长与短:这并不容易,这可能是没有人做过的原因。我敢肯定,一些语言学教授会说这是不可能的。但这就是语言学教授所做的。但是你基本上需要阅读几本关于口音和发音的厚厚的教科书才能在这个问题上取得任何进展。祝你好运!

于 2012-03-21T10:10:46.503 回答
2

什么是重音?

口音不是声音过滤器;它是一种语言中文本的声学实现模式。你不能录制美式英语,通过“振幅和滤波器阵列”运行它,然后弹出英式英语。DSP 有用的是实现韵律,而不是口音。

基本上(并且最容易建模),重音由一系列音素的语音实现规则组成。对口音的感知进一步受到韵律以及说话者在阅读文本时选择的音素的影响。

语音生成

语音生成的过程有两个基本步骤:

  1. 文本到音素:将书面文本转换为一系列音素(加上重音等超音段,以及话语边界等韵律信息)。这在某种程度上取决于口音(例如,“实验室”的输出在美国和英国说话者之间有所不同)。

  2. 音素到语音:给定音素序列,根据方言对音素的语音实现规则生成音频。(通常你会组合双音素,然后在声学上调整韵律)。这是高度依赖口音的,正是这一步赋予了口音的主要品质。一个特定的音素,即使在两个口音之间共享,也可能具有截然不同的声学实现。

通常这些是成对的。虽然您可以拥有一个使用美国发音的英国口音语音生成器,但这听起来很奇怪。

生成具有给定口音的语音

编写一个文本到语音的程序是一项巨大的工作(特别是,要实现一个通用方案,你必须录制一个母语人士说该语言中每种可能的双音素),所以你最好使用现有的一。

简而言之,如果您想要英国口音,请使用英式英语文本到音素引擎和英式英语音素到语音引擎。

对于美式和英式英语、标准普通话、都市法语等常见口音,将有多种选择,包括您可以修改的开源口音(如下所示)。例如,看看FreeTTSeSpeak。对于不太常见的口音,不幸的是,现有的引擎可能不存在。

说带有外国口音的文字

带有外国口音的英语在社会上不是很有声望,因此可能不存在完整的系统。

一种策略是将用于母语口音的现成文本到音素引擎与用于外语的音素到语音引擎相结合。例如,在美国学习英语的母语为俄语的人会合理地使用 labour 等单词的美国发音并将其音位映射到他的母语俄语音位上,并像俄语一样发音。(我相信有一个网站可以为英语和日语做这个,但我没有链接。)

问题是结果太极端了。一个真正的英语学习者会尝试识别和生成在他的母语中不存在的音素,并且还会改变他对母语音素的认识以接近母语发音。结果与母语人士的匹配程度当然会有所不同,但使用纯粹的外国极端听起来很荒谬(而且大多难以理解)。

因此,要生成合理的美式英语和俄语口音(例如),您必须编写一个文本到音素的引擎。您可以使用现有的美式英语和俄语文本到音素引擎作为起点。如果您不愿意找到并录制这样的扬声器,您可能仍然可以使用 DSP 组合来自这两个引擎的样本来获得一个不错的近似值。对于 eSpeak,它使用共振峰合成而不是录制的样本,因此可能更容易组合来自多种语言的信息。

另一件需要考虑的事情是,外语人士经常会在其母语的音韵影响下修改音素序列,通常是通过简化辅音簇、插入辅音元音或双元音或中断元音序列。

有一些关于这个主题的文献。

于 2012-03-24T02:06:28.100 回答