美文网首页音频
TTS的两种实现方法

TTS的两种实现方法

作者: 007独自散步 | 来源:发表于2019-05-07 18:25 被阅读0次
TTS.jpg

TTS(Text-To-Speech,从文本到语音)
我们比较熟悉的ASR(Automatic Speech Recognition),是将声音转化为文字,可类比于人类的耳朵,而TTS是将文字转化为声音(朗读出来),类比于人类的嘴巴。

大家在siri等各种语音助手中听到的声音,都是由TTS来生成的,并不是真人在说话。

TTS的实现方法,主要有2种:“拼接法”和“参数法”——

1、拼接法

1)定义:从事先录制的大量语音中,选择所需的基本单位拼接而成。这样的单位可以是音节、音素等等;为了追求合成语音的连贯性,也常常用使用双音子(从一个音素的中央到下一个音素的中央)作为单位。
2)优点:语音质量较高
3)缺点:数据库要求太大。一般需要几十个小时的成品预料。企业级商用的话,需要至少5万句,费用成本在几百万元。

2、参数法

1)定义:根据统计模型来产生每时每刻的语音参数(包括基频、共振峰频率等),然后把这些参数转化为波形。主要分为3个模块:前端处理、建模和声码器。
前端做的事情,是把文本进行解析,决定每个字的发音是什么,这句话用什么样的语气语调,用什么样的节奏来读,哪些地方是需要强调的重点,等等。常见的语气相关的数据描述包含但不限于下面这些:韵律边界,重音,边界调,甚至情感。 还有更多的信息甚至是难以客观描述的,目前的算法只能暂且忽略。
注:拼接法和参数法,都有前端模块,拼接和参数的区别主要是后端声学建模方法的区别。
2)优点:数据库要求相对较小一些。
如果只需要出声(做demo),大概500句就可以,但是效果肯定不行。
通用TTS,一般至少需要5000句,6个小时(一般录制800句话,需要1个小时)。——从前期的准备、找人、找录音场地、录制、数据筛选、标注,最终成为“可以用的数据”,可能至少需要3个月。(讯飞在各方面比较成熟,用时会短很多)
个性化TTS,大多数是用“参数”方法的。(adobe、微软也有尝试过拼接法,不过相对参数方法来说不是太成熟,效果也并不是太通用)
3)缺点:质量比拼接法差一些。因为受制于发声算法,有损失。
因为主要弱点和难点就是声码器。声码器的作用是复现声音信号,难在重现声音细节,并且让人听不出各种杂音、沉闷、机械感等等。目前常见的声码器都是对声音信号本身作各种理论模型以及简化假设,可以说对细节的描述近似于忽略。
而DeepMind的wavenet,基本解决了声码器的问题。因为他们直接对语音样本进行预测,不依赖任何发音理论模型。最后出来的音质细节十分丰富,基本达到了与原始语音类似的音质水准(所谓质量提高了50%,就是这里)。而且几乎可以对任意声音建模。目前wavenet的缺陷是计算量问题,速度太慢。大概100倍实时的量级,所以没有办法直接实用。
今年开始火起来的end-to-end的TTS建模方法,加上wavenet的声码器思想,才是未来TTS的发展方向。

相关文章

网友评论

    本文标题:TTS的两种实现方法

    本文链接:https://www.haomeiwen.com/subject/nxvyoqtx.html