【免费下载链接】Audio8-TTS-Preview-0.1b-bf16
Audio8-TTS-Preview-0.1b-bf16是 Audio8 开源语音合成(TTS)模型的 Apple Silicon 版(MLX 转换),约 1.7 亿参数,支持中英语言与零样本声音克隆。这篇文章带你深入它的arktts 架构,看看它如何用Mamba-2 混合栈实现快速语音推理——为什么一个 1.7 GB 的小模型,也能以约 3.5 倍实时速度跑通完整的语音合成流水线。🎙️
模型概览:1.7 GB 的多语言 TTS 是什么配置
在深入架构之前,先用一张表快速了解这个模型的基本盘(数据来自 README.md 与 config.json):
| 项目 | 规格 |
|---|---|
| 参数量 | 约 170M(语言模型,bf16) |
| 总下载体积 | 约 1.7 GB |
| 架构 | arktts+slow_backbone: falcon_h1(见 config.json) |
| 采样率 | 44.1 kHz(CD 级音质) |
| 代码本 | 10 个 codebook × 4096(config.json) |
| 主要语言 | 中文、英文 |
| 实验性语言 | 德、西、法、意、日、韩 |
| 特色功能 | 零样本声音克隆(zero-shot voice cloning) |
与 0.6b 大版本相比,0.1b 用3.5 倍小的语言模型换来了更快的推理速度,代价是说话人相似度(speaker similarity)略低——后面选型指南会细讲。
arktts 架构拆解:慢速 AR 与快速 AR 的双层流水线
arktts(AR + AR + TTS)的核心设计是把语音生成拆成两级自回归(AR)流水线:
- 慢速 AR(Slow):一个 24 层的大模型负责"思考"——理解文本语义、决定"说什么、怎么说";
- 快速 AR(Fast):一个仅 4 层的小模型负责"发声"——每帧快速吐出 10 个代码本的 token;
- 神经 codec:把代码本解码成 44.1 kHz 波形。
这种分工让"理解"与"生成"各用最合适的算力,是它快速推理的架构基础。
慢速主干:24 层 Falcon-H1 混合栈(Mamba-2 + 注意力 + MLP)
这是 0.1b 模型最特别的地方。README.md 明确指出:
每一层慢速层都同时携带三种组件:Mamba-2 mixer、attention(注意力)和 MLP。
也就是说,它不是纯 Mamba 模型,也不是纯 Transformer,而是逐层混合:
- Mamba-2 mixer:状态空间模型,序列长度上线性复杂度,长文本不"掉速";关键参数见 config.json——
mamba_d_ssm: 768、mamba_d_state: 64、mamba_chunk_size: 128; - 注意力:8 头、2 个 KV 头(GQA 分组查询注意力,省显存),
rope_theta高达 1e11(超长上下文外推); - MLP:
intermediate_size: 768,Silu 激活。
三种组件取长补短:Mamba-2 管长程依赖的效率,注意力管精确的局部关联,MLP 管非线性特征加工。🧠
快速编码器:4 层 AR 一次预测 10 个代码本
慢速 AR 每确定一帧语义,就交给 4 层的快速 AR 展开成 10 个 codebook token(每个 codebook 有 4096 个候选)。快速栈参数见 config.json:n_fast_layer: 4、fast_dim: 512、8 头 / 2 个局部头。
层数少、宽度适中,意味着每帧的合成开销极低——这正是"快"的直接来源。
一个易踩的坑:embedding_multiplier 作用在哪?
如果你打算复现或魔改这套架构,README.md 特别提醒:embedding_multiplier(值为 0.10888671875,见 config.json)作用于复合输入——即"文本 embedding + 10 个 codebook embedding 之和",而不是单独作用在文本查表上。
README 实测:如果把系数错误地折进embed_tokens表,embedding 会有 77% 的相对误差,但音频听起来仍然像模像样、长度也正确,靠"听"根本发现不了。这是个隐蔽的精度陷阱,值得警惕。⚠️
为什么快?Mamba-2 混合栈让推理提速的秘密
把架构拆完,速度账其实很好算:
- 模型足够小:语言模型仅 1.7 GB(对比 0.6b 的 2.6 GB),Apple Silicon 统一内存里加载无压力;
- Mamba-2 的线性复杂度:自回归逐 token 生成时,每步都要重算历史上下文。Mamba-2 用固定大小的状态矩阵"压缩"历史信息,单步成本不随序列线性膨胀,长句合成时优势明显;
- 快速栈只干粗活:4 层小网络批量产出 codebook token,慢速大模型不直接参与逐帧解码。
实测效果(README.md,相同文本与参考音频、确定性解码):
| 指标 | 0.6b | 0.1b |
|---|---|---|
| RTF(实时因子) | 0.33 | 0.28 |
| 峰值内存 | 8.17 GB | 7.59 GB |
RTF 0.28 意味着合成 1 秒语音只需约 0.28 秒,约 3.5 倍实时速度。注意一个细节:两者峰值内存差距只有 7%,因为 1.35 GB 的 fp32 codec 权重被共享,它是内存占用大头——所以 0.1b 省内存的意义主要在下载体积,而非运行内存。
44.1 kHz 神经声码器:好声音的另一半
arktts 输出的不是波形,而是 10 个 codebook 的离散 token,最终波形由捆绑的神经 codec 解码,权重就在 codec.safetensors。
codec 相关配置见 config.json:采样率 44100 Hz(CD 音质)、每帧 2048 个采样点、8 层 / 16 头 / 8 局部头的 transformer 后处理网络。
MLX 版本还做了两个工程优化:weight-norm 折叠、卷积权重改为 channels-last 布局以贴合 MLX 计算图。转换正确性经过严格校验(README.md):greedy 生成在 107 帧语料上100% token 级一致,codec 编码 100% 码字一致,解码波形最大偏差仅 1.2e-5。
三步上手:Apple Silicon 上最快运行方法
第一步:安装支持 falcon_h1 的 mlx-audio
⚠️ 重点:本模型配置了slow_backbone: falcon_h1,已发布的 mlx-audio(≥0.4.7)尚不认识它,需要按 README.md 的说明从源码安装最新版。用旧版加载会直接报错(权重 key 布局不同),不会静默产出坏音频。
第二步:加载模型
from mlx_audio.tts.utils import load model = load("mlx-community/Audio8-TTS-Preview-0.1b-bf16")第三步:生成语音
import soundfile as sf for result in model.generate( text="你好,欢迎体验 Audio8 TTS。", ref_audio="reference.wav", # 参考音频(可选) ref_text="参考音频的文本转录", # 必须与参考音频内容一致 temperature=0.7, top_p=0.9, top_k=50, ): sf.write("output.wav", result.audio, result.sample_rate)提供ref_audio+ref_text就是零样本声音克隆:只需一段参考音频和它的逐字文本,无需任何训练。不传参考音频时,模型使用默认音色。默认采样参数(temperature 0.7、top_p 0.9)见 generation_config.json。
选型指南:0.1b 与 0.6b 怎么选
| 对比项 | 0.6b | 0.1b |
|---|---|---|
| 下载体积 | 2.6 GB | 1.7 GB |
| RTF | 0.33 | 0.28 |
| 峰值内存 | 8.17 GB | 7.59 GB |
| 说话人相似度 SIM(EN / ZH) | 63.2 / 73.1 | 56.7 / 68.2 |
一句话结论:声音克隆相似度是零样本场景最核心的指标,追求质量选 0.6b;在意下载体积、追求更快推理选 0.1b。另外上游模型卡说明,0.1b 的中英文之外的实验性语言比 0.6b 更弱、波动更大。
许可协议与仓库文件清单
📦许可注意:语言模型遵循 LICENSE(Audio8 Community License v1.0),是一种收入上限型自定义许可——非商业使用免费;年营收低于 200 万美元的实体可免费商用;达到或超过该门槛需向 Audio8 另行获取书面商业许可。部署前请务必通读。捆绑的codec 权重为 Apache-2.0。
仓库核心文件一览:
| 文件 | 说明 |
|---|---|
| model.safetensors | 170M 参数语言模型权重(bf16) |
| codec.safetensors | 44.1 kHz 神经 codec 权重(fp32,Apache-2.0) |
| config.json | 架构与超参数:arktts / falcon_h1 / Mamba-2 |
| generation_config.json | 生成默认采样参数 |
| tokenizer.json / tokenizer_config.json | 多语言分词器 |
| special_tokens_map.json | 特殊 token 映射 |
| README.md | 模型卡:转换校验、实测数据与选型建议 |
小结:Audio8-TTS-Preview-0.1b-bf16 展示了小模型架构设计的典型思路——用Mamba-2 混合慢栈保证长程理解效率,用轻量快速 AR压低逐帧开销,再配一个高分辨率 codec 补齐音质。理解这套 arktts 双层流水线,对把握当前多模态 TTS 的技术走向也很有参考价值。
【免费下载链接】Audio8-TTS-Preview-0.1b-bf16
相关推荐
如何克隆任意声音?Audio8-TTS-0.1B-ONNX-INT8零样本语音克隆入门指南
如何克隆任意声音?Audio8 TTS 0.1B ONNX INT8零样本语音克隆入门指南 想只用 5 秒录音就克隆出任意人的声音?Audio8 TTS 0.1
克隆效果不理想的10个实用调参技巧:Audio8-TTS-Preview-0.1b-bf16温度与采样参数详解
克隆效果不理想的10个实用调参技巧:Audio8 TTS Preview 0.1b bf16温度与采样参数详解 如果你在使用 Audio8 TTS Previe
终极指南:如何快速配置tts-server-android实现高效语音合成
终极指南:如何快速配置tts server android实现高效语音合成 tts server android是一款强大的Android系统TTS应用,它内置
语音后端移动开发
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考