文章来源于Generative AI,作者Feiteng

近几个月,coqui-ai/TTS 在社交媒体上大肆宣传其开源 TTS xtts v1 和 v2,引发了广泛关注和技术圈内的热议。coqui-ai/TTS已经有了五六年的历史,其核心团队是来自之前 mozilla 语音项目的一群资深人士。他们创造了知名模型 YourTTS(整合了 VITS 和大规模多语言数据)。今年以来,语音生成技术突飞猛进,YourTTS 也被作为 baseline 反复摩擦。

文章接下来以模型视角对 coqui-ai/TTS 推出的 xtts v1 和 v2 进行了评价和定位。

coqui-ai/TTSxtts v1

tortoise-tts copy 版,在多语言数据集上训练,模型配置:text+ Speaker 1 Vector-> GPT -> Tokens -> Diffusion+ Speaker 1 Vector-> Mel Spectrogram -> Vocoder;但模型却表现出一些不尽人意的地方:合成的文本和 Prompt 音频内容有一小部分接近,合成出来的音频大概率是 Prompt 音频的片段。

coqui-ai/TTS xtts v2

相比 v1 核心更新是通过使用Perceiver model 抽取 speaker信息生成32个表示说话者信息的潜在向量(v1 是生成 1 个 vector),作为GPT解码器的前,此外还替换v1Tokens -> Diffusion+ Speaker 1 Vector-> Mel Spectrogram -> Vocoder为v2Tokens + Speaker 32 Vectors -> Vocoder。

这两点修改并不新鲜

>>>> 使用32个向量代替1个向量作为 speaker prompt

  • NaturalSpeech2 就用 m 个向量去 query 动态长度的 speaker prompt

  • 论文《Efficient Speech Translation with Dynamic Latent Perceivers》也有类似的操作

  • 这个改法可以看作是不同程度的 prompt 压缩

    • 1个向量:大幅度压缩

    • 32个向量:中等程度压缩

    • 不压缩:保留全部 prompt,这是 VALL-E 的做法

>>>>Tokens + Speaker Vector -> Vocoder

  • 两年前Facebook 论文《Speech Resynthesis from Discrete Disentangled Self-Supervised Representations》 就这么干了

  • 这两年也有数篇论文采用了这个做法

尽管 coqui-ai/TTS xtts v2 的语音生成质量有所提升,但仍有很大的改进空间。另外,coqui-ai 团队在 LLM/GPT 方面仍显初级,未来有着无限的提升空间。

接下来的文章将陆续介绍:

  • 统一视角下的VALL-E、Bark、SoundStorm、Couqi/TTS-xtts v1 v2、tortoies-tts。

  • 如何借助“文本大模型”的技术进步来显著提升语音生成质量?

  • OpenAI TTS 会是怎样炼成的?

参考资料

  • https://github.com/coqui-ai/TTS

  • https://erogol.substack.com/p/xtts-v1-technical-notes

  • https://erogol.substack.com/p/xttsv2-notes