Advertisement

语音合成技术简介

阅读量:

本文总结了语音合成技术的发展历程与现状。传统语音合成系统主要包括前端模块(语言学特征提取)和后端模块(声学特征生成与波形重建),其优点是参数化简单易行但存在信息损失及人工干预问题;不足在于对不同语言的适应性较差且难以实现领域外文本的合成。
相比之下,端到端的语音合成系统通过直接输入文本或注音字符输出音频波形,显著降低了对语言学知识的要求,并支持多种语种批量处理。该类系统基于深度学习的方法(如Tacotron、DeepVoice、Transformer等)逐渐兴起并取得显著进展,在声码器模型算法(如MelGAN)方面也取得了突破性成果。
然而,现有技术仍存在一些局限性:例如 Tacotron 由于 Griffin-Lim 算法导致音质瓶颈;WaveNet 和 WaveRNN 速度较慢;MelGAN 虽然高效但依赖额外蒸馏与感知损失。未来研究将重点在于进一步优化现有模型或探索新的方法以提升合成效率与质量。

文章目录

导论
经典语音合成技术体系
整体架构设计
基于统计参数的语音生成
2.1 流程图设计
2.2 模型构建

二、基于端到端技术构建的语音合成系统

二、整体架构

二、1. 基于深度学习的语音合成

二、1.1. 系统流程可视化图

二、1.1.1. 特征提取算法设计

二、2. Tacotron的核心模块

二、3. DeepVoice系列模型

二、4. DeepVoice2版本

二、5. DeepVoice3与Tacotron2结合版本

二、6. Transformer架构应用

二、7. FastSpeech技术实现

复制代码
  * 2.3 声码器模型算法
  * * 1\. Griffin-Lim
* 2\. WaveNet
* 3\. WaveRNN
* 4\. MelGAN
  • 总结

前言

  • 语音合成技术亦称文音转换(Text To Speech, TTS),是一种将任意输入文本转化为相应语音的技术,在人机交互领域发挥着不可或缺的作用。
  • 传统的语音合成系统主要由前端处理模块后端生成模块两部分构成。其中前端模块通过对输入文本进行分析并提取所需的语言学信息。以中文合成系统为例,在这一过程中通常会涉及多个子模块:包括文字符号的正则化处理、词语分隔、词性标注预测等关键步骤。而后端生成模块则根据前端处理结果运用特定算法生成高质量的声音波形。
  • **传统语音合成系统的局限性主要体现在以下几个方面:其一 front-end系统对语言学知识要求较高且存在跨语言适应性不足的问题这通常需要特定领域专家的支持参与其二 back-end系统的参数建模往往存在信息丢失的问题限制了声音表现力的进一步提升同时拼接型系统还对大规模音频数据库有较高的依赖度并且人工干预较多难以满足大规模多语言需求。
  • 端到端语音合成系统则通过直接接收输入文本或注音字符并结合先进的算法自动生成高质量音频波形这种模式显著降低了对语言学知识的要求使得它能够方便地在不同语种间实现快速复制与批量处理支持几十甚至数百种语言的综合语音合成系统。
  • 根据所采用的核心算法思想不同总体上语音合成技术可分为两大类:一类是基于统计参数的传统方法另一类则是近年来兴起的基于深度学习的新一代方法

一、传统语音合成系统

1. 总体框架

在这里插入图片描述
  • 前端模块通常依赖NLP技术来提取文本的语言学特征。
    • 后端系统总体上可分为两种主要技术路线:基于统计参数建模的语音合成(Statistical Parameter Speech Synthesis, SPSS, 简称参数型合成)以及基于单元选择与波形拼接的语音合成(简称拼接型合成)。
    • 参数型合成:训练阶段通过上下文相关建模获取语音声学特征及持续时间信息;合成阶段运用时长模型与声学模型预测声学特征参数并施以后处理操作;最终通过声码器将处理后的声学特征转换为音频信号。(优点:适用于小规模声学数据库;缺点:可能导致声音过度平滑化及音质衰减现象。)
    • 拼接型合成:在训练阶段同样采用统计模型指导单元选择;而在生成阶段则通过计算代价矩阵来优化单元选取过程,并运用动态规划算法确定最优单元序列;随后对选中的单元进行能量归一化处理并完成波形拼接。(优点:可直接使用真实语音片段;缺点:依赖大规模语音数据库支持领域外文本处理能力有限。)

2. 基于统计参数的语音合成

2.1 系统流程图

在这里插入图片描述

首先通过特征提取器从文本中提取语言学特征随后统计生成模型(亦即声学模型)基于语言学特征生成声学特征接着另一个系统利用这些声学特性重建语音波形此类系统被称为声码器。
其次该生成模型的主要功能是将语言信息转换为可感知的形式从而辅助提升后续系统的准确性。
值得注意的是尽管声学模型无法直接产生真实的语音波形但其输出的结果却具有高度的复杂性和不可预测性因此必须采用中间表示形式如梅尔频谱来进行后续处理。
最后作为关键组件的声码器通过梅尔频谱等高维数据映射到低维空间以实现对原始音频信号的重建这一过程不仅需要复杂的计算资源还直接影响到最终合成效果的质量。

2.2 模型算法

在这里插入图片描述

在统计参数语音合成中,通常采用隐马尔科夫模型(H‐MM)作为基础。该方法通过决策树对文本提取的语言学特征进行聚类,并对每个类别训练相应的H‐MM模型。其主要功能是生成频谱系数序列以及一个标志位。该标志位指示待合成音频中哪些频段应包含真实的语音信号。随后应用最大似然参数生成算法(MLPG)对这些频谱系数进行采样,并将其送入MLSA编码器以生成最终的语音波形。研究者如Zen等已开始探索将传统参数化语音合成中的隐马尔科夫模型(HMM)替换为深度神经网络(DNN),初步实验表明这种方法能显著提升语音质量。

参考:基于深度学习的中文语音合成_陈梦楠(华东师范大学-硕士学位论文)

二、端到端的合成语音系统

1. 总体框架

在这里插入图片描述

为了解决传统语音合成技术存在的局限性而推动了端到端语音合成技术的发展,在研究领域中旨在尽可能地简化合成流程,并降低对专业知识的需求

参考:手把手教你打造端到端语音合成系统

2. 基于深度学习的语音合成

2.1 系统流程图

在这里插入图片描述
  • 文本预处理阶段:从中文文本中提取韵律信息,并完成每个汉字的注音序列转化。
  • 声学特征生成网络部分:基于文本前端输出的信息进行计算和分析,在此过程中将注音序列转换为梅尔频谱或线性谱形式。
  • 声码器模块的作用是通过频谱等声学特征创建语音样本点,并还原时域波形,在这一过程中特别关注梅尔频谱的还原质量。

2.2 特征网络模型算法

1. Tacotron

该系统实现了全面的端到端语音合成过程,在输入文本(或注音字符)后即可自动生成高质量语音波形(后续将进行详细说明)。论文参考
优势方面:
该系统显著降低了对特征工程的需求,在接受注音字符或直接输入文本后即可生成声音波形,并且所有的特征模型均实现了自动生成;
此外该系统支持多种条件设置(如语言种类、声色以及情感等),同时避免了多模块叠加带来的误差积累;
其主要缺陷在于:
尽管目前难以及时发现并纠正模型运行中的错误(即难以实现人工干预),但该系统的总体性能表现尚可;
值得注意的是该系统并非彻底的端到端架构,
因为Tacotron实际输出的是梅尔频谱(Mel-Spectrum),随后借助Griffin-Lim算法将其转换为最终的语音波形,
然而这一转换过程导致了语音质量上的瓶颈。

2. DeepVoice
  • 将传统参数合成的TTS系统分拆成多个子模块,每个子模块用一个神经网络模型代替。DeepVoice将语音合成分成5部分进行,分别为:文本转音素(又称语素转音素, G2P)、音频切分、音素时长预测、基频预测、声学模型。(后续会有详细介绍 。 论文参考
  • 文本转音素
    DeepVoice直接输入文本即可,但是由于不同语言存在“同字不同音”的现象,因此需要将文本转化为注音字符。对于中文而言,就是将汉字转化为拼音。

进行音频分割操作以确定各声母在音频中的起始与结束位置。基于Deep Speech 2: End-to-End Speech Recognition in English and Mandarin算法实现声母与语音信号之间的精确配准,并将所获对齐数据用于训练后续的“声母持续时间估计”模型。

该系统采用多任务学习架构进行设计与开发。
其核心功能包括:
(1)基于深度学习算法实现语音特征提取;
(2)通过神经网络模型完成声学参数建模;
(3)结合统计学习方法优化语音识别性能。
其中,
输入端接收经过标注处理的声学信号,
并完成以下几项关键处理:
首先,
对原始音频信号进行预处理以提取关键特征;
其次,
利用深度学习模型对这些特征进行分类与聚类;
最后,
通过统计分析方法实现最终决策。

该系统采用深度学习技术构建声学模型

优势方面:本方案采用了全面的TTS实现策略,在不依赖其他辅助模块的前提下实现了高质量语音合成;相比传统方法,在减少对人工标注数据的依赖程度上取得了显著进步;相较于基于端到端模型的方法,在合成速度和实时性方面具有明显优势;此外,在整体系统设计上充分考虑了可扩展性和维护性需求

不足之处:在该模型中累计的五个子网络产生的误差可能会导致整体语音质量下降;任何一个子网络出现故障都可能导致整个语音生成过程失败;尽管在该方案中减少了人工标注数据的应用量,在整体系统架构中仍需依靠音素符号和重音标记等方式来提取语音信息;这种直接采用文本输入的方式难以有效处理同一汉字不同声调的情况

3. DeepVoice2
  • 上文DeepVoice升级版,引入“说话人”向量,能够合成多种音色的语音。
  • 对DeepVoice的改进:
  • 音频切分模块和上代结构不变,但加入了batch normalizaiton和残差连接,对原始音频做平滑归一化处理,固定阈值来确定是否为静音音素。
  • DeepVoice使用一个模型同时预测音素时长和基频,而DeepVoice2分拆成两个模型。音素时长预测看作是序列标准问题,将连续时长离散化,模型为Neural Architectures for Named Entity Recognition。基频预测使用时长和音素作为输入,只输出发音概率和基频(DeepVoice还输出音素时长)。动机:联合预测还是独立预测,取决于任务之间是否相互促进,存在共同点,音素时长和发音概率&基频关联不大,所以分拆。连续时长离散化的理由在于音素时长不需要十分精准,音素边界存在10~30毫秒的扰动对合成音质无影响,而离散化后更容易处理。
  • 声学模型采用继续改进后的WaveNet
  • 增加“说话人”支持:在encoder、decoder和vocoder三处添加说话人信息,说话人信息是自动从语音数据中学习到的一个16维向量:
  • 音频切分模块,激活函数之前,说话人向量和batch normalization的结果做点乘
  • 音素时长预测模块,使用说话人向量初始化RNN,并和输入做拼接
  • 基频预测模块,使用说话人向量初始化RNN
  • 声学模型模块,说话人向量和输入做拼接
4. DeepVoice3 & Tacotron2

DeepVoice3 采用了卷积序列到序列模型架构来实现多说话人语音合成的具体过程。(具体内容将在后面详细说明,并提供相关论文参考:论文参考);Tacotron2 则采用了卷积神经网络架构设计生成多音素时间序列的过程。(具体内容将在后面详细说明,并提供相关论文参考:论文参考

5. Transformer
  • 模型主体仍是原始的Transformer结构,在输入阶段和输出阶段做了一些改变。在编码器的输入阶段,首先把文本转化为音素,对音素进行了词嵌入,然后进入编码器预处理网络。编码器的预处理网络主要是由3个卷积层组成,之后预处理网络的输出就会被送入Transformer前馈网络。(后续会有详细介绍 。 论文参考
  • 优势:在于训练速度大大提高,加快了2到3倍。
  • 缺点:实践上,有些rnn轻易可以解决的问题transformer没做到,比如复制string,或者推理时碰到的sequence长度比训练时更长(因为碰到了没见过的position embedding);
6. FastSpeech

微软提出了一种高效且可靠的语音合成方案,在构建过程中参考了Transformer架构的设计理念。该方案的主要优势在于实现了并行合成梅尔频谱的方式,并显著加速了声学特征生成的速度;同时去除了传统模型中依赖注意力机制的部分。LightTTS则旨在解决仅凭单语数据进行语音合成的问题。


参考:语音合成技术概述

2.3 声码器模型算法

1. Griffin-Lim

该算法设计用于仅基于幅度谱重建时域信号,在相位信息缺失的情况下实现波形重构。为了解决因丢弃相位数据而导致的信息恢复问题,在算法运行过程中需通过迭代方法不断推断和修正原始信号特征。(后续将详细阐述相关机制。 论文参考

2. WaveNet

优势

优势

3. WaveRNN

WaveRNN采用了全新的声码器架构设计,并采用了极为简洁的设计理念。该声码器主要由一个简单的单层循环神经网络构成,在模型参数规模上较之于其他同类方法更为紧凑。值得注意的是,在这一框架中嵌入了一种高效的稀疏矩阵乘法机制,在减少模型参数的同时也显著降低了计算复杂度。与现有的WaveNet算法相比,在合成速度上提升了约10倍。(后续将详细介绍相关技术细节。 论文参考

4. MelGAN

MelGAN基于非自回归前馈卷积架构,在不额外引入蒸馏和感知损失的情况下仍能生成高质量语音,并开创性地成为首个应用于时域波形合成的GAN方法。

总结

本文是对语音合成技术的综述性分析。未来计划将对相关算法进行系统性研究工作,并进行深入剖析。


本文参考来源如下:
第一篇来自《语音合成技术概述》,作者为孟南先生于2020年在个人博客中发表的文章。
第二篇是关于端到端语音合成及其优化实践(上),由Unisound团队开发。
第三篇则是该技术在实际应用中的进一步优化与改进(下),详细阐述了具体实现细节。
第四篇深入探讨了基于深度学习的先进算法与模型架构(上)、以及其在实际场景中的应用(下)。

全部评论 (0)

还没有任何评论哟~