跳转到内容

输入关键词开始搜索

    无音素级时长 TTS 的文本—语音对齐机制对比

    对比分析更新 2026-08-17置信度 high#语音合成#对齐#DiT#深度#进阶

    七篇工作真正的分水岭不是“用不用 duration”,而是如何先决定长语音序列的总长度,再把短文本序列放到这条时间轴上:前缀 filler、均匀展开、句级长度 + attention、固定窗口,或从 forced alignment 稀疏化出锚点。

    模型 文本→语音时间轴 总长度从哪来 声学表示 / 主干 论文中的可懂度口径
    E2 TTS 字符后补 filler 到 mel 同长,self-attention 隐式对齐 外部估计或人为给定 TT 100-dim mel / 335M Transformer CFM LibriSpeech-PC WER 1.9–2.0
    F5-TTS E2 filler + ConvNeXt V2 文本精炼 参考语音的字符—帧比例估计 mel / 336M DiT CFM Seed test-en 1.83;LS-PC 在不同复现表中 1.88 或 2.42
    ZipVoice phone states 做 Average Upsampling,余数位用 filler 参考 speech/text ratio 估计 TT mel / 123M Zipformer CFM LibriSpeech-PC WER 1.67–1.68
    DiTTo-TTS token cross-attention 学细粒度对齐 独立 Speech Length Predictor 10.76 Hz Mel-VAE / DiT continuation 1.78;cross-sentence 2.56;2.93–3.07 为特定小模型/消融
    SimpleSpeech text/speaker/time/duration 作为 diffusion Transformer prefix 训练用真实句长,推理用 GPT-3.5 估计 scalar latent / GPT2-like diffusion Transformer LibriTTS WER 3.3
    E3 TTS BERT token cross-attention 固定 10.92 s,后处理裁静音 24 kHz waveform / 1D U-Net DDPM 未报 WER/CER;单说话人 MOS 4.24
    MegaTTS 3 / S-DiT 每音素保留一个 sparse anchor,attention 补细节 音素时长/锚点来自对齐与 duration 管线 25 Hz WaveVAE / LLaMA-style RF Transformer LibriSpeech 1.82;LibriSpeech-PC 2.31
    无音素级时长 TTS 文本到语音长度桥接 对比图
    无音素级时长 TTS 文本到语音长度桥接 对比图

    NAR diffusion/flow TTS 在推理前至少要回答两个问题:

    1. 长度问题:目标语音要生成 TT 帧/latent tokens?
    2. 对齐问题LL 个文本 tokens 在 TT 个语音位置中分别对应哪些范围?

    E2/F5 只取消了第二问的显式音素级答案,第一问仍需给定总时长。DiTTo/SimpleSpeech 把第一问降级为句级预测,第二问交给 attention。E3 用固定窗口回避第一问。MegaTTS 3 则从显式对齐中抽出少量锚点,同时约束两个问题。

    2. filler token 与 Average Upsampling 的差别

    Section titled “2. filler token 与 Average Upsampling 的差别”
    • E2/F5:文本仍是前缀,后面的大量位置都是相同 filler。优点是极简;缺点是对齐起点很弱,需更大数据/模型学出单调关系。
    • ZipVoice:若 phone 数为 NN、语音帧数为 TT,每个 phone state 重复 T/N\lfloor T/N\rfloor 次,剩余位置才用 filler。它不是真实时长,但给了更接近帧坐标的粗脚手架。

    ZipVoice 删除 Average Upsampling 后 WER 从 1.68 升到 20.19,说明就算“均匀错开”也比“全在前缀后面填空”的起点强得多。

    3. cross-attention 不是自动的可懂度保证

    Section titled “3. cross-attention 不是自动的可懂度保证”

    E3、DiTTo 都使用 text cross-attention,但两者结果差异很大:

    • E3 在 raw waveform 上做 1000-step DDPM,输出固定 10.92 秒,只报单声道主观 MOS。
    • DiTTo 先把语音压到 10.76 Hz,再用经 speech-text 联合预训练或语义注入的表示,并另外预测总长度。

    因此真正的组合是 cross-attention + 合适时间分辨率 + 语义对齐的条件/目标 latent + 可靠总长度。只把 attention 模块放进 U-Net/DiT 并不会自动得到稳定 TTS。

    4. sparse alignment 是中间点,不属于 alignment-free

    Section titled “4. sparse alignment 是中间点,不属于 alignment-free”

    MegaTTS 3 先获得完整音素时长,再每个音素只留一个锚点。它依然支付了 G2P/aligner 的数据准备成本,但生成器不再被每一帧 hard path 绑定。这是“完整 forced alignment”与“纯隐式 attention”之间的折中。

    从消融看,sparse 与 forced 的 WER 几乎一样(1.82 vs 1.80),sparse 的 CMOS 高 0.17;无任何 alignment 时 WER 2.14。因此作者的核心论据是韵律—稳定性折中,不是稀疏对齐在绝对 WER 上胜过完整对齐。

    用户给出的数字来自至少四种口径:

    • LibriSpeech-PC 的不同 prompt 采样/复现实现;
    • LibriSpeech continuation 与 cross-sentence 两种任务;
    • Seed-TTS test-en;
    • LibriTTS test-clean。

    同一模型 F5-TTS 就会出现 1.83、1.88、1.96、2.42 等多个值,原因是数据、checkpoint、ASR、prompt 和文本正规化不同。所以这些数字适合说明“该方法在自己设置下已可懂”,不适合作为一张绝对排行榜。

    研究目的 最值得看的方法 原因
    学极简 mel-flow baseline E2 TTS / F5-TTS 最少对齐组件,任务定义清晰
    小模型高效 flow TTS ZipVoice 123M Zipformer、粗展开与 4 NFE 蒸馏
    研究 text cross-attention 如何稳定对齐 DiTTo-TTS 有完整的长度、latent、语义注入与架构消融
    研究 scalar latent 与 prefix conditioning SimpleSpeech SQ-Codec 和句级长度的早期组合
    理解 waveform diffusion TTS 的早期尝试 E3 TTS 直接 waveform + cross-attention,但局限也最清楚
    研究强稳定与韵律自由的折中 MegaTTS 3 / S-DiT 每音素一锚点,保留 duration control 且减少 hard path 约束