如果不能正常显示,请查看原文 , 或返回

如何评价谷歌下一代语音合成系统WaveNet?

听我慢慢讲。通常来说,TTS技术包含3个模块:前端处理、建模和声码器。

这是目前最主流的参数化合成方法的3个模块。

而另一种常见拼接式合成严格地说没有声码器部分,但也可以看作是一种例外:它的声码器就是直接选取原声片断信息。拼接式合成最大的缺点就是数据库太大,因为需要保存大量的原音信息。

参数化合成方法只需要保存一份不太大的参数模型,而且能够更简单的修改语音的一些基本参数(基频,基频波动范围,语速,甚至音色等),可以说更实用。但其主要弱点和难点就是声码器。声码器的作用是复现声音信号,难在重现声音细节,并且让人听不出各种杂音、沉闷、机械感等等。目前常见的声码器都是对声音信号本身作各种理论模型以及简化假设,可以说对细节的描述近似于忽略。所以,效果比不上拼接式合成的原声音质是自然的。

目前主流的合成系统里,声码器是一个比较核心的竞争力。最后出来的声音好坏,与此有十分直接的关联。

deepmind提出的wavenet也没有声码器,它相当于是将建模和声码器两个模块整合在了一起,通过建模手段直接输出了声音信号。普通的声码器都有理论模型,都是做了很多假设和简化了的。但是wavenet直接对语音样本进行预测,不依赖任何发音理论模型。最后出来的音质细节十分丰富,基本达到了与原始语音类似的音质水准(所谓质量提高了50%,就是这里)。而且几乎可以对任意声音建模(这就太牛了)。

因此,wavenet的出现基本宣告声码器的问题在TTS里是一个有解的难题了。前面有人说,组里有人说他做的很多事都obsolete了,应该就是指改进声码器所做的努力吧。

目前wavenet的缺陷是计算量问题,速度太慢。大概100倍实时的量级,所以没有办法直接实用。但是现在也有了很多新的尝试,在减少计算量上面有了很大进展。但是好像速度既快又没有音质损失的还没有,应该很快就有更好的方案。

但是,仅仅有wavenet是不是TTS问题就算完结了呢?没有!

最前面说了,TTS还有一块就是前端。wavenet并没有涉及前端改进。用的还是传统的前端模式。

前端做的事情,是把文本进行解析,决定每个字的发音是什么,这句话用什么样的语气语调,用什么样的节奏来读,哪些地方是需要强调的重点,等等。前面有人指出wavenet的中文语音还略有不自然,其实主要就是前端不完善。

说他们的前端不完善不是他们做得不好,而是前端本来就很难,还涉及了自然语言理解的方方面面。更主要的是,前端这一难点会带来数据准备的困难。相同的文字可以有不同的表达方式,不同的说话气口,不同的关注重点,怎么样描述这些微妙的变化才是最难的。统计方法要区别这些不同点,就要对训练数据加以区别标注,这任务可就大了。因此最终,数据问题才是TTS的终极问题。

个人认为,今年开始火起来的end-to-end的TTS建模方法,加上wavenent的声码器思想,才是未来TTS的发展方向。

原创作品,转载需告知。

返回