语音克隆(XTTS)

XTTS 论文提出 XTTS 系统,其方法建立在 Tortoise 模型之上。

核验日期

定义

XTTS 论文指出,大多数零样本多说话人 TTS(ZS-TTS)系统只支持单一语言。论文的引言指出,多数 TTS 系统基于单个说话人的声音定制,但目前有人关注仅用几秒语音为训练中未见过的新说话人合成声音。论文提出 XTTS 系统并将其公开发布。

论文称,其方法建立在 Tortoise 模型之上,并加入若干新的修改,以支持多语言训练、改进语音克隆,并加快训练和推理。论文报告,XTTS 在 16 种语言上训练,并在其中大多数语言上取得了最先进(SOTA)的结果。

一图看懂

论文称,XTTS 建立在 Tortoise 之上,并包含若干新的修改,以支持多语言训练、改进 ZS-TTS,并加快训练和推理。

  • VQ-VAE 有 13M 个参数,接收梅尔频谱作为输入,以 21.53 Hz 的帧率用 1 个含 8192 个码的码本编码每一帧。
  • 条件编码器由 6 个 16 头缩放点积注意力层以及后接的 Perceiver Resampler 组成,用于生成固定数量的嵌入,与输入音频长度无关。
  • GPT-2 编码器是一个仅含解码器的 Transformer,有 443M 个参数。
  • GPT-2 编码器接收通过含 6681 个词元的自定义字节对编码(BPE)分词器得到的文本词元,并输出预测的 VQ-VAE 音频码。
  • 解码器基于 HiFi-GAN 声码器,有 26M 个参数。
  • 解码器还以来自 H/ASP 模型的说话人嵌入作为条件。
  • 解码器的说话人嵌入通过线性投影加入每个上采样层。
  • 为提高说话人相似度,论文还加入了说话人一致性损失(SCL)。

原文没有明确这些要点的先后顺序,因此按要点列出,不画先后箭头。

工作原理

论文称,XTTS 是支持低资源和中等资源语言的大规模多语言 ZS-TTS 模型。论文称,其模型不需要平行训练数据集,就能进行跨语言 ZS-TTS。论文的初步实验发现,在大规模多语言训练中,只使用单个嵌入会降低模型的说话人克隆能力。

论文在初步实验中验证,过滤掉出现较少的码可以提升模型的表现力。论文指出,由于 VQ-VAE 的压缩率很高,直接从 VQ-VAE 码重建音频会导致发音问题和杂音。为加快推理,论文用 22.5 kHz 的音频信号训练 VQ-VAE 和编码器。

论文在结论中称,XTTS 模型比 VALL-E 更快,原因是其编码器以 21.53 Hz 的帧率生成词元,而 VALL-E 模型为 75Hz。XTTS 数据集由公开数据集和内部数据集组成,其中英语部分使用了来自 LibriTTS-R 的 541.7 小时和来自 LibriLight 的 1812.7 小时。XTTS 和 YourTTS 使用配有 80 GB 显存的 NVIDIA A100 GPU 训练,其中 XTTS 使用 4 块 GPU。

论文的实验 3 用 XTTS 数据集训练 XTTS 模型,约 2.5M 步。

例子

在论文的模型对比中,每种受支持语言使用了来自 FLORES+ 的 240 个句子。对于每个说话人,论文随机选取一段 3 到 8 秒的音频,作为测试句子生成时的参考。为比较合成声音与原说话人的相似度,论文使用 ECAPA2 说话人编码器计算说话人编码器余弦相似度(SECS)。

论文使用 Whisper Large v3 模型计算字符错误率(CER),以评估发音准确度。论文还通过比较 XTTS 与 HierSpeech++ 和 Mega-TTS 2 模型来测量用户偏好分数。在说话人适应部分,论文选取了约 10 分钟的语音样本,来自知名或风格独特的声音(例如耳语声音),涉及不同语言。

论文选择了 3 位英语说话人、3 位葡萄牙语说话人、1 位中文说话人和 1 位阿拉伯语说话人。论文报告,微调后的模型在以跨语言方式克隆这些声音时,SECS 从 0.5852 提高到 0.7166。

来源

本页内容整理自以下官方来源,点击可核对原文。

核验日期 ·

本页由 AI 依据上述官方来源整理,并经自动核对,未经本站实测。 发现错误?告诉我们。