语音合成技术:https://zhuanlan.zhihu.com/p/113282101
流式语音合成技术揭秘与实践
1、非流式语音合成,一次性输入文字,一次性输出语音,注重语音合成系统的 整体运算速度 ,不适合做语音交互;流式语音合成,可以对输入文本进行分词断句、声学模型和声码器局部合成语音特征和音频,分段传回合成的音频,这种语音合成方式主要关注 首包响应时间 ,首包响应时间越短,用户就会越快收到响应,用户等待时间减少,就不会因为等待回应而失去耐心,因此整体体验感更好,更适合作为语音交互场景的语音合成方案。
2、流式语音合成和语音合成都是语音合成的一种形式,但两者之间存在一定的区别。
语音合成是将文本转换成语音的过程。通常,输入一段文字,语音合成系统会生成一个完整的音频文件,然后再将其播放出来。这种方式音频质量高,但需要等待音频文件生成完毕后才能播放。
而流式语音合成则是能够实时、动态地将文本转换成语音。这种方式可以边输入边输出,无需等待所有音频文件生成完毕,而且可以动态地调整音频的参数,如语速、音调等。它适用于需要实时将文本转换成语音的场合,比如在线客服语音回答、在线语音翻译等。
总之,语音合成更偏向于生成 complete 的结果,而流式语音合成则更适合于一边生成结果一边响应
3、在语音合成中,合成方式分为非流式合成和流失合成,非流失合成指的是一次性传入文本,一次性返回合成的文本音频;流式合成指的是文本传输给TTS时,TTS会分段传回合成的音频,这样可以减少语音合成的等待时间,在播报的同时也在合成,不用等到整段音频合成完再进行播报,所以对于语音合成时间的一个指标就是实时率。实时率等于文字合成所需时长除以文字合成的音频总时长,下面是实时率的计算公式:为什么讲实时率会说到非流失合成和流式合成,因为在流式合成场景中,开始合成的时候也就已经开始播报了,音频合成完成也就播报完成了,不会产生等待的过程,这种过程主要用于语音交互的场景,智能机器人收到语音信号之后,马上就可以给予答复,不会让用户等太久。所以为了确保用户的最佳体验,要求“文字合成所需时长”≤“文字合成出的音频时长”,也就是实时率要小于等于1 。
4、非流式合成适合语音输出,流式合成适合语音交互
语音合成分为非流式合成和流式合成,两者在实时性上有所不同。非流式语音合成,一次性输入文字,一次性输出语音,注重语音合成系统的整体运算速度,不适合做语音交互;流式语音合成,可以对输入文本进行分词断句、声学模型和声码器局部合成语音特征和音频,分段传回合成的音频,这种语音合成方式主要关注首包响应时间,首包响应时间越短,用户就会越快收到响应,用户等待时间减少,就不会因为等待回应而失去耐心,因此整体体验感更好,更适合作为语音交互场景的语音合成方案。
语音交互场景下,离线语音合成为更好的选择
目前,语音合成系统分为云端语音合成和离线语音合成。云端语音合成主要配套端到端或多层神经网络算法,语音输出质量高、算力强,但实时性更差,不适于语音交互;近年来,离线语音合成算法和算力得到逐步更新,一些参数化的合成方案质量也可达到一定的水平,适合于合成语音的交互类场景。
2 语音合成的基本流程
本教程主要讲解基于深度学习的语音合成技术,流水线包含 文本前端(Text Frontend)、声学模型(Acoustic Model) 和 声码器(Vocoder) 三个主要模块:
文本前端模块将原始文本转换为字符/音素
声学模型将字符/音素转换为声学特征,如线性频谱图、mel 频谱图、LPC 特征等
声码器将声学特征转换为波形