百度 Deep Voice – TTS (Text To Sound)

by allenlu2007

Reference: https://www.leiphone.com/news/201703/P1OEbKjpB0pHvHDA.html

Reference: https://arxiv.org/pdf/1702.07825.pdf

Medium

NewImage 

 

 

NewImage

 

Deep voice 包含以上三個部分:Grapheme-to-Phoneme; F0 Prediction; Audio Synthesis

 

Step 1: Grapheme-to-Phoneme 語素轉音素

以英语为代表的语言不是语音语言(phonetic)。

(雷锋网AI科技评论按:语音语言指的是单词拼写与读音一致的语言,比如拉丁语就是一种典型的语音语言,即单词中没有不发音的字母,每个字母都有固定的发音。 )

例如以下单词(参考于linguisticslearner),都带后缀“ough”:

1.thoug (和 go 里面的 o 类似 )

2.through (和 too 里面的 oo 类似)

3.cough (和 offer 里面的 off 类似 )

4.rough (和 suffer 里面的的 uff 类似)

注意,即使它们有相同的拼写,但它们的发音却完全不同。如果我们的 TTS 系统使用拼写作为其主要输入,即使有相同的后缀,在接受为什么”thoug”和”rough”发音如此不同上,会不可避免地会陷入困境。 因此,我们需要使用稍微不同的表达方式,展示出更多的发音信息。

音素正是这样的一样东西。我们发出来的声音由不同音素单位组成。将因素组合在一起,我们几乎可以 重复发出任何单词的发音。这里有几个拆分成音素的词语(改编自CMU的音素字典):

· White Room – [ W, AY1, T, ., R, UW1, M,. ]

· Crossroads – [ K, R, AO1, S, R, OW2, D, Z, . ]

在音素旁边的1,2等数字表示应该发重音的位置。此外,句号表示音间停顿。

因此 Deep Voice 的第一步是,利用一个简单的音素字典,把每个句子直接转换为对应的音素。

我们的句子

处理我们句子的第一步, Deep Voice 将具有以下输入和输出。

· Input – “It was earky spring”

· Output – [IH1, T, ., W, AA1, Z, ., ER1, L, IY0, ., S, P, R, IH1, NG,. ]

在下一篇博文中我们将介绍如何训练这样的模型。

 

Step 2: Fundamental Frequency Prediction 基頻預測

为了让发音尽可能地接近人声,我们还想要预测出每个音素的音调和语调。这一点从多方面考量,对以汉语为代表的语言尤为重要。因为这些语言中,相同的声音,读出不同的音调和重音具有完全不同的含义。预测每个音素的基频有助于我们发好每一个音素,因为频率会告诉系统,什么音素该发什么音高和什么音调。

此外,一些音素并不完全都发浊音,这意味着发这些音不需要每次都震动声带。

例如,拿发音“ssss”和“zzzz”做例子,注意到前者是清音 (unvoiced),发音时声带没有振动,而后者是浊音 (voiced) ,发音时声带振动了。

我们的基本频率预测也将考虑到这一点,预测出何时应当发清音,何时应该发浊音。

我们的句子

在这一步我们的例句会变成以下形式:

· Input – [IH1, T, ., W, AA1, Z, ., ER1, L, IY0, ., S, P, ., R, Ih1, NG,.]

· Output – [IH1(140hz),T(142hz),. (Not voiced),…]

-> 我認為這部分有很多的改進空間!!!

 

Step 3: Audio Synthesis 語音合成

語音合成是用 WaveNet 相同的架構。主要是優化 procedure 加速執行速度。

WaveNet 生成原始波形,允许生成所有类型的声音,不同的口音、情绪、呼吸和人类语音的其他基本部分都能包含在内,这样的声音和人类的声音区别就非常小了。此外, WaveNet 甚至能在这一步之上生成音乐。

在发布的文章中,百度团队通过优化程序的执行能力,特别是优化执行生成高频输入的能力来改进 WaveNet 。因此, WaveNet 需要几分钟来生成一秒钟的新音频,百度修改后的 WaveNet 可能只需要几分之一秒完成同样的任务,如 Deep Voice 的作者所述:

Deep Voice 可以在几分之一秒内合成音频,并在合成速度和音频质量之间提供可调谐的权衡。相比之下,以前的 WaveNe 合成一秒钟的音频需要几分钟的运行时间。

Advertisements