语音合成概述

一、语音合成概述

语音合成,又称文语转换(Text To Speech, TTS),是一种可以将任意输入文本转换成相应语音的技术。

传统的语音合成系统通常包括前端后端两个模块。前端模块主要是对输入文本进行分析,提取后端模块所需要的语言学信息,对于中文合成系统而言,前端模块一般包含文本正则化、分词、词性预测、多音字消歧、韵律预测等子模块。后端模块根据前端分析结果,通过一定的方法生成语音波形,后端系统一般分为基于统计参数建模的语音合成(或称参数合成)以及基于单元挑选波形拼接的语音合成(或称拼接合成)。

对于后端系统中的参数合成而言,该方法在训练阶段对语言声学特征、时长信息进行上下文相关建模,在合成阶段通过时长模型和声学模型预测声学特征参数,对声学特征参数做后处理,最终通过声码器恢复语音波形。该方法可以在语音库相对较小的情况下,得到较为稳定的合成效果。缺点在于统计建模带来的声学特征参数“过平滑”问题,以及声码器对音质的损伤。

对于后端系统中的拼接合成而言,训练阶段与参数合成基本相同,在合成阶段通过模型计算代价来指导单元挑选,采用动态规划算法选出最优单元序列,再对选出的单元进行能量规整和波形拼接。拼接合成直接使用真实的语音片段,可以最大限度保留语音音质;缺点是需要的音库一般较大,而且无法保证领域外文本的合成效果。

传统的语音合成系统,都是相对复杂的系统,比如,前端系统需要较强的语言学背景,并且不同语言的语言学知识还差异明显,因此需要特定领域的专家支持。后端模块中的参数系统需要对语音的发声机理有一定的了解,由于传统的参数系统建模时存在信息损失,限制了合成语音表现力的进一步提升。而同为后端系统的拼接系统则对语音数据库要求较高,同时需要人工介入制定很多挑选规则和参数。

这些都促使端到端语音合成的出现。端到端合成系统直接输入文本或者注音字符,系统直接输出音频波形。端到端系统降低了对语言学知识的要求,可以很方便在不同语种上复制,批量实现几十种甚至更多语种的合成系统。并且端到端语音合成系统表现出强大丰富的发音风格和韵律表现力。

二、语音合成需求

尽管风格单一的TTS(通常是中性的说话风格)正接近人类专家录音的最高质量,但对表达性语音合成的`兴趣也在不断提高`。
VAE GAN是一种可以以无监督的方式学习复杂分布的生成模型,特别是,对潜在变量进行显式建模的VAE已成为最受欢迎的方法之一。为简单起见,与韵律相关的表达(情感和意图),用说话风格(Speaking style)来表示。

三、Variational Autoencoder

AE目标是使输入和输出图片的差异性最小,这也使得自编码器生成的图片多与输入相似,无法生成“新"的图片,2013年提出了新的生成模型——变分自编码
在这里插入图片描述
VAE中的编码器,对于每个隐性参数他不会去只生成固定的一个数,而是会产生一个置信值的分布区间,这是一种连续的表达方式,通过采样,我们就可以获得许多从来没有见过的数据了
在这里插入图片描述
在这里插入图片描述

三、关键技术

1.Wavenet

Tacotron能够将注音字符解压为频谱,需要声码器将频谱还原成波形。在Tacotron中,作者使用Griffin-Lim算法,从Linear-Spectrum中恢复相位,再通过短时傅里叶变换ISTFT还原出波形。Griffin-Lim算法简单,但是速度慢,很难做到实时。而且通过Griffin-Lim生成波形过于平滑,空洞较多,听感不佳。经过Tacotron2,可以看到,可利用采样点自回归模型提高合成质量。主要的采样点自回归模型有:1)SampleRNN; 2)WaveNet; 3)WaveRNN。这里以WaveNet为例。
在这里插入图片描述
上图描述了WaveNet这类采样点自回归模型的工作方式。模型输入若干历史采样点,输出下一采样点的预测值,也即是根据历史预测未来。这种工作方式和语言模型很像,只不过音频采样点自回归更难而已,需要考虑更长的历史信息才能够保证足够的预测准确率。

WaveNet是基于CNN的采样点自回归模型,由于CNN结构限制,为了解决长距离依赖问题,必须想办法扩大感受野,但扩大感受野又会增加参数数量,为了在扩大感受野和参数数量中寻求平衡,作者引入了所谓的“扩展卷积”。“扩展卷积”又称“空洞卷积”,就是在计算卷积时跨越若干个点,WaveNet堆叠多层一维扩展卷积,卷积核宽度为2,感受野随着层数的升高而逐渐增大。可以想象,通过这种结构,CNN感受野随着层数的增多而指数级增大。

训练好WaveNet,就可以合成语音波形了。但是由于没有添加语义信息,所以现在的WaveNet生成的波形完全是鹦鹉学舌。所以可以使用Tacotron生成的Mel-Spectrum作为输入,为其添加语义信息。由于采样点长度和Mel-Spectrum长度不匹配,需要想办法将长度对齐,完成这一目标有两种方法:一种是将Mel-Spectrum反卷积上采样到采样点长度,另一种是将Mel-Spectrum直接复制上采样到采样点长度。两种方法差异很小,为了保证模型尽量简洁,故而采用第二种方法。

2.Tacotron&Tacotron-2

真正意义上的端到端语音合成系统,输入文本(或注音字符),输出语音。
论文地址
结构为:Encoder -> Attention -> Decoder -> Post-processing -> Griffin-Lim转为声音波形。

Tacotron优势在于:减少特征工程,只需输入注音字符(或文本),即可输出声音波形,所有特征模型自行学习;方便各种条件的添加,如语种、音色、情感等;避免多模块误差累积

Tacotron缺陷:模型除错难,人为干预能力差,对于部分文本发音出错,很难人为纠正;端到端不彻底,Tacotron实际输出梅尔频谱(Mel-Spectrum),之后再利用Griffin-Lim这样的声码器将其转化为最终的语音波形,而Griffin-Lim造成了音质瓶颈。

Tacotron2主要改进是简化了模型去掉了复杂的CBHG结构,并且更新了Attention机制,从而提高了对齐稳定性

在这里插入图片描述
上图为Tacotron在paper中的总体结构,黄色为“输入”,绿色为“输出”,蓝色为“网络”。网络分为4部分,左侧为Encoder,中间为Attention,右下为Decoder,右上为Post-processing。其中,Encoder和Post-processing都包含一个称为CBHG的结构。所谓CBHG即为:1-D convolution bank + highway network + bidirectional GRU,如下图所示。
在这里插入图片描述
CBHG的网络结构如蓝色框所示,由一维卷积滤波器组,Highway网络和一个双向GRU组成,CBHG是一种强大的网络,常被用来提取序列特征

Encoder、Attention和Decoder构成了经典的seq2seq结构,因此Tacotron是一种seq2seq+post-processing的混合网络。

input: 为了避免各种语言的多音字,未录入词发音等问题,Tacotron通常将注音字符作为输入,例如中文可将“拼音”作为输入。这里有个很好用的汉字转拼音的python库:python-pinyin

Output: 根据不同用途,Tacotron可以输出Linear-Spectrum或者Mel-Spectrum两种频谱。如果使用Griffin-Lim作为频谱转波形的声码器(Vocoder),需要Tacotron输出Linear-Spectrum;如果使用WaveNet作为声码器,则Tacotron需要输出Linear-Spectrum或者Mel-Spectrum均可,但Mel-Spectrum的计算代价更小在Tacotron2中,作者使用了80维的Mel-Spectrum作为WaveNet声码器的输入

Seq2seq: seq2seq是学习序列到序列的模型,在机器翻译NMT等领域应用广泛。Tacotron套用了该框架。在seq2seq模块中,输入注音字符,输出Mel-Spectrum序列。引入低维Mel-Spectrum的目的在于帮助Attention收敛。该seq2seq模块中还包括了引入CBHG模块,Decoder模块每一时刻同时输出多帧等tricks。

Post-processing: 在Tacotron+WaveNet框架下,由Tacotron输入注音字符,输出频谱;WaveNet输入频谱,输出波形。post-processing模块加在Tacotron和WaveNet之间,主要目的在于串联多个帧,提高生成质量。seq2seq框架决定了Decoder只能看到前面若干帧,而对后面一无所知。但post-processing可以向前向后观测若干帧,参考信息更多,因此生成质量更高。下图中,上面为不加post-processing的声谱图,下面是加了post-processing的声谱图(横轴是离散傅里叶变换DFT)。可以明显看到,加了post-processing模块的声谱图更为清晰、锐利,特别是在低频部分,合成效果更好些。
在这里插入图片描述

3.Tacotron + WaveNet

可以参考基于Tacotron汉语语音合成的开源实践动手训练一个Tacotron模型。
在这里插入图片描述
上图为Tacotron的92k步时的对齐情况,表征的是编码器序列(文本,纵轴)和解码器序列(声谱,横轴)是否对应起来。观察训练是否达到预期的条件有两个:1)是否收敛,在上图中即为文本和声谱是否对齐,图中像素点越亮,对齐情况越好;2)loss值低于某阈值,loss值在0.07附近,表明效果已经比较好了。与之对应的,下图为Tacotron的140k步时的对齐情况,像素点模糊,loss值为0.086,训练效果并不好。

参考文献

1.https://www.cnblogs.com/mengnan/p/9474111.html地址
2.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/16432.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TTS | 语音合成常见数据集及数据格式详情

link 本文主要是介绍了语音合成中最常见的数据集(包含各个语种),及其格式等 外语数据集 1.LJSpeech 网址 : The LJ Speech Dataset (keithito.com) 数据集描述: 数据集大小:2.6GB 这是一个公共领域的语音数…

语音合成技术入门之Tacotron

语音合成TTS 学习李宏毅课程。 输入文字,输出语音。 端到端之前TTS 18世纪就有,能找到demo的是1939年VODER。 就像电子琴一样,用手控制发出不同声音。 到1960年,IBM计算机能合成出歌唱声。 波形拼接 过去最常用的商用语音合…

语音合成技术

关注52AI,做AI的行业领先者。QQ人工智能行业交流群:626784247. 01 本期分享的主题是语音合成技术,以下是本次分享的主要内容: 1.语音合成技术简介 1.1 什么是语音合成? 语音合成技术是将任意文本转换成语音的技术。是人…

语音合成技术简介

文章目录 前言一、传统语音合成系统1. 总体框架2. 基于统计参数的语音合成2.1 系统流程图2.2 模型算法 二、端到端的合成语音系统1. 总体框架2. 基于深度学习的语音合成2.1 系统流程图2.2 特征网络模型算法1. Tacotron2. DeepVoice3. DeepVoice24. DeepVoice3 & Tacotron25…

语音合成 - TTS gTTS

目录 1. 简单介绍 2. 代码示例 1. 简单介绍 https://gtts.readthedocs.io/en/latest/https://gtts.readthedocs.io/en/latest/ gTTS 是基于 Python 的文本转语音库,用于语音合成。 2. 代码示例 安装: pip install gTTS Python: from gtts import…

在线语音合成工具代码

语音合成软件语音合成助手免费版下载语音合成助手语音合成技术语音合成器语音合成工具下载语音合成软件哪个好用语音合成软件免费版语音合成网易有道智云语音合成网站 <div class"container mx-auto" id"app"><div class"card lg:card-side …

VITS 语音合成完全端到端TTS的里程碑

Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech&#xff08;ICML 2021&#xff09; KAKAO公司与KAIST韩国科学院&#xff0c;近年在TTS领域佳作频出&#xff0c;目前最主流的HiFiGAN声码器也是其成果。 目录 概览&#xff1…

MS-TTS:免费微软TTS语音合成工具(一键合成导出MP3音频)

声明 本工具是个免费工具&#xff0c;遇到问题&#xff0c;还请自行解决&#xff0c;下面有文字教程&#xff0c;B站有视频教程&#xff08;链接在文章末尾&#xff09;&#xff1b; 其次&#xff0c;微软接口卡顿&#xff0c;连接超时等问题下方有详细说明&#xff0c;请仔细…

某团mtgsig逆向学习

声明&#xff1a;本文仅限学习交流使用&#xff0c;禁止用于非法用途、商业活动等。否则后果自负。如有侵权&#xff0c;请告知删除&#xff0c;谢谢&#xff01;本教程也没有专门针对某个网站而编写&#xff0c;单纯的技术研究 目录 案例分析参数分析效果展示 案例分析 目标案…

高通量代谢组学四路筛选法,揭秘“神药”二甲双胍延长寿命的机制

百趣代谢组学分享—研究背景 目前据统计中国糖尿病患者人数达9700万以上&#xff0c;数量达到世界第一。这其中2型糖尿病占到了90%以上。二甲双胍是目前治疗2型糖尿病的一线“明星”药物&#xff0c;因其较少出现低血糖和体重增加副作用而受到广大患者和医生的青睐。代谢组学文…

推荐:ChatGPT指令大全(37个)

使用时&#xff0c;可参考这些语境。会问问题&#xff0c;才是最重要的。 AGI 时代必备&#xff1a;《提问的艺术——让ChatGPT导出高质量答案》38 赞同 7 评论文章 1. 写报告&#xff1a;我现在正在 [报告的情境与目的]。我的简报主题是 [主题]&#xff0c;请提供 [数字] 种…

启蒙教师周志华亲自讲解,机器学习视频课上线了

主讲&#xff1a;周志华&#xff0c;南京大学教授 人工智能从1956年正式成为一个学科&#xff0c;机器学习是人工智能的核心研究领域之一。今天的“人工智能热潮”正是由于机器学习等技术取得了巨大进展&#xff0c;并基于大数据、大算力发挥出巨大威力。 《机器学习初步》课…

斯坦福| ChatGPT用于生成式搜索引擎的可行性

文&#xff5c;智商掉了一地 随着 ChatGPT 在文本生成领域迈出了重要一步&#xff0c;Bing 浏览器也接入了聊天机器人功能&#xff0c;因此如何保证 Bing Chat 等搜索引擎结果的精确率和真实性也成为了搜索领域的热门话题之一。 当我们使用搜索引擎时&#xff0c;往往希望搜索结…

ChatGPT应用-ArxivGPT谷歌插件 解放正在苦苦读论文的你

一句话介绍 总结arXiv中论文的关键点&#xff0c;并提供重要见解 详细介绍 ArxivGPT是一个谷歌Chrome插件&#xff0c;可帮助您快速了解arXiv论文的内容。只需单击一下&#xff0c;即可总结论文并提供关键见解&#xff0c;节省您的时间并帮助您快速掌握主要思想和概念。无论…

【ChatGPT】【Sloved】Access denied,Error reference number: 1020

问题描述 You do not have access to chat.openai.com. The site owner may have set restrictions that prevent you from accessing the site. Ray ID: 7b25a4dfce2a985bTimestamp: 2023-04-04 01:05:37 UTCYour IP address: 2602:feda:dd7:a0ba:4166:9982:e009:2e35Reque…

旋律生成学习日记(一)

123因为自己做音频方向&#xff0c;偶然看见了旋律生成这个东西&#xff0c;就想自己学着做一做&#xff0c;网上现有文章不多&#xff0c;我自己瞎琢磨琢磨。 第一章转自&#xff1a;(64条消息) 基于深度学习LSTM算法生成音乐_lstm生成音乐_lbship的博客-CSDN博客 MID数据集…

国内唯一可以在本地搭建Stable Diffusion WebUI教程-安装时无需魔法安装全程流畅到尖叫

Stable Diffusion是什么 Stable Diffusion简称SD是一款Ai图片生成工具。“输入几句话,生成精美图片。” 比如说我一开头这幅图片就是用的SD生成的。 我在我的“ChatGPT让我变成了“超人”-如何提升团队30%效能质量提高100%的阶段性总结报告”里提到过midjourney,但是midjou…

电子表格软件的开山鼻祖 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 5 月 11 日&#xff0c;在 1995 年的今天&#xff0c;我国成为第六个研制成功磁悬浮列车的国家。磁悬浮列车利用“同性相斥&#xff0c;异性相吸”的原理&#…

行业报告 | AIGC发展研究

原创 | 文 BFT机器人 01 技术篇 深度学习进化史:知识变轨 风起云涌 已发生的关键步骤&#xff1a; 人工神经网络的诞生 反向传播算法的提出 GPU的使用 大数据的出现 预训练和迁移学习 生成对抗网络 (GAN) 的发明 强化学习的成功应用 自然语言处理的突破 即将发生的关键…

手把手带你快速实现直播聊天室

废话不多说&#xff0c;直接开干&#xff01; 工具要求&#xff1a; (1) Android Studio 3.2或更高版本。 (2) SDK targetVersion至少为26。 本文聊天室是集成环信IM SDK实现聊天功能&#xff0c;及实现发送礼物、点赞和弹幕等功能。视频直播采用的是七牛相关的推拉流SDK。app …