mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7
2212 字
6 分钟
[TTS] Spark-TTS:音色自由克隆
2026-07-29

Spark-TTS 论文解读:音色与内容”分头行动”,想克隆谁就克隆谁#

论文:Spark-TTS: An Efficient LLM-Based Text-to-Speech Model with Single-Stream Decoupled Speech Tokens(arXiv<2503>.01710) 作者/机构:科大讯飞(iFlytek,SparkAudio 团队,联合港科大、西工大、上交等高校;Xinsheng Wang、Lei Xie、Wei Xue 等)

到 2025 年,零样本 TTS 已经不算新鲜事了,大家的差距开始体现在两个地方:一是效率,二是可控性。Spark-TTS 把这两件事一起解决了。它用自家设计的 BiCodec 编解码器,把语音干净利落地拆成两股 token——一股管”说的内容”,一股管”谁在说”——然后用一个小而美的 Qwen2.5-0.5B 语言模型去生成。拆开的红利是巨大的:想要音色,直接调”音色 token”就行,根本不需要参考语音;在 Seed-TTS-eval 中文评测集上,字符错误率(CER)低到 1.20。同时它开源了带详尽属性标注的 VoxBox 数据集(约 10 万小时),等于连”弹药”都替社区备好了。


一、BiCodec:把语音”解耦”成一语义一音色#

传统 TTS 的编解码器(比如 RVQ 那类)把语音压成多码本的 token,内容是内容、音色是音色,全都混在几层码本里,模型要靠猜才能把它们分开。Spark-TTS 的 BiCodec 直接釜底抽薪,用**单流(single-stream)**设计把语音解耦成两种 token:

  • 低码率语义 token(low-bitrate semantic tokens):专门承载语言内容,你说了哪些字、什么句调,它管;
  • 固定长度的全局 token(global tokens):专门承载说话人属性——性别、音色、说话习惯,一句话对应一个定长向量。

这个解耦设计是整套系统的地基。因为”内容”和”音色”在 token 层面就分家了,模型生成的时候不需要再学”怎么把音色从内容里分离”,省下了一大笔学习成本,效率和可控性都跟着上来。这也是论文标题里 “Single-Stream Decoupled”(单流解耦)的含义。

二、Qwen2.5 当家 + CoT:LLM 思路一条路走到底#

生成侧,Spark-TTS 没有自研大模型,而是直接拿现成的开源 Qwen2.5-0.5B 做骨干——0.5B 的体量,在动辄几十亿参数的 TTS 大模型里算是轻量级选手,好处是训练和推理都便宜。

更有意思的是它引入了思维链(chain-of-thought,CoT)生成。传统 TTS 是”文本 → 直接吐语音 token”,一步到位;Spark-TTS 让模型先生成”语音计划”再生成”语音 token”——就像写作文先列提纲。这个中间步骤让模型把”这句话怎么读、什么节奏、什么风格”先想清楚,再落笔出声,对稳定性和可控性都有帮助。

值得一提的还有它的”属性即条件”设计:性别、说话风格这些粗粒度属性可以直接作为条件喂给模型。这意味着你可以在没有参考音频的情况下,直接指定”一个中年男声,播音腔”来生成——这是纯参考克隆做不到的,也正是论文所说的”超越参考合成限制(beyond reference-based synthesis)“。

三、可控性:从”像谁”到”说什么风格”#

解耦 + CoT + 属性条件,三样合起来,Spark-TTS 的控制粒度就变得很细:

  • 粗粒度控制:性别、说话风格(播音腔、口语化等),写几个字就能指定;
  • 细粒度控制:精确的音高值、语速,可以逐句微调;
  • 参考音色克隆:给一段参考语音,照样能零样本克隆——传统招式也没丢。

这比”只能复制参考音频”的上一代模型前进了一大步。对 ToB 场景(有声书、虚拟主播、语音助手)来说,“无参考指定音色 + 克隆”二合一,可玩性高得多。

四、VoxBox 数据和成绩#

Spark-TTS 还顺手开源了 VoxBox:一个约 10 万小时、带全面属性标注的语音数据集。属性标注是关键词——每段音频标注了性别、风格、音高等,这正是”属性即条件”训练所需的弹药。数据本身也给了整个社区做可控 TTS 研究一个统一底座。

成绩上,论文称 Spark-TTS 在零样本音色克隆上达到当时最优(SOTA)水准,同时支持高度自定义的音色生成。用户最常引用的一个数字是:在 Seed-TTS-eval 的 test-zh(中文测试集)上,字符错误率(CER,Character Error Rate)1.20——也就是说合成的中文内容,跟文本对得相当准。评测集是 Seed-TTS-eval、语种是中文,这两个前提都得挂在数字边上,跨评测集横比没有意义。

收尾:我的一点看法#

Spark-TTS 是”把 LLM 思路走到底 + 把工程做轻”的典范。别人卷参数量,它用 0.5B 的 Qwen2.5 打天下;别人卷结构创新,它把功夫下在”怎么把语音拆得干净”上——BiCodec 的解耦设计比任何花哨的生成架构都值钱,因为它从源头降低了模型的负担。这跟我在看 F5-TTS 时的感受一致:好系统的共性,是先想清楚”哪块复杂度是多余的”,再动手删。

CoT 和属性条件的组合也让我眼前一亮。TTS 过去是”表演者”,现在开始往”导演”的方向走——你给它台词和人物设定,它自己安排语气和节奏。这是走向”语音 Agent”的必经之路。

当然,冷板凳也得坐。CER 1.20 是在 Seed-TTS-eval 单一中文评测集上的成绩,跟 VALL-E 2 的 WER 1.6%(LibriSpeech)不是一回事,别拿不同评测集互相比较。0.5B 的轻量模型在长句、情感、多语种的极限场景下,跟大模型的差距是客观存在的。另外 VoxBox 的 10 万小时数据,采集和授权情况也需要关注。但整体而言,Spark-TTS 证明了一件事:中文开源 TTS 不需要盲目堆参数,把解耦和工程做透,轻量模型一样能登顶。


附:核心数据速查#

基本盘

项目数值
arXiv / 时间2503.01710 / 2025.03
机构科大讯飞(SparkAudio 团队,联合高校)
编解码器BiCodec(单流解耦)
生成骨干Qwen2.5-0.5B + CoT 生成
训练数据VoxBox 约 10 万小时(带全面属性标注)
开源情况源码、预训练模型、数据集全部开源

核心创新

创新要点
BiCodec 单流解耦语义 token 管内容、全局 token 管音色,token 层分家
免参考音色指定性别/风格等属性直接当条件,无需参考音频
CoT 生成先列”语音计划”再生成 token,提升稳定与可控
VoxBox 数据集10 万小时属性标注语音,可复现研究底座

关键成绩

  • 中文 CER 1.20(Seed-TTS-eval test-zh,⚠️ 注意评测集)
  • 零样本音色克隆达当时 SOTA
  • 支持粗粒度(性别/风格)与细粒度(音高/语速)控制
  • 支持超越参考音频限制的自定义音色生成

关键概念清单

  • BiCodec = 双流/单流解耦编解码器(语义 + 音色分离)
  • semantic token = 语义 token(承载语言内容)
  • global token = 全局 token(承载说话人属性,定长)
  • CER = Character Error Rate,字符错误率
  • CoT = Chain-of-Thought,思维链(先生成语音计划)
  • Qwen2.5 = 阿里开源 LLM(此处用 0.5B 版做骨干)
  • VoxBox = 讯飞开源的可控 TTS 数据集(约 10 万小时)
  • reference-based synthesis = 基于参考音频的合成
  • controllable TTS = 可控 TTS(音色/风格/语速可调)
  • Seed-TTS-eval = 语音合成评测基准(含 test-zh 中文测试集)
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

[TTS] Spark-TTS:音色自由克隆
https://mizuki-eaf.pages.dev/posts/音频生成模型/tts-spark-tts音色自由克隆/
作者
无名之子
发布于
2026-07-29
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录