Gradium 已开源 Phonon,这是一个专为设备端运行而构建的小型文本转语音模型系列。Gradium Phonon 端侧 TTS 模型提供 31M 和 40M 两种规模。英文版 Phonon 31m 以 Apache 2.0 许可发布,文件大小为 64.5 MB。开发者可获得自然语音,无需云端调用、无需 GPU,也没有按字符计费。
TL;DR
规模:31M 参数(不含音频分词器),64.5 MB q8 GGUF,24 kHz 单声道输出。Phonon 40m:40M,74.6 MB。
运行平台:CPU、手机、Raspberry Pi 5、浏览器(WASM、WebGPU)和 NVIDIA GPU。无需 GPU。
性能:在 Gradium 测试的开源模型中英文 Elo 最高;在 CPU 上约 7 ms 生成首个音频。
最佳:在 500 句困难集上 WER 为 1.70%,而 Kokoro 为 3.50%(Gradium 的评测)。
最差:Seed-TTS LLM WER 为 0.51%,落后于 Kokoro(0.45%)和 Magpie(0.46%)。
什么是 Gradium Phonon?
Phonon 是 Gradium 的开源权重 TTS 系列,Gradium 是一家从 Kyutai 分拆出来的巴黎语音 AI 公司。它可在手机、笔记本电脑、开发板和浏览器上本地生成语音。
该系列有三个模型:
Phonon 31m:仅英文,37 个内置音色,Apache 2.0。
Phonon 40m:每种语言 1 个模型(英语、法语、德语、西班牙语、葡萄牙语),CC BY-NC 4.0。
Phonon 40m 多语言版:1 个模型涵盖全部 5 种语言,102 个音色,CC BY-NC 4.0。
Phonon 如何工作?
Phonon 使用因果 transformer 主干。其前缀结合了文本和说话人嵌入。一个词表为 4,000 个 token 的 SentencePiece 分词器直接读取原始文本,无需音素转换。
主干每 80 ms 帧生成 1 个潜在向量。一个流匹配头在单步内将该向量加噪声转换为音频嵌入。Kyutai 的 Mimi 解码器的一个更小变体随后输出 24 kHz PCM 音频。一个单独的语音结束头决定何时停止。
Phonon 31m 使用 6 个 transformer 层、宽度 512 和 8 个注意力头。Phonon 40m 使用 9 层,宽度相同。两者均从更大的 Phonon 教师模型蒸馏而来。训练在配备 NCCL 和 CUDA Graphs 的 NVIDIA H100 集群上运行。
该工作基于 Kyutai 的 Continuous Audio Language Models 研究和 Pocket TTS。
</span>
<div class="st"><span class="n">STEP 2</span><b>SentencePiece</b></div><span class="arr"></span>
<div class="st"><span class="n">STEP 3</span><b>因果 transformer</b></div><span class="arr"></span>
<div class="st"><span class="n">STEP 4</span><b>流匹配头</b></div><span class="arr"></span>
<div class="st"><span class="n">STEP 5</span><b>Mimi 解码器</b></div>
</div>
<div class="detail" id="how-d"></div>
<div class="frames" id="frames"></div>
<div class="ctl">
<button class="btn ghost" id="prev"> 上一步</button>
<button class="btn" id="next">下一步 </button>
<button class="btn ghost" id="play">流式播放帧</button>
<span class="cap">每个条形代表 1 个潜帧 = 24 kHz 音频的 80 ms</span>
</div>
</div>
<div class="panel" id="p-bench">
<div class="seg" id="bseg">
<button class="on" data-b="wer">困难集 WER(越低越好)</button>
<button data-b="elo">英文 Elo(越高越好)</button>
<button data-b="seed">Seed-TTS WER</button>
</div>
<div id="bars"></div>
<div class="note" id="bnote"></div>
</div>
<div class="panel" id="p-speed">
<div class="hw" id="hw"></div>
<div class="gauge">
<div class="gc"><div class="k">首音频延迟</div><div class="val" id="g1">6.9 ms</div><div class="src" id="g1s"></div></div>
<div class="gc"><div class="k">相对实时的速度</div><div class="val" id="g2">29.9x</div><div class="src" id="g2s"></div></div>
</div>
<div class="note">Gradium 博客中的行对应 Phonon 31m;合作伙伴和新闻稿中的行未指明具体变体。“x 实时”越高,表示每秒计算生成的音频秒数越多。由 Gradium 和发布合作伙伴测量。</div>
</div>
<div class="panel" id="p-trade">
<div class="to">
<div class="tc p"><h4>Phonon 31m 领先之处</h4><ul>
<li>困难集 WER 为 1.70%,而 Kokoro 为 3.50%</li>
<li>在 MacBook Air M5 CPU 上首音频延迟为 6.9 ms</li>
<li>在 Raspberry Pi 5 上达到 3.7x 实时</li>
<li>Apache 2.0 权重、分词器和音色</li></ul></div>
<div class="tc c"><h4>不足之处</h4><ul>
<li>Seed-TTS WER 为 0.51%,落后于 Kokoro 的 0.45%</li>
<li>31M 版本仅支持英文;40m 模型为 CC BY-NC</li>
<li>长文本中句子之间的韵律会重置</li>
<li>所有基准测试均由 Gradium 运行</li></ul></div>
</div>
</div>
<div class="ft"><span>来源:gradium.ai/blog、huggingface.co/gradium · 自报数据</span><span class="brand">由 Marktechpost 构建</span></div>
</div>
<script>
(function(){
var R=document.getElementById('mtp-phonon');
function send(){try{parent.postMessage({mtpFrameHeight:R.offsetHeight+40,id:'mtp-phonon'},'*')}catch(e){}}
R.querySelectorAll('.tab').forEach(function(t){t.addEventListener('click',function(){
R.querySelectorAll('.tab').forEach(function(x){x.classList.remove('on')});t.classList.add('on');
R.querySelectorAll('.panel').forEach(function(p){p.classList.remove('on')});
R.querySelector('#p-'+t.dataset.t).classList.add('on');
if(t.dataset.t==='bench')drawBars(cur);
setTimeout(send,60);});});
R.querySelectorAll('.mc').forEach(function(c){c.addEventListener('click',function(){
R.querySelectorAll('.mc').forEach(function(x){x.classList.remove('on')});c.classList.add('on');
document.getElementById('fam-d').textContent=c.dataset.d;setTimeout(send,30);});});
输入文本加上说话人嵌入。声音可以是内置的、克隆的,或在 Gradium Studio 中设计,然后在本地运行。
原始文本被转换为来自 4,000 词元 SentencePiece 词表的词元。无需音素转换,因此添加新语言更容易。
一个因果 transformer(31m 中 6 层、宽度 512、8 个头)以自回归方式每 80 ms 帧生成 1 个潜在向量。
一个流匹配头在单步内将每个潜在向量加噪声转换为连续的音频嵌入。一个语音结束头决定何时停止。
Kyutai 的 Mimi 解码器的一个更小变体将嵌入转换为 24 kHz PCM 音频,在生成继续的同时进行流式传输。
var si=0,sts=R.querySelectorAll('.st');
function setStep(i){si=(i+5)%5;sts.forEach(function(s,k){s.classList.toggle('on',k===si)});document.getElementById('how-d').textContent=steps[si];}
setStep(0);
document.getElementById('next').onclick=function(){setStep(si+1)};
document.getElementById('prev').onclick=function(){setStep(si-1)};
var F=document.getElementById('frames');for(var i=0;i<24;i++){var d=document.createElement('div');d.className='fr';F.appendChild(d);}
var tm=null;document.getElementById('play').onclick=function(){
var fr=F.children,k=0;clearInterval(tm);setStep(2);
for(var j=0;j<fr.length;j++){fr[j].classList.remove('live');fr[j].style.height='20%';}
tm=setInterval(function(){if(k>=fr.length){clearInterval(tm);setStep(4);return;}
fr[k].classList.add('live');fr[k].style.height=(30+Math.round(Math.abs(Math.sin(k*1.3))*65))+'%';
if(k===8)setStep(3);k++;},110);};
var B={wer:{max:9,u:'%',rows:[['Phonon 31m',1.70,1],['Phonon 40m multi',2.11,1],['Phonon 40m',2.22,1],['Kokoro',3.50],['Kitten TTS',7.40],['NeuTTS Nano',8.71]],
n:'500 条高难度英文句子(电话号码、电子邮件、邮政编码)。Magpie 得分为 27.51%,超出此量表范围。Hugging Face 模型卡列出 Phonon 31m 为 1.5%;博客列出为 1.70%。'},
elo:{max:2150,min:1900,u:'',rows:[['Phonon 40m',2117,1],['Phonon 31m',2098,1],['Phonon 40m multi',2097,1],['Pocket TTS 100m',2056],['Kokoro',2043],['NeuTTS',2034],['Magpie',1939]],
n:'盲测成对听力测试,美式英语:468 名评分者,8,290 次投票。柱状图从 1900 Elo 起算。'},
seed:{max:0.7,u:'%',rows:[['Phonon 40m',0.45,1],['Kokoro',0.45],['Magpie',0.46],['Phonon 40m multi',0.48,1],['Phonon 31m',0.51,1],['NeuTTS',0.62]],
n:'Seed-TTS 英文评估句子,LLM 辅助 WER。此处 Phonon 31m 落后于 Kokoro 和 Magpie。'}};
var cur='wer';
function drawBars(k){cur=k;var b=B[k],h='';b.rows.forEach(function(r){h+='<div class="bar'+(r[2]?' me':'')+'"><span class="lb">'+r[0]+'</span><div class="tr"><div class="fl" data-w="'+(((r[1]-(b.min||0))/(b.max-(b.min||0)))*100).toFixed(1)+'"></div></div><span class="v">'+(k==='elo'?r[1]:r[1].toFixed(2)+b.u)+'</span></div>'});
document.getElementById('bars').innerHTML=h;document.getElementById('bnote').textContent=b.n;
setTimeout(function(){R.querySelectorAll('#bars .fl').forEach(function(f){f.style.width=f.dataset.w+'%'})},40);setTimeout(send,80);}
R.querySelectorAll('#bseg button').forEach(function(x){x.onclick=function(){R.querySelectorAll('#bseg button').forEach(function(y){y.classList.remove('on')});x.classList.add('on');drawBars(x.dataset.b);}});
drawBars('wer');
var H=[['MacBook Air M5 CPU','4 线程,无 KleidiAI','6.9 ms','29.9x','Gradium 博客'],
['M5 + KleidiAI + Accelerate','4 线程','5.4 ms','46.7x','Gradium 博客'],
['Raspberry Pi 5','CPU','38 ms','3.7x','Gradium 博客']
['Snapdragon 8 Elite Gen 5','Oryon CPU','7.5 ms','24x','Gradium 与 Qualcomm 合作']
['Arm CPU + KleidiAI','Arm 实测','28 ms','15x','由 Arm 实测']
['NVIDIA L40S','CUDA 后端','5 ms','未披露','Gradium 新闻稿']
var hw=document.getElementById('hw'),hh='';H.forEach(function(r,i){hh+='<div class="hwc'+(i?'':' on')+'" data-i="'+i+'"><b>'+r[0]+'</b><small>'+r[1]+'</small></div>'});hw.innerHTML=hh;
function count(el,txt){var m=txt.match(/[\d.]+/);if(!m){el.textContent=txt;return;}var end=parseFloat(m[0]),dec=(m[0].split('.')[1]||'').length,suf=txt.slice(m.index+m[0].length),t0=null;
function f(ts){if(!t0)t0=ts;var p=Math.min((ts-t0)/600,1);el.textContent=(end*p).toFixed(dec)+suf;if(p<1)requestAnimationFrame(f);}requestAnimationFrame(f);}
function pick(i){var r=H[i];R.querySelectorAll('.hwc').forEach(function(c){c.classList.toggle('on',+c.dataset.i===i)});
count(document.getElementById('g1'),r[2]);count(document.getElementById('g2'),r[3]);
document.getElementById('g1s').textContent=r[4];document.getElementById('g2s').textContent=r[4];}
R.querySelectorAll('.hwc').forEach(function(c){c.onclick=function(){pick(+c.dataset.i)}});
pick(0);
window.addEventListener('load',send);window.addEventListener('resize',send);setTimeout(send,300);
})();
</script>
</body>
</html>
" style="width:100%;height:600px;border:0;display:block;background:transparent;" loading="lazy" scrolling="no">
Phonon 在基准测试中表现如何?
Gradium 开展了盲测成对听力测试,共有 1,189 名评分者和 17,270 次投票。在美式英语中,Phonon 40m 获得 2117 Elo,Phonon 31m 获得 2098。Kokoro 为 2043,NeuTTS 为 2034,Magpie 为 1939。
准确率在一个公开的困难句子集上进行了测试。该数据集每种语言包含 500 个句子,充满电话号码、电子邮件和邮政编码。Phonon 31m 的 WER 为 1.70%,而 Kokoro 为 3.50%,NeuTTS Nano 为 8.71%。
内置的文本归一化是造成这一差距的主要原因。
在较简单的 Seed-TTS 数据集上,差距缩小。Phonon 31m 的 LLM WER 为 0.51%,而 Kokoro 为 0.45%。
Phonon 在 CPU 上有多快?
在 4 线程的 MacBook Air M5 CPU 上,Phonon 31m 首次出音频耗时 6.9 ms。它比实时快 29.9 倍。Kokoro 需要 517 ms,因为它不支持流式。借助 Arm KleidiAI 和 Apple Accelerate,Phonon 31m 达到 46.7 倍实时。
在 Raspberry Pi 5 上,Phonon 31m 启动耗时 38 ms,运行速度比实时快 3.7 倍。Gradium 称 Kokoro 在该设备上需要 7 秒才能启动。
在 Snapdragon 8 Elite Gen 5 上,Phonon 启动耗时 7.5 ms,达到 24 倍实时。在 NVIDIA L40S 上,CUDA 首次出语音耗时 5 ms。据新闻稿,AMD EPYC 7413 CPU 需要 43 ms。
对比:Phonon 与 Kokoro、NeuTTS Nano 和 Kitten TTS
特性Phonon 31mPhonon 40m 多语言Kokoro-82MNeuTTS NanoKitten TTS v0.8开发者GradiumGradiumhexgradNeuphonicKittenML参数量31M(不含分词器)40M82M总计约 228.7M,激活约 116.8M15M / 40M / 80M权重64.5 MB(q8)74.6 MB(q8)未披露未披露25 至 80 MB语言英语英语、法语、德语、西班牙语、葡萄牙语8 种(v1.0)英语(合集增加西班牙语、法语、德语)英语许可证Apache 2.0CC BY-NC 4.0Apache 2.0NeuTTS Open License 1.0Apache 2.0困难集 WER,英语(Gradium 评测)1.70%2.11%3.50%8.71%7.40%(未披露变体)英语 Elo(Gradium 评测)2098209720432034未测试Seed-TTS LLM WER,英语(Gradium 评测)0.51%0.48%0.45%0.62%未测试首次出音频,M5 CPU,4 线程6.9 ms8.8 ms(40m 架构)517 ms未披露未披露
基准测试行来自 Gradium 的博客和模型卡。规模、语言和许可证行来自各模型自己的模型卡。
开发者如何部署 Phonon?
运行时采用 MIT 或 Apache-2.0 许可证。它覆盖 Rust、Python(pip install ptts)、Swift、C、C++,以及通过 phonon-tts 在浏览器中使用。它还附带一个 OpenAI 兼容服务器和一个 WebSocket 服务器。
Phonon 可在 Transformers、MLX-Audio、Ollama 和 LM Studio 中加载。语音克隆和语音设计在 Gradium Studio 中运行,然后语音在本地运行。
要点
Phonon 31m 是一个 31M、64.5 MB 的英语 TTS 模型,采用 Apache 2.0 许可证。
它报告在困难文本上的 WER 为 1.70%,而 Kokoro 为 3.50%。
在 MacBook Air M5 CPU 上,首次出音频耗时 6.9 ms。
它在 Raspberry Pi 5 上运行速度比实时快 3.7 倍。
存在多语言 40m 模型,但采用非商业许可证。
查看技术博客、模型卡片、GitHub 运行时和困难句数据集。所有功劳都归于本项目的研究人员。另外,欢迎在 Twitter 上关注我们,别忘了加入我们拥有 15 万+ 成员的 ML SubReddit 并订阅我们的新闻通讯。等等!你在 Telegram 上吗?现在你也可以在 Telegram 上加入我们。
需要与我们合作推广你的 GitHub 仓库、Hugging Face 页面、产品发布或网络研讨会等?请联系我们
文章《Gradium 以 Apache 2.0 协议开源 Phonon,一个 3100 万参数的端侧 TTS 模型》首发于 MarkTechPost。