Higgs TTS 3:开源对话语音模型,100+ 语言克隆

语音 AI 最近又进了一步。李沐博士创办的 Boson AI 在今年 6 月放出了 Higgs TTS 3,一个开源的对话语音合成模型。它不是传统意义上”把文字念出来”的 TTS,而是为语音助手和实时对话场景设计的:会停顿、会带情绪、会模仿声音,还能在说话过程中插入笑声、叹气等音效。

对于关注本地 AI、自托管和语音应用的人来说,这是一个值得看看的项目。权重已经放在 Hugging Face 上,模型可以用 SGLang-Omni 或 vLLM-Omni 在本地跑起来,也提供了 OpenAI 兼容的 Boson API 供快速体验。

Boson AI 官方博客对 Higgs TTS 3 的介绍

项目地址:https://huggingface.co/bosonai/higgs-tts-3-4b
开源权重:Hugging Face(bosonai/higgs-tts-3-4b)
Serving 方案:SGLang-Omni / vLLM-Omni / Boson AI API
许可证:Boson Higgs TTS 3 Research and Non-Commercial License(研究及非商业用途)


它到底有什么不一样?

市面上开源 TTS 已经不少了,比如 Kokoro、F5-TTS、GPT-SoVITS 等。Higgs TTS 3 的定位不是”朗读一段文字”,而是让 AI 在对话场景里说话。官方博客的原话是:”it speaks, not just reads”。

这带来几个关键区别:

  • 对话式节奏:生成的语音不是均匀的播报腔,更像真人说话,有自然的停顿、强调和语气变化。
  • 内联控制:你可以直接在文本里插入 <|emotion:enthusiasm|><|prosody:pause|><|sfx:laughter|> 这类标签,实时控制情绪、语速、停顿和音效。
  • 零样本克隆:给一段几秒钟的参考音频和对应文本,就能让模型用那个声音说话,不需要专门训练。
  • 流式输出:支持低延迟流式 TTS,适合语音助手和实时对话。
  • 多语言:官方称支持 100+ 语言,其中 85 种语言达到 WER/CER 低于 5% 的生产级水平,中文也在第一档。

换句话说,如果你只是想给一段长文字配个朗读音,Higgs TTS 3 有点大材小用;但如果你在做语音 Agent、播客多角色配音、或者有实时对话需求,它的设计方向会比较对胃口。


模型和授权

Higgs TTS 3 的架构在官方博客和 SGLang-Omni 的 cookbook 里有说明:它采用自回归解码器,文本和音频 token 交错输入,音频由 Higgs Tokenizer 编码成 8 个 codebook、25 fps,再通过 delay pattern 和 multi-codebook fused embedding 送入 backbone,最后解码回波形。

SGLang-Omni 文档中的 Higgs TTS 3 架构图

具体参数方面,官方博客称 backbone 是约 4B 参数(36 层、hidden 2560、GQA 32/8);Hugging Face 模型卡上同时标称 Model size 5B params。上下文长度 8192 token,采样率 24 kHz。

授权要重点注意:Higgs TTS 3 采用 Boson Higgs TTS 3 Research and Non-Commercial License,仅供研究和非商业使用。如果要用于生产环境、托管 API 或任何产生收入的场景,需要单独购买商业授权。同时禁止在未经同意的情况下克隆他人声音、用于冒充、欺诈或选举误导等。


三种使用方式

方式一:Boson AI API(最快,零部署)

如果你只是想听听效果,或者在应用里先接入试试,Boson 提供了 OpenAI 兼容的 API。当前处于公开预览阶段,免费但有速率限制。

先去 Boson Workspace 注册并获取 API Key,然后就能用 curl 调用:

export BOSON_API_KEY=bai-xxxx

curl https://api.boson.ai/v1/audio/speech 
  -H "Authorization: Bearer $BOSON_API_KEY" 
  -H "Content-Type: application/json" 
  -d '{
    "model": "higgs-tts-3",
    "input": "Hello, this is a test."
  }' 
  --output out.mp3

支持预设音色(如 jake)、参考音频克隆、流式输出,以及和本地模型一样的内联控制标签。API 文档在 docs.boson.ai/models/higgs-tts/overview

Boson AI 官方 API 文档中的 Higgs TTS 3 功能说明

方式二:SGLang-Omni 本地部署(GPU 推荐)

如果想自己托管,官方推荐用 SGLang-Omni。它针对多 codebook 解码做了连续批处理优化,并暴露和 OpenAI 兼容的 /v1/audio/speech 端点。

SGLang-Omni Higgs TTS cookbook 的步骤,大致流程如下:

# 拉取镜像并启动容器
docker pull lmsysorg/sglang-omni:dev
docker run -it --gpus all --shm-size 32g --ipc host --network host --privileged 
  lmsysorg/sglang-omni:dev /bin/zsh

# 在容器里安装 sglang-omni
git clone https://github.com/sgl-project/sglang-omni.git && cd sglang-omni
uv venv .venv -p 3.12 && source .venv/bin/activate
uv pip install -v -e .

# 下载模型权重
export HF_TOKEN=hf_xxxxxxxxxxxxxxxx
hf download bosonai/higgs-tts-3-4b

# 启动服务
sgl-omni serve 
  --model-path bosonai/higgs-tts-3-4b 
  --port 8000

启动后即可通过 HTTP 请求合成语音:

curl -X POST http://localhost:8000/v1/audio/speech 
  -H "Content-Type: application/json" 
  -d '{"input": "Hello, how are you?"}' 
  --output output.wav

零样本克隆需要上传参考音频和对应文本:

import requests

resp = requests.post(
    "http://localhost:8000/v1/audio/speech",
    json={
        "input": "Have a nice day and enjoy the sunshine.",
        "references": [{
            "audio_path": "ref.wav",
            "text": "Hey, this is my reference voice. Let's make something that sounds human.",
        }],
        "temperature": 0.8,
        "top_k": 50,
        "max_new_tokens": 1024,
    },
)
with open("output.wav", "wb") as f:
    f.write(resp.content)

方式三:vLLM-Omni

如果你已经在用 vLLM 生态,也可以用 vLLM-Omni 部署,命令和 SGLang-Omni 类似:

hf download bosonai/higgs-tts-3-4b

vllm-omni serve bosonai/higgs-tts-3-4b 
  --host 0.0.0.0 --port 8095 
  --trust-remote-code --omni

详细用法参考 vLLM-Omni 的 Higgs TTS 3 recipe


内联控制标签怎么写?

Higgs TTS 3 的一个亮点是可以在文本里直接控制声音。标签格式统一为 <|category:value|>,常见类别包括:

  • 情绪<|emotion:enthusiasm|><|emotion:amusement|><|emotion:contentment|> 等 20 多种。
  • 风格<|style:singing|><|style:shouting|><|style:whispering|>
  • 韵律<|prosody:speed_slow|><|prosody:pitch_high|><|prosody:pause|><|prosody:long_pause|>
  • 音效<|sfx:laughter|><|sfx:sigh|><|sfx:cough|> 等,需要紧跟拟声词,如 <|sfx:laughter|>Haha

官方建议的规则是:

  1. 情绪、风格和整体韵律(speed / pitch / expressive)标签放在句首,影响整句话。
  2. 停顿、音效等位置相关标签放在需要生效的地方。
  3. 每个 <|sfx:...|> 必须搭配对应的拟声词,例如 <|sfx:sneeze|>Achoo

示例:

curl -X POST http://localhost:8000/v1/audio/speech 
  -H "Content-Type: application/json" 
  -d '{"input": "<|emotion:amusement|><|prosody:expressive_high|>Wait, that was kind of hilarious. <|sfx:laughter|>Hehe, no, seriously."}' 
  --output output.wav

这种设计让语音合成不再只是”文本进、音频出”,而是可以像写 prompt 一样控制声音表现。


有什么坑?

  1. 授权是研究/非商业:不要看到”开源”就默认能商用。Higgs TTS 3 的 license 明确限制研究及非商业用途,商业需要额外授权。
  2. 需要较大显存:4B~5B 参数的模型加多 codebook 解码,推荐用 CUDA GPU。SGLang-Omni 的示例甚至要求 --shm-size 32g,普通家庭 NAS 或 16GB 内存的 Mac 基本跑不动。Apple Silicon 上 MPS 支持有限,解码时部分操作会回退到 CPU。
  3. 克隆声音需要参考文本:零样本克隆时,提供参考音频的对应文本(ref_text)能明显提升克隆质量。不要只给音频不给文本。
  4. 控制标签位置有讲究:全局标签要放句首,位置标签放 inline。乱用可能导致效果不稳定或不符合预期。
  5. API 是公开预览,有速率限制:Boson API 目前是免费的,但限制请求频率,不适合大规模生产负载。
  6. 道德和法律风险:不要克隆未经授权的人声。Boson 在 license 里明确禁止用于冒充、欺诈、选举误导等。

适合谁?

Higgs TTS 3 的目标场景比较明确:

  • 语音 Agent / 对话机器人:需要低延迟、带情绪的对话式语音输出。
  • 多语言内容:对中文、英语以外的语言支持较好,适合做多语言语音应用。
  • 本地语音合成:有 GPU 资源、想自托管 TTS 的团队。
  • 语音研究和实验:想研究对话式 TTS、声音克隆、情感控制的开发者。

如果你只是想给一篇文章配音、或者在家里 NAS 上跑一个轻量 TTS,Kokoro 或 F5-TTS 可能更省资源;但如果你想做的是一个”会说话”的 AI,Higgs TTS 3 值得持续关注。


总结

Higgs TTS 3 是 Boson AI 在对话式语音合成方向的一次重要开源。它不是传统 TTS 的”朗读器”,而是让模型输出的文本变成有情绪、有节奏、能克隆声音的”真人说话”。100+ 语言支持、零样本克隆、内联控制标签、流式输出,这些特性让它在语音 Agent 和多语言场景中很有竞争力。

本地部署需要 GPU 和足够显存,快速体验可以用 Boson API。使用前务必注意它的非商业授权,以及声音克隆的伦理边界。

项目链接再贴一遍:

截图来源:Boson AI 官方博客、Boson API 文档、SGLang-Omni 文档、Hugging Face 模型卡

发表评论