语音合成之十五 语音合成(TTS)分句生成拼接时的响度一致性问题:现状、成因与对策

发布于:2025-05-24 ⋅ 阅读:(21) ⋅ 点赞:(0)

现代文本转语音(Text-to-Speech, TTS)系统,特别是基于深度神经网络(DNN)的系统,在语音自然度和可懂度方面取得了显著进展 。这些系统通常通过将文本处理成较小的单元(例如句子、短语),然后将这些单元合成为音频片段,最终拼接成更长的语音。这种分段生成方法在管理计算资源、实现流式播报以及处理长篇文本方面非常普遍。

从基于拼接合成(依赖预先录制的语音单元)到统计参数语音合成(SPSS),再到如今的端到端神经模型(如Tacotron、FastSpeech、VITS、Cosyvoice),标志着TTS技术的巨大进步 。然而,这些先进方法也带来了新的挑战,特别是在维持独立生成片段之间的一致性方面。

引言:分段式文本转语音中的响度一致性挑战

响度不一致性指的是当独立合成的语音片段被拼接在一起时,在音量或感知响度上出现的可察觉的差异。这可能表现为在片段边界(例如句子之间)处响度的突然跳跃或下降。此问题不同于对完整音频文件的整体响度归一化;它特指在旨在形成连续语音流的拼接部分之间,相对响度的差异。用户的反馈,例如关于GPT-4o-mini-tts的报告,明确将此描述为“单一叙述中不一致的响度”,听起来像是叙述者反复靠近又远离麦克风 。这突显了该问题的感知影响。

一致的响度对于自然且愉悦的听觉体验至关重要 。突然的响度变化可能会让听者感到刺耳、分心,并降低合成语音的感知质量和专业性 。对于有声读物、虚拟助手和电子学习等通常包含长篇内容的应用而言,保持一致的响度对于听众的参与度和理解力至关重要 。不一致的响度可能使语音听起来不自然,甚至暗示说话人或录音条件发生了变化,从而破坏了实现无缝、类人语音合成的目标 。

尽管人类语音虽然动态多变,但在特定语境下通常保持连贯的响度水平,其变化服务于韵律目的。TTS在片段间产生突兀的、语境不当的响度变化 ,这并非自然人类语音的典型特征,除非是为了特定强调或由外部因素(如麦克风移动)引起。当TTS产生此类变化时,它偏离了预期的自然度,可能导致语音听起来“怪异”或“中断”,尽管单个片段的质量可能很高。

此外,响度变化可能会加剧其他拼接瑕疵(例如音色或语速的轻微变化),使得片段边界更加明显。响度是一个高度显著的感知特征 。如果一个片段边界已经存在细微的频谱或韵律差异,同时发生的响度急剧变化将更容易引起对该边界的注意,从而使拼接点更加明显,整体语音流畅性降低,因为多种线索都指向了一个“接缝”。

业界对响度差异问题的认知

商业和开源TTS系统的用户正积极报告此问题。例如,GPT-4o-mini-tts的用户注意到“影响所有新语音的音量波动”,其中“GPT-4o-mini-tts中引入的每个新语音在单一叙述中频繁表现出不一致的响度” 。这被描述为叙述者听起来像是在相对麦克风移动。这些报告通常强调,此类问题与先前模型相比是一种倒退,或影响了在生产环境中的可用性 。这表明,随着TTS模型变得更加复杂或旨在实现更大的表现力,像响度一致性这样的新挑战可能会出现或变得更加突出。

该问题具体表现为句子或短语之间音量的可听“跳跃”或“骤降”,听者感觉“说话人”似乎在靠近或远离麦克风 ,以及在理想情况下应具有相似韵律特征的片段之间能量水平不一致。在多说话人TTS中,或在不同说话风格或情感之间切换时,如果处理不当,这些问题可能会更加明显 。

端到端神经TTS模型学习从文本到声学特征或波形的复杂映射 。**当通过分块生成长音频时,模型可能会将每个块视为某种程度上独立的语句。如果没有明确的块间连贯性机制,模型可能会根据当前的文本和学习到的模式,为每个块的韵律参数(包括能量/响度)设定略微不同的局部最优值。**这可能导致如GPT-4o-mini-tts中报告的意外变化,这些变化可能并非明确“设计”出来的,而是在分段生成条件下模型行为的产物。

此外,追求更具表现力和类人化的TTS(例如,情感语音、多样的说话风格 )可能会无意中增加响度不一致的风险,如果这些表现力特征的控制机制在片段边界处没有得到完美的协调。表现力TTS旨在通过改变韵律(音高、时长、能量/响度)来传达情感或风格 。如果片段以不同的目标情感或细微的风格差异(即使是无意的,源于模型对文本的解释)生成,它们固有的响度水平可能会有所不同。在没有平滑处理或全局归一化的情况下拼接这些片段,会导致明显的响度跳变。因此,模型在每个片段中用于表现力的自由度越大,如果管理不当,片段间不一致的可能性就越高

拼接语音片段中响度变化的根本原因

分段拼接的固有挑战

  • 边界处的频谱失配:
    传统拼接合成面临的问题是,相邻单元的频谱特性(如共振峰、频谱倾斜度)无法完美对齐,导致可闻的不连续性 。尽管现代神经TTS生成的是特征而非拼接固定单元,但如果一个片段末尾和下一个片段开头的预测频谱特征不连贯,类似问题仍可能出现。Chappell和Hansen指出,突然的频谱变化可能被感知为说话人的改变,这突显了此类不连续性的感知影响 。频谱特性本身也会影响感知响度 。

  • 相位失配:
    拼接点处的相位不连续也可能导致瑕疵,尽管这更直接关系到波形平滑度而非整体响度感知 。

  • 缺乏片段间上下文感知:
    当TTS模型独立生成片段(例如逐句生成)时,每个片段的合成可能没有充分意识到前面或后面片段的韵律上下文。增量式TTS(iTTS)系统尤其受此影响,因为未来上下文严重影响韵律,包括能量/响度 。缺乏前瞻性可能导致次优的韵律选择,在片段连接时表现为响度变化。

各片段预测韵律特征的差异

现代TTS模型通常会为每个音素或帧预测韵律特征,如音高、时长和能量(与响度密切相关) 。如果这些预测是针对每个片段独立进行的,那么输入文本、学习到的偏差或模型中的随机因素的微小差异都可能导致片段间的平均能量水平不同。例如,FastSpeech 2在其方差适配器中包含一个能量预测器,用于建模帧级幅度 。如果该预测器为一个句子产生的平均值持续高于下一个句子,则在拼接时会发生响度跳变。SR-TTS在其节奏协调器中也具有能量预测器 ,旨在实现平滑的能量变化,但如果没有 overarching 的一致性机制,独立的片段生成仍可能带来挑战。

文本特征和模型行为的影响

  • 文本线索:
    标点符号、句子结构和语义重音都会影响片段的预测韵律。如果这些线索导致相邻片段的能量分布显著不同,则可能发生响度变化。例如,一个感叹句的合成能量可能整体高于前面的陈述句。

  • 模型敏感性和稳定性:
    某些模型可能对输入文本或内部状态的微小变化更为敏感,导致每个片段输出响度的可变性更大。能量预测在不同但相似的输入下的稳定性至关重要。

  • 情感TTS:
    在情感TTS中,不同的情感本身就具有不同的能量分布 。如果试图传达细微的情感转变(或者模型将中性文本误解为带有情感暗示)在不同片段中发生的方式不同,响度就会发生变化。

独立片段生成在每个边界处可能会产生一种“韵律重置”效应。模型可能会孤立地优化每个片段的韵律(包括响度),而没有对前一个片段韵律状态的强“记忆”。当一个新的片段开始时,模型基本上是为这段新文本“重新”开始其韵律规划。除非有明确的条件设置或机制来传递韵律状态(如某些先进的长文本模型 ),否则新片段的基线响度可能与前一个片段的结束状态响度不同。

此外,在分别预测时长、音高和能量的模型中(例如FastSpeech 2 ),一个预测器(例如时长)的错误或变化可能会间接影响能量/响度的感知自然度,即使能量预测本身在局部是连贯的。例如,一个不自然的长时间停顿后跟一个正常响度的片段,可能会使该片段听起来更响或更突兀。韵律是一个多因素现象,时长、音高和能量相互作用 。如果时长预测器为片段的最后一个音素分配了异常短的时长,或者在片段之间分配了异常长的停顿,下一个片段的感知起始可能会受到影响。即使下一个片段的物理能量水平在孤立状态下是“正确”的,其感知影响(包括感知到的响度变化)也可能因时长预测器创建的时间上下文而改变。

训练数据的不均匀性也可能是一个因素。如果TTS模型的训练数据在不同语句或说话人之间的响度不一致(没有适当的归一化或条件设置),模型可能会学习到将某些音素或语言环境与这些变化的响度水平联系起来,从而在合成新的、未见过的文本片段时导致不可预测的响度输出。神经网络TTS模型从大型语音数据集中学习 。这些数据集可能包含来自不同说话人、不同环境以及不同录制水平的录音 。如果在训练期间没有对响度进行一致的归一化或将其明确建模为可控特征,模型可能会隐式学习到文本特征与数据中存在的响度变化之间的虚假相关性。在生成片段时,这些学习到的相关性可能导致具有不同特征的片段具有不同的基线响度水平,从而在拼接时造成不一致。

缓解响度不一致的主流解决方案

解决TTS分段生成中的响度不一致问题,业界和学术界已探索多种方法,主要可分为后处理归一化、基于模型的响度与韵律控制,以及数据准备与生成策略优化。

后处理归一化技术

这通常是最直接的方法,应用于语音片段生成并拼接之后,或在拼接前对单个片段进行处理,目标是将音频幅度调整到一致的目标水平。

  • 常见归一化算法:
    • 峰值归一化(Peak Normalization): 调整增益,使最高峰值达到目标水平(通常为0 dBFS以防止削波)。虽然简单,但与感知响度的相关性不佳 。一个音轨可能峰值很高,但整体听起来仍然很安静。
    • 均方根(RMS)归一化: 根据信号在时间窗口内的平均功率调整增益 。这比峰值归一化更能反映感知响度,但未完全考虑人耳的频率感知特性 。TTSAudioNormalizer使用RMS幅度作为关键指标 。
    • LUFS(Loudness Units Full Scale)/ EBU R128: 这是感知响度归一化的现代标准,广泛应用于广播和流媒体领域 。它使用K加权(一种近似人耳听觉灵敏度的频率加权曲线),并测量整个音频的积分响度,以及瞬时和短期响度 。这确保了不同的音频片段听起来同样响亮,无论其峰值或RMS水平如何。Narakeet在其“归一化语音音量”选项中使用了EBU R128 。MATLAB的Audio Toolbox也提供了符合EBU R128标准的功能 。
  • 归一化工作流程:
    典型工作流程包括:1. 基本预处理(格式转换、采样率统一),2. 音频质量优化(直流偏移消除、音量归一化),3. 噪声处理,4. 质量检查 。像TTSAudioNormalizer这样的工具提供了批量处理功能,并使用SoX的 norm 效果,通常针对一个dB级别(例如-3dB)。如果未明确指出是LUFS,这很可能是一种峰值或RMS归一化。对于EBU R128,过程包括测量积分响度(例如,广播为-23 LUFS)并应用增益调整以达到目标 。

表1:后处理响度归一化技术比较

算法 原理 优点 缺点 典型用例
峰值归一化 将最高采样点调整至目标电平(如0 dBFS) 简单,防止削波 与感知响度关联差,可能导致整体音量不均 削波预防,简单电平调整
RMS归一化 基于信号的均方根值(平均功率)调整增益 比峰值归一化更能反映平均响度 未完全考虑人耳频率响应,可能受短暂高能量声音影响,仍非理想感知响度 传统音频处理,数据集初步音量对齐
LUFS/EBU R128 基于K加权滤波和时间门控的积分响度测量,模拟人耳感知 与感知响度高度相关,实现跨片段/节目的一致听感 算法相对复杂,不当使用(如过度压缩以达标)可能影响动态范围 广播、流媒体平台、专业音频制作

基于模型的响度与韵律控制

这种方法旨在TTS模型内部解决响度一致性问题,通过更精细的控制来生成本身就具有一致响度的语音。

  • TTS模型中的显式能量/响度预测:
    许多现代神经TTS模型,特别是非自回归模型如FastSpeech 2,集成了“方差适配器”(variance adaptors),可从输入文本中显式预测音高、时长和能量等韵律属性 。预测的能量轮廓随后用于调节语音合成过程。

    • FastSpeech 2: 其方差适配器包含一个能量预测器,用于预测STFT帧幅度的帧级L2范数,从而实现更可控和更多变的韵律 。
    • Tacotron 2: 虽然最初是自回归模型,但其变体和受其启发的后续模型通常包含韵律控制机制。一些研究探索了在Tacotron类模型中基于能量等声学特征进行条件化 。
    • SR-TTS: 包含一个“节奏协调器”(rhythmic harmonizer),带有韵律、音高和能量预测器,以增强自然度和时间一致性 。其能量预测器使用自注意力机制来捕捉相关性并提高合成准确性。
    • Milvus.io的文档 指出,像Tacotron或FastSpeech这样的神经TTS模型会分析输入文本以预测包括能量(响度变化)在内的韵律特征,并从训练数据中学习相关性。
  • 使用SSML标签进行音量控制:
    语音合成标记语言(SSML)是W3C标准,允许开发者向TTS系统提供关于如何将文本呈现为语音的更详细指令。

    • 标签及其 volume 属性是控制合成语音响度的标准方法 。其值可以是数字(例如Replica Studios中的-6dB到+6dB的dB调整 )或类别(例如“soft”、“medium”、“loud”)。
    • Webex Contact Center支持 ,遵循W3C SSML 1.0规范,默认值为“medium”(100或0 dB)。
    • 这允许在词或短语级别进行细粒度控制,但依赖于TTS引擎的实现,如果过度使用或片段仍以某种独立性处理,则可能无法保证平滑过渡。
  • 全局风格令牌(GSTs)和说话人嵌入:

    • GSTs可以学习并应用广泛的风格特征,其中可能包括整体能量或说话强度的方面 。
    • 说话人嵌入有助于保持一致的声音特性,这间接有助于韵律一致性,包括说话人典型的响度模式 。
    • StyleSpeech提出了风格自适应层归一化(SALN),根据从参考音频中提取的风格来对齐增益和偏差,这可能会影响响度 。
  • 可控TTS框架:
    研究越来越关注“可控TTS”,允许对各种语音属性进行细粒度操作,包括韵律(涵盖能量/响度) 。

    • 像Dia和Parler-TTS这样的模型提供情感和音调控制,这些与响度变化密切相关 。然而,并未总是详细说明用于拼接片段的显式响度一致性机制。
    • Naver Labs关于对比焦点的工作展示了通过文本标记对F0、强度和时长进行控制 。

表2:基于模型的响度/能量控制机制概述

模型/技术 控制机制 控制粒度 对响度一致性的影响 主要考量因素
FastSpeech 2 能量预测器 显式预测帧级能量 旨在生成具有目标能量轮廓的片段,有助于片段内和片段间的一致性 模型复杂度,训练数据对能量标注的依赖性
SR-TTS 能量预测器 显式预测能量,使用自注意力机制 提升能量预测准确性和平滑度,促进一致性 模型复杂度,计算开销
SSML 通过标记语言显式指定音量 词、短语、句子 允许手动调整片段响度以匹配,但依赖正确使用 需要外部(手动或自动)生成SSML标签,可能导致不自然过渡
全局风格令牌 (GSTs) 从参考音频学习并应用全局风格(可包含能量) 语句/片段 间接通过风格一致性促进响度一致性 控制的间接性,可能不足以解决所有响度跳变问题
可控TTS框架 (如Dia, Parler-TTS) 通过高级指令(如情感、音调)控制韵律 通常为语句/片段,或更细粒度 情感/音调与能量相关,但直接响度一致性控制可能不明确 控制的抽象程度,具体实现对响度一致性的影响各异

数据准备与生成策略

这类方法从数据源头和生成过程入手,力求从根本上减少响度不一致的产生。

  • 优化的文本分块策略:
    将长文本分割成小块进行TTS处理的方式,会显著影响韵律的连续性,包括响度。

    • 在自然的边界(如句子或从句)进行分块通常优于任意字符限制,因为这有助于保持自然的语音流 。Deepgram的文档讨论了按句子/从句边界分块以保持自然度 。
    • 动态分块根据文本结构和长度调整块大小,旨在平衡处理效率和自然度 。
    • 目标是避免在短语中间或以不自然的方式打断文本,这些方式如果作为独立单元合成,会导致韵律重置或能量的不自然变化。
  • 拼接片段间的过渡平滑技术:

    • 频谱平滑/插值: 历史上用于拼接合成,这些方法旨在使片段之间的频谱过渡更加平缓 。这包括最佳耦合、波形插值(WI)和基于LP的方法(极点移位、LSF插值)。虽然在现代端到端神经TTS(生成特征而非选择单元)中应用较少,但确保平滑特征过渡的原则仍然适用。
    • 波形插值(WI): 通过在时域或频域插值波形,创建新的、平滑的数据插入片段之间 。
    • 重叠相加(OLA): 一种常见的信号处理技术,通过重叠片段末端并进行交叉淡入淡出,平滑地连接音频片段。在增强拼接音频片段的上下文中提到了这一点 。
  • 片段间能量归一化(拼接期间或之前):
    这包括在拼接各个片段之前对其能量或响度进行归一化,以确保它们匹配目标水平或相互匹配。

    • Kumar等人关于用于语码转换ASR数据增强的Speech Collage的工作 描述了通过单元片段能量的平均值来归一化合成的语句,以消除片段间能量变化引入的瑕疵。为此提供了类似RMS的能量归一化公式: X ’ = x t / ( 1 / T ) ∗ Σ ( x t 2 ) , t = 1 , ⋯   , T X’={x_t/ \sqrt{(1/T)* \Sigma(x^2_t)} },t=1,\cdots,T X=xt/(1/T)Σ(xt2) ,t=1,,T
    • 这可以看作是一种更主动的后处理形式,应用于片段级别。

这些解决方案可以看作是在不同阶段起作用:1. 主动(数据/生成): 智能分块和训练数据归一化旨在从一开始就防止大的响度变化。2. 集成(基于模型): 能量预测器和SSML控制试图在合成过程中生成具有适当且一致响度的片段。3. 被动(后处理): 归一化算法在片段生成/拼接后修复响度不一致问题。一个稳健的系统可能需要结合这些方法。

此外,旧的/简单的方法(峰值、RMS归一化,基本能量预测)通常针对信号强度的物理度量。更先进的方法(EBU R128,复杂的韵律模型)则旨在实现感知响度的一致性,这更为复杂但能带来更好的用户体验。这反映了音频处理领域的更广泛趋势。最初控制响度的尝试可能集中于简单的度量,如峰值电平或RMS能量 。然而,人类对响度的感知是非线性的且依赖于频率 。像EBU R128这样的标准 之所以被制定出来,正是因为物理度量并不总是与感知响度相关,从而导致了“响度战争”。因此,那些包含感知模型(如EBU R128中的K加权)或在感知数据上训练模型的解决方案,在从听众角度实现真正的响度一致性方面可能更有效。

虽然经典的频谱平滑 是为单元选择合成而设计的,但确保独立生成的神经TTS片段之间声学参数空间(如梅尔频谱图)平滑过渡的原则仍然高度相关。现代的等效方法可能涉及学习到的过渡平滑器或特定的损失函数,这些函数会惩罚关键声学特征在拼接点处的突变。拼接合成连接预先录制的波形单元;平滑旨在减轻其声学特性的失配 。神经TTS生成声学特征(例如梅尔频谱图),然后由声码器转换为波形 。如果这些声学特征的片段是独立生成然后在声码处理前拼接的,特征空间中仍然可能出现不连续。因此,“平滑”过渡的概念仍然有效,但它将应用于预测的特征序列(例如,确保片段N的最后几帧梅尔频谱图平滑过渡到片段N+1的最初几帧)。这可以通过在特征域进行插值或通过明确学习使这种过渡平滑的模型架构来实现。

解决方案的原理与关键考量

后处理归一化

  • 采用原因(原理):

    • 简单性和广泛适用性: 可以作为几乎任何TTS系统生成的音频的最后一步应用,无需修改核心模型 。这使其成为现有流程的通用解决方案。
    • 感知响度对齐(尤其是EBU R128): 像EBU R128这样的标准旨在匹配人类对响度的感知,从而在不同片段甚至不同内容之间提供更一致和愉悦的听觉体验 。这对于满足广播或平台标准至关重要 。
    • 有效纠正严重差异: 能够有效拉平片段之间显著的音量差异。
  • 关键考量因素:

    • 可能改变动态范围: 激进的归一化,特别是峰值或简单的RMS归一化,如果不小心应用,可能会减小富有表现力语音的预期动态范围。例如,如果一个片段为了效果而故意设置得很安静,归一化可能会不适当地提高其音量,或者减弱一个故意设置得很响亮的片段的冲击力。基于LUFS并带有适当门控的方法通常能更好地保留预期的动态 。
    • 目标响度的选择: 目标水平(例如-23 LUFS, -14 LUFS)取决于应用和交付平台 。不一致的目标可能导致在与其他音频集成时出现问题。
    • 处理开销: 虽然通常效率较高,但对非常长的音频或大批量片段进行归一化会给TTS流程增加一个计算步骤 。
    • 逐段归一化与全局归一化: 在拼接前独立地将每个片段归一化到目标水平,由于内容密度的不同,仍可能导致轻微的感知差异。对完全拼接的音频进行归一化通常更有利于整体一致性,但逐段预归一化有助于管理极端异常值。
    • 保持音频质量: 归一化过程本身不应引入瑕疵。像SoX这样的工具旨在调整音量的同时保持原始质量 。

基于模型的控制

  • 采用原因(原理):

    • 集成且可能更自然的控制: 将响度控制构建到模型中,可以实现更细致和上下文感知的调整,这些调整可以从数据中学习,从而可能产生比生硬的后处理更自然的韵律 。
    • 从数据中学习响度轮廓: 模型可以从训练语料库中学习与不同语言结构、情感或说话风格相关的典型能量模式 。
    • 细粒度控制: 像SSML或内部预测器这样的技术可以在不同层面(音素、词、句)提供控制,允许有意识的韵律强调 。
    • 主动解决问题: 旨在生成本身响度就一致的语音,减少对后处理的依赖。
  • 关键考量因素:

    • 模型复杂度: 添加像方差适配器或风格编码器这样的组件会增加模型的大小和复杂性 。
    • 数据需求: 训练稳健的能量预测器或风格控制器需要大规模、多样化且标注良好(或至少录制一致)的数据集。模型需要看到足够多的响度变化示例才能有效地学习它们 。
    • 过度平滑或不自然控制的风险: 如果调整不当,显式的韵律预测器有时可能导致“平均”或过于平滑的韵律,缺乏自然的动态性。相反,控制不当的显式输入可能导致不自然的语音 。
    • 可控性与自动化: 虽然SSML提供显式控制,但它需要手动标注或复杂的上游NLP组件来生成标签。跨片段全自动预测自然能量轮廓仍然具有挑战性。
    • 对未见上下文的泛化能力: 模型必须能很好地泛化到新的文本输入和上下文,以保持一致的响度。Xie等人的综述讨论了实现完全可控TTS的持续研究,表明这仍然是一个活跃的领域。

数据准备与生成策略

  • 采用原因(原理):

    • 主动预防不连续性: 智能分块和数据准备旨在从一开始就防止导致韵律突变的条件 。
    • 保持自然语音流: 在自然语言边界处分块有助于TTS模型在每个片段内产生更连贯的韵律 。
    • 从源头减少瑕疵: 在特征或波形层面平滑过渡 可以直接在拼接点解决不连续性问题,可能比之后仅依赖全局响度归一化产生更清晰的音频。
  • 关键考量因素:

    • 分块对长程上下文的影响: 虽然在句子边界分块是好的,但某些韵律现象跨越多个句子(例如段落级语调)。过于激进的分块仍可能丢失一些长程连贯性。Deepgram的文档 指出,为了获得最佳延迟,请求应接近最大字符限制,这可能与纯粹的语言学分块相冲突。
    • 平滑算法的复杂性: 先进的频谱或波形平滑技术可能计算密集且难以正确实现 。如果应用不当,它们也可能引入自身的瑕疵 。
    • 确定何时需要平滑: 正如Chappell和Hansen 所讨论的,了解何时真正需要平滑非常重要,因为不适当的平滑会降低质量。这需要可靠的不连续性检测。
    • 片段间能量归一化的有效性: 对每个片段的能量进行归一化 是一个好步骤,但平均窗口的选择以及与片段内动态内容的相互作用需要小心处理,以避免削弱自然的表现力。

有效的响度一致性可能需要结合局部(片段内)韵律生成和全局(跨片段)归一化或连贯性机制。仅依赖其中一种可能不够。基于模型的控制(例如能量预测器)主要在当前合成的片段内局部操作 。后处理归一化通常在拼接的音频上全局操作,或在拼接前对单个片段操作 。

纯粹的局部方法可能会忽略更广泛的响度趋势,或者如果每个片段都是孤立优化的,则无法确保平滑过渡。纯粹的全局后处理方法可能会“掩盖”本可以在生成阶段更好地处理的问题,这可能会牺牲一些自然的动态性。因此,一个模型旨在实现良好的局部韵律,然后进行轻微的全局归一化以确保自然度和一致性的系统可能是最优的。

控制或归一化“响度”的哪个方面(峰值、RMS、LUFS、帧级能量)的选择对结果有重大影响。针对感知响度(LUFS)的解决方案通常能带来更好的用户体验,但与简单的能量预测相比,在模型内部实现可能更复杂。不同的度量标准捕捉响度的不同方面:峰值(瞬时最大值)、RMS(平均功率)、LUFS(感知响度) 。TTS模型通常预测帧级的“能量” ,这与RMS相关。后处理可以应用LUFS归一化 。如果一个模型能很好地预测帧级能量,但这些能量模式在片段间累加起来不能产生感知上一致的LUFS值,那么仍然需要后处理。理想情况下,基于模型的能量预测应遵循与感知响度一致的原则,或者模型应学习生成只需最少LUFS调整的输出。

对于高价值内容,一些解决方案(如SSML或Replica Studios 等平台中的微调控制)允许人工监督和调整。这承认了全自动解决方案可能并不总是能实现完美的一致性,特别是对于高度表达或复杂的内容。全自动TTS旨在无需干预即可达到高质量。然而,在各种长文本中实现完美的韵律一致性,包括响度,是非常具有挑战性的 。SSML 提供了对韵律的明确手动控制。像Replica Studios这样的平台提供微调控制 。这意味着对于关键应用,可能需要人工审查和调整TTS输出,包括响度,这表明当前的全自动解决方案对于所有场景并非万无一失。

先进技术与未来方向

面向长时连贯性的上下文感知TTS模型

  • 跨语句条件化: 正在开发一些模型,以便在合成当前片段时考虑周围的文本或声学上下文。
    • CUC-VAE S2(跨语句条件变分自编码器语音合成): 该框架 旨在通过从周围句子中提取声学、说话人和文本特征来生成上下文敏感的韵律特征,从而增强韵律和自然度。这直接解决了缺乏片段间感知的问题。它可以与FastSpeech 2等模型集成。
    • 情感对话语音合成(EDSS): 通过将先前语句的全局表示拼接起来作为TTS系统的条件,利用对话上下文 。虽然侧重于情感,但使用先前语句上下文的原则与整体韵律一致性相关。
  • 大型语言模型(LLMs)用于韵律规划: 正在探索LLM理解更广泛上下文并在更长的文本段落中规划韵律变化(包括能量)的能力 。Sigurgeirsson和King(2024)曾提示LLM预测相对基频和能量 。

分段变体码本(SVCs)

SVCs通过在多个语言层面(帧、音素、词、语句)编码语音,以便比固定的帧级离散语音单元更好地保留副语言和韵律信息 。通过在离散化之前对连续表示进行预池化,SVCs在保留片段级韵律特征(包括与强度/能量轮廓相关的特征)方面更有效。这可能在片段拼接时带来更一致的韵律 。

旨在实现固有韵律一致性的端到端模型

完全端到端TTS模型(直接从文本或音素生成波形)的趋势旨在减少多阶段流程的复杂性,并可能学习到更全面的语音表示,包括长程韵律依赖性 。像VITS 及其变体这样的模型试图学习捕捉语音变化的潜在表示。虽然这些潜在变量的随机性可能导致节奏和音高的变化,但目标通常是提高自然度,其中包括适当的韵律流。挑战仍然在于确保这些模型在分段生成的非常长的语句中保持一致性,特别是对于响度等方面。

响度一致性的客观与主观评估

  • 客观指标:

    • 标准的TTS指标如MCD、SNR、STOI 主要评估片段质量和可懂度,而非直接评估片段间的响度一致性。
      *需要用于衡量跨片段响度变化的指标。这可能涉及计算滑动窗口或每个拼接片段的LUFS或RMS能量,然后测量这些值之间的方差或跳变。
    • Timoney等人 的论文讨论了通过检查频谱差异来检测不连续性,并提及响度建模是感知语音质量度量的一部分。
    • Pantazis等人 在其用于不连续性检测的拼接成本中使用了与能量相关的特征。
    • HEGP指标 选择具有高于平均能量的语音主导时频谱区域,这可以用于分析能量一致性。
  • 主观评估(MOS、CMOS、MUSHRA):

    • 人类听众是感知响度一致性的最终裁判 。
    • 听力测试应特别要求评分者评估片段之间的响度平滑度或一致性,以及整体自然度。
    • 在MOS测试期间确保一致的音量水平对于获得可靠结果至关重要 。
    • Paper2Audio的评论 在其评估中包含了“能量”(声音的活力和吸引力)和“一致性问题”,这些都与响度有关。
    • 感知的连续性评估: 关于听觉连续性错觉的研究 探讨了即使存在中断,听众如何根据中断声音的性质和相对水平等因素将声音感知为连续的。该领域为人类如何感知音频流中的中断和变化提供了见解。

响度不连续性检测与量化研究

用于检测信号 或特别是语音 中突变(abrupt changes)的算法可以被调整,以识别拼接边界处显著的响度变化点。Timoney等人 提出,通过检查合成信号的频谱域可以揭示共振峰的不连续性,并由此推断其他突变。他们还在频谱距离测量的背景下提到了响度建模。Pantazis等人 使用非线性分析和与能量变化相关的特征(AM/FM分量)来预测可闻的不连续性。

即使使用上下文感知模型,在流式或低延迟生成过程中,实际可利用的未来上下文也存在限制。这个“视界问题”(horizon problem)意味着对于实时应用,完美的远距离韵律规划(包括响度轮廓)可能仍然难以实现,这使得稳健的局部控制和潜在的某些后处理持续发挥作用。上下文感知模型 通过观察周围的文本/音频来提高连贯性。然而,对于流式TTS,并非所有未来文本都可用。在等待多少未来上下文(增加延迟)和韵律预测质量之间存在权衡。这种固有的局限性表明,即使是先进的模型,在实时逐段生成非常长的、未见过的文本时,也可能无法完美预测理想的响度。

虽然LUFS能很好地测量整体响度,但量化片段间响度过渡的感知平滑度的特定指标尚不那么标准化。开发和验证此类指标是一个关键的研究方向。当前的客观指标侧重于片段质量(MCD)或整体响度(LUFS) 。当前的问题是关于片段之间的过渡和变化。虽然可以计算每个片段的LUFS并查看其差值,但该差值如何与感知到的不连续性相关联,还需要更多研究(类似于 研究一般不连续性的方式)。一个经过验证的“响度跳跃度”或“响度流畅度”指标将极大地有助于针对此特定问题的TTS系统的自动评估和优化。

未来的系统可能会采用自适应归一化,而不是固定的目标响度。这种归一化会考虑片段的语言内容和期望的表达力,旨在实现“自然范围”的响度变化,而不是一条平直线,但仍会平滑那些非预期的突兀跳变。人类语音的响度并非完全平坦;变化传达意义和情感 。当前的归一化通常针对单个LUFS值 。如果应用过于严格,这有时会降低表达力。先进的系统可以使用自然语言处理来理解片段的预期韵律,基于此理解允许一定范围的自然响度变化,然后专门针对并平滑那些在片段边界处被认为是非预期或刺耳的响度变化(即非语言动机的)。这将结合模型智能与有针对性的后处理。

结论与建议

分段式TTS中的响度不一致是一个公认的问题 ,它通过引起刺耳的音量变化影响用户体验。该问题源于独立的片段生成、缺乏完整的上下文感知以及预测的韵律特征(如能量)的变化。

主要解决方案可概括为三类:后处理归一化(简单,对严重错误有效,但可能影响动态范围 ),基于模型的控制(集成化,具有实现自然度的潜力,但复杂且数据需求大 ),以及数据/生成策略(主动性,有助于自然流畅,但分块有其局限性 )。

对从业者的建议

  • 整体性方法: 强调通常采用组合策略效果最佳:

    • 如果构建模型,则从高质量、一致归一化的训练数据开始。
    • 采用尊重语言边界的智能文本分块 。
    • 如果可用,利用具有强大韵律/能量预测能力的TTS模型 。
    • 实施感知响度归一化(例如,通过FFmpeg等工具实现EBU R128,或使用Narakeet等服务)作为标准的后处理步骤,特别是对于需要高度一致性的应用。
  • 优先考虑感知响度: 在选择归一化方法时,优先选择基于感知响度(LUFS/EBU R128)的方法,而不是简单的峰值或RMS方法,以确保更好的听觉体验 。

  • 针对特定上下文的选择:

    • 对于实时/流式应用:专注于基于模型的控制和高效分块,因为大量的后处理可能会增加不可接受的延迟 。增量式TTS研究在此具有相关性。
    • 对于离线生成(例如有声读物):可以采用更密集的后处理,甚至人工审查/调整(使用SSML或编辑工具 )。
    • 评估是关键: 定期进行专门针对响度一致性的主观听力测试,并结合客观测量,以指导开发和调整 。如果标准指标不足,考虑开发自定义的客观指标来跟踪片段间的响度变化。

解决响度不一致问题不仅仅是应用单一修复方法。它需要在TTS流程的各个阶段加以关注:数据准备、模型架构、生成策略和后处理。上下文感知模型 和韵律表示方面的未来进展有望实现更具固有一致性的长篇语音合成。

在TTS响度问题上,不存在“免费的午餐”。实现完美的响度一致性,特别是在高度表达和动态的语音中,需要权衡。激进的归一化可能会削弱表达;复杂的模型需要更多的数据和计算;手动控制不具可扩展性。从业者必须选择最能平衡其特定质量、成本和表达力需求的解决方案。用户希望获得一致的响度。简单的后处理(例如,硬性限制到某个LUFS目标)可以实现一致性,但如果原始内容非常富有表现力,则可能会降低自然的动态范围。基于模型的方法 旨在实现更自然、集成的控制,但增加了复杂性,并且可能并非完美。数据策略 有所帮助,但不能完全解决问题。因此,对于所有情况,并不存在单一的“最佳”解决方案;关键在于为特定应用找到合适的折衷方案。

此外,“自然度”是一个不断变化的目标。随着TTS模型在模仿人类表达能力方面越来越好,用户对一致性的期望也在提高。在较旧、更机械化的TTS中可能被接受的响度变化水平,在更新、听起来更自然的系统中可能会被视为缺陷。TTS质量已显著提高 。随着声音音色和语调自然度的提高,像响度变化这样的其他细微不一致之处,相比之下变得更加明显。将接近人类质量的TTS与实际人类语音进行比较的用户,会对一致性的所有方面抱有更高的期望。这意味着随着整体TTS质量的提高,响度一致性问题变得更加关键。


网站公告

今日签到

点亮在社区的每一天
去签到