语音合成(TTS)是语音AI平台的基础设施,而声码器则决定着其中的声学模型以及合成质量。喜马拉雅FM音视频高级工程师 马力在LiveVideoStack线上交流分享中详细介绍了新一代合成音质更高,速度更快的开源免费WORLD声码器的原理架构,并结合Tacotron模型,演示中文语音合成的应用。本文由LiveVideoStack整理而成。

文 / 马力

整理 / LiveVideoStack

直播回放

https://www.baijiayun.com/web/playback/index?classid=19011464750298&token=CsIfi1xWq7ThKKZLIMQ5hiQNTSk0P2AyhhMp79C4U-kb-AOqYz3LwsEdteadTNg-CqdH1zJ1Si0

大家好,我是马力,现就职于喜马拉雅FM担任音视频高级工程师,本次我将为大家介绍开源声码器WORLD在语音合成中的应用。

1. Tacotron+WORLD

WORLD声码器可与谷歌的开源语音合成模型Tacotron结合使用,如何实现这一过程呢?Tacotron是一种端到端的TTS深度学习模型,所谓“端到端”是指利用前端文本直接预测后端声谱,整合了之前的独立子模块,达到系统整体最优;WORLD则是一种声码器,与Tacotron结合可基于人类发音频谱将文字转化为与人类发音相似的声音:将每个文字转化为拼音之后,声码器会把每个拼音看作为一个序列而Tacotron会在此基础上预测每段需要合成语音的序列,随后WORLD声码器再将预测出的声谱转换为原始的声音波形。Tacotron主要负责确定此声谱特征能否使用WORLD将其恢复为声音波形并评估语音质量是否符合要求。

1.1 WORLD Vocoder

WORLD Vocoder基于声音特征实现,主要分为三个部分:Analysis分析、Manipulation操作与最后的Synthesis合成。Analysis分析过程主要是指从一段原始声音波形中提取声学特征如线性谱、低频、MFCC;Manipulation操作过程是指对提取出的原始声学特征进行压缩等降维处理使其表征能力进一步提升;最后的Synthesis合成过程是把此声学特征恢复至原始的声音波形。

既然WORLD Vocoder基于声学特征实现,那么就需要相应的声学建模。实际上所有的Vocoder都可通过一种简单的模型实现,此模型就是线性时不变系统。如上图展示的那样,左侧代表声音输入,右侧代表声音输出。输入部分被称为Source Excitation Part也就是激励部分,右侧输出结果被称为Vocal Tract resonance Part也就是声道谐振部分。整体过程为一个基于人发声机理的经典源-滤波器模型,也就是输入的激励部分通过线性时不变系统进行操作;随后输出的声道谐振部分作为合成语音。如果对应人体发声结构进行分析,激励部分对应肺部气流与声带共同作用形成的激励,而声道谐振部分对应于声道的调音运动。

1)激励部分

激励分为两种:Pulse train脉冲激励与White noise随机白噪声。脉冲激励对应我们说话声音当中的浊音,也就是气流通过紧绷的声带时,对声带进行冲击所产生的声音;此时声门处会形成准周期性的脉冲串,我们把这种激励信号简化为周期性的脉冲激励。

随机白噪声对应我们说话声音当中的清音,也就是声带处于松驰状态不发生振动时气流通过声门直接进入声道所产生的声音;我们把这种激励信号简化为随机白噪声。

2)声学特征

WORLD对应以下三种声学特征:F0基频、SP频谱包络与AP非周期序列。F0基频对应激励部分的周期脉冲序列,如果我们将声学信号分为周期性信号与非周期信号的话;SP频谱包络对应声道谐振部分时不变系统的冲激响应,大家可以看到经过此线性时不变系统之后Vocoder会对激励与响应进行卷积;AP非周期序列对应混合激励部分的非周期脉冲序列,因为所处理的信号包括周期性信号与非周期信号,虽然可以在混合时仅处理周期性信号并将其作为特征提取,随后再进行系统处理也能够合成相应的目标信号,但其由于缺乏非周期性信号的输入,合成的自然度难以符合要求,因此我们会混合提取非周期信号并同样将其作为特征之一进行提取与处理。

对比三种声学特征,正弦波组成的原始信号中频率最低的正弦波即为基频,其它正弦波则被称为谐波(泛音);频谱包络是指将不同频率的振幅最高点通过平滑的曲线连接起来得到的包络线;非周期序列对应混合激励部分的非周期脉冲序列,其中的混合激励是指通过多种参数控制周期激励、噪声与非周期信号,最后混合周期与非周期信号并通过aperiodicity调控二者权重。

1.2 优势

那么我们为什么选择WORLD 作为Vocoder呢?WORLD相对于常见的如STS等其它传统声码器的优势有以下三点:

首先是声音质量,WORLD Vocoder输出声音的质量优于其它传统声码器,其输出结果有人类自然语言的听感效果;而传统声码器输出声音不但质量欠佳,如机器般冰冷生硬的听感也非常不好。

其次WORLD的处理速度也高于传统声码器,处理速度是语音合成中一项十分重要的指标,我所知的一些基于神经网络的声码器虽然可以实现高质量的声音合成但速度却十分低下,究其原因在于神经网络需要对每一个样本点进行处理;假设一段48k采样的音频,其每一秒中包括48000个采样,如果对每个采样都进行处理无疑会大大拖慢处理效率;而WORLD声码器有其独特的处理效果如无损提高语音合成速度等,同时质量不会出现任何衰减。

最后是开源,WORLD的算法没有专利性而且开放给任何人使用。相对于其它需要额外花费购买商业版权的声码器,WORLD的优势十分明显。

2. WORLD分析功能

WORLD分析功能的整体架构图如上,我们将一段语音输入系统并得到此段声音的一个特征体系,我们可以存储这部分特征并在需要时读取;语音信号经过一系列合成最终输出目标信号,WORLD会重点提取原始波形中的基频、频谱包络与非周期信号,这三种声学特征对应三种提取算法:负责提取基频的DIO、将提取的F0基频同波形一块输入提取频谱包络SP的CheapTrick,以及将F0、SP和波形一同输入提取非周期信号的D4C,最终将三种声学特征通过合成算法输出恢复其原始波形信号。

2.1 Fundamental Frequency——DIO算法

DIO算法通过一个低通滤波器对原始信号进行滤波得以实现对基频的提取,具体过程为从某个时间点的正弦波中提取出四个周期信号并计算置信度也就是标准差,随后选择标准差最低的作为基频。

2.2 Spectral Envelop——CheapTrick

上图展示了声学特征中的包络。我们的声音包含不同频率的信号,覆盖0到18000赫兹,每个频率都有其振幅(以分贝为单位),我们定义每种频率波的振幅最高点连线组成的图形为包络。

我们有三种提取包络声学特征的方法:LPC、Cepstrum与CheapTrick。LPC就是线性预测编码,其原理为用若干个语音取样过去值的加权线性组合不断逼近一个语音取样值;Cepstrum则是基于复数倒谱拥有频谱幅度与相位信息的原理,通过对一个信号进行FFT、取绝对值、取对数、相位展开、IFFT的变化处理,从而得到其相应的倒谱图实现。

而WORLD中采取的CheapTrick也被称为音高同步分析的方法,其过程是先将不同基频进行适配加仓操作与平衡以及功率平滑操作,随后将信号在频域进行同态滤波操作。

2.3 Aperiodicity——D4C

非周期信号对应两种提取算法:Plantinum算法与D4C算法,在WORLD中我们主要采用D4C算法,基本可分为计算、修正参数与估计Band-aperiodicity。

2.4 应用

我们可以在一些开源的工程项目中见到对上述内容的应用如Python Wrapper。借助Python实现整个特征提取过程:首先通过DIO提取基频,再通过基频中的CheapTrick提取包络;得到基频与包络后再通过D4C得到一个非周期信号,我们将原始波形作为输入信号,利用其采样率、快速傅里叶变换的次数,以及帧移(frame period);最后返回这三个音频特征。

3. 神经网络优化

需要强调的是,单纯的基频、频谱包络与非周期信号结合基于神经网络训练的深度学习技术并不能达到我们期待的理想效果,其原因在于维度过高,尤其是频谱包络与非周期信号的高维特点使得未经优化的特征可达一千多纬度,这为神经网络的训练带来很大压力。而Merlin-WORLD通过实现维度转换有效降低维度,首先是MGC也就是将提取到的MFCC特征降低到60维度从而方便神经网络的训练;其次是将一个非周期信号转变为一个band非周期信号,以48KHz采样为例,经过此操作可实现将一千维度降低至5维;基频则保持原来维度不变。这样我们就可将以上三种特征维度连接起来,变成小于一百维的特征输入Tacotron模型从而实现理想的训练与深度学习效果。

上图展示了我们提取声学特征后恢复原声音波形得到的频谱,可以看到图像基本清晰,整体方法是利用Tacotron端对端TTS深度学习模型预测文本的声谱并通过WORLD声码器还原声谱。相信下图展示的参考资料会帮助大家进一步了解Tacotron+WORLD的无限魅力。

dcs world f15c教学_开源声码器WORLD在语音合成中的应用相关推荐

  1. 开源声码器WORLD在语音合成中的应用

    语音合成(TTS)是语音AI平台的基础设施,而声码器则决定着其中的声学模型以及合成质量.喜马拉雅FM音视频高级工程师 马力在LiveVideoStack线上交流分享中详细介绍了新一代合成音质更高,速度 ...

  2. dcs world f15c教学_如何避免DCS故障带来的损失

    DCS系统是由系统软.硬件.操作台盘及现场仪表组成的.系统中任何环节出现问题,均会导致系统部分功能失效或引发控制系统故障,严重时会导致生产停车.实际上,相当多的DCS故障是由一些日常的小细节引起,在日 ...

  3. dcs world f15c教学_新概念英语 | 第二册(Lesson 93)教学视频/课文音频/精讲笔记...

    点 击 上 方 蓝 字 关 注 我 们 教学视频? Lesson 93 A noble gift 崇高的礼物 First listen and then answer the question. 听录 ...

  4. LiveVideoStack线上交流分享 (十) —— 开源声码器WORLD在语音合成中的应用

    为了给大家提供一个学习,交流的平台,畅聊音视频技术开发新趋势,新实践.我们推出了LiveVideoStack线上交流分享活动,在每周四晚19:30,邀请1名业内资深技术专家进行线上分享技术干货,解答热 ...

  5. dcs world f15c教学_DCS信号干扰原因分析及解决方法,收藏备用!

    原标题:DCS信号干扰原因分析及解决方法,收藏备用! 导 读 随着我国工业的发展,对工业控制系统自动化水平的要求也在不断提高,为了满足自动化控制的要求,DCS系统已经广泛运用于工业自动化控制.因此,D ...

  6. Python 实例教学_ 04_排序

    Python 实例教程 Python 实例教学_ 04_排序 第十九课 [870. 优势洗牌](https://leetcode.cn/problems/advantage-shuffle/) [90 ...

  7. Python 实例教学_ 03_列表

    Python 实例教程 Python 实例教学_ 03_列表 第十三课 [844. 比较含退格的字符串](https://leetcode.cn/problems/backspace-string-c ...

  8. 计算机专业教语文,语文教学_嵌入_于计算机专业教学的研究与实践..doc

    语文教学_嵌入_于计算机专业教学的研究与实践. 语文教学"嵌入"于计算机专业教学的研究与实践 绍兴市职教中心 戴智敏 提 要:本文阐述了语文教学"嵌入"于计算机 ...

  9. tensor flow lstm 图像 一条直线_【开源计划】图像配准中变形操作(Warp)的pytorch实现...

    前言 按照开源计划的预告,这次我来分享图像配准流程中的变形操作的代码实现.首先我们先来回顾一下配准的流程,我们以这篇Unsupervised End-to-end Learning for Defor ...

  10. 开源精神_开源精神-网络礼节可能微妙

    开源精神 I got a disturbing email today on Flo's mailing list (of Notepad2 fame). Florian Balmer is the ...

最新文章

  1. Pytorch固定随机性
  2. 《Linux内核设计与实现》读书笔记(十三)- 虚拟文件系统
  3. jzoj3379-查询【主席树】
  4. Kafka刚开启就秒退
  5. python控制语句字符串截取_菜鸟python---流程控制语句
  6. java list类_java_List集合及其实现类
  7. 快速提高看盘能力的十大方法
  8. MFC线程自定义消息
  9. em算法 实例 正态分布_人人都能看懂的EM算法推导
  10. sharepoint 2007,sharepoint 2010网站的备份还原
  11. python可视化图表生成(一)
  12. 微信小程序 下拉刷新
  13. Open Gapps各版本介绍
  14. 关于Linux备份文件和应用的几个命令:tar和cp
  15. java环境_linu安装jdk
  16. 能上QQ,不能上网的解决方法
  17. 读书笔记:《乌合之众--这是一本书》
  18. 几行Python代码帮你生成精美词云图
  19. 【C语言程序设计】实验 4
  20. iOS 中饼状图的自定义绘制

热门文章

  1. Arm 中国原 CEO 被“罢免”,新指定“官方”:已获员工大力支持
  2. 阿里巴巴技术大牛赏鉴
  3. 02 - i3wm 安装、配置TIM WeChat
  4. python通信工程定额_通信工程2008版定额和2017版定额简单对比
  5. 高数/线性代数常用公式/技巧
  6. 测试路由速度软件,服务器网络测试工具PING测试和路由Tracert测试工具使用和区别...
  7. 音频参数测试软件,音频测试参数详解.doc
  8. 模糊集合及运算1.4
  9. mysql数据库基本知识点整理笔记
  10. 板绘如何厚涂?绘画时应该怎样厚涂?教你利用SAI结合数位板进行厚涂绘画!