←新闻详情

Hugging Face更新于 11月5日 18:41

Hugging Face 发布端侧语音模型 Phonon,31m 版本以 Apache 2.0 开源

A Closer Look at Phonon TTS. Launching High-Quality On-Device Speech That Tops the Benchmarks.

AI 导读

Hugging Face 发布端侧 TTS 模型 Phonon,提供约 65 MB 和 75 MB 两个尺寸,覆盖英语、法语、德语、西班牙语和葡萄牙语,内置 100 多个音色。其中 Phonon 31m 仅支持英语并以 Apache 2.0 开源,可用于商业产品;Phonon 40m 覆盖五种语言但采用非商业许可。官方称其在 Open TTS Leaderboard 的德语和西班牙语可懂度排名第一,并在 CPU 流式首包延迟基准上领先,配套推理框架 ptts 支持 CPU、GPU 和 NPU 等 10 余种后端。

推荐理由

AI 评分 59

原文给出端侧 TTS 的模型规格、许可证差异和榜单表现,可据此判断小设备语音方案的可用边界。

主题

标签

正文 · AI 翻译

为什么语音应该运行在你的设备上

大多数语音 AI 都运行在云端:每说一句话都要往返服务器一次。而 Phonon 则运行在你自己的设备上。你的文本留在本地,语音无需网络也能工作。我们还开放了模型权重。Phonon 31m 采用 Apache 2.0 许可,因此你可以免费使用,甚至用于商业产品。其他模型采用 CC BY-NC 许可,因此可免费用于非商业项目。如果你要用这些模型开发商业产品,定价依据是你的用户数量,而不是你生成了多少语音。

让高质量的语音在小型设备上运行一直很难。你可以把模型做小,但那样音质就不够好。或者你可以让音质出色,但那样模型就装不下。我们同时解决了这两个问题。

我们在四月发布了 Phonon,并在接下来的六个月里与合作伙伴和早期用户一起在此基础上继续开发。他们的反馈帮助我们塑造了这次发布。模型变得更小,我们还增加了更多语言,并通过语音克隆和语音设计支持自定义音色。

Phonon 基于 Pocket TTS 系列,因此使用流匹配来生成音频,这与其他 TTS 系统所用的建模技术非常不同。正是这一点让我们能把这种水平的音质带到如此小的模型中,但它在训练模型时也带来了新的挑战。训练最初在数值上不稳定,需要若干技巧才能在全部五种语言上产出高质量的结果。

我们发布了什么

Phonon 有两种尺寸,分别约为 65 MB 和 75 MB。它们合起来可以说英语、法语、德语、西班牙语和葡萄牙语。内置音色超过 100 种,你还可以在 Gradium Studio 中创建自己的音色。Phonon 还能处理大多数其他 TTS 系统经常出错的那些重要内容,比如电话号码、日期和代码。

它可以在手机、笔记本电脑、单板计算机和浏览器标签页中运行,所以你现在就能听到它。Phonon 31m 说英语,采用 Apache 2.0 许可,因此你可以自由地在其基础上构建,包括用于商业产品。Phonon 40m 以非商业许可覆盖全部五种语言。

演示与首批项目

这次发布附带了来自朋友和我们自己团队的演示。在关闭 Wi-Fi 的 Apple Watch 上,Phonon 会一步步指导你冲泡咖啡。在没有信号的 iPhone 上,它会为你计数动作次数并为你加油。Autonomous 公司一款名为 Lamp 的机器人戴着分院帽,以角色口吻说话。在浏览器中,一个离线恐龙跑酷游戏变成了由 Rex 主持的广播节目。还有一款科幻游戏在玩家自己的机器上配音,以及逐页朗读的《追忆似水年华》。

Hugging Face 团队构建了 Transformers 集成,因此开发者从第一天起就能在 Transformers 中使用 Phonon。

开发者们也开始在其基础上进行构建。一个 ExecuTorch 转换让 Phonon 在浏览器中利用访客的 GPU 运行,Micdrop 将它带入 Node.js 应用,而像 smallest-s2s 这样的 Spaces 也基于它构建。

Phonon 在发布的前两周内下载量超过 200,000 次,并且仍在 Hugging Face 上 trending。

Open TTS Leaderboard 是 Hugging Face 一个非常新的项目,我们很喜欢它。Hugging Face Hub 上有超过 9,000 个 TTS 模型,该排行榜为开发者提供了一个统一的地方来比较开放模型并并排试听。排行榜覆盖 23 种语言,模型在可懂度(输出的词错误率)、速度(逆实时因子和首包音频时间)和自然度(英语用 UTMOS,韩语用 KOMOS)方面接受评估。评估涵盖固定音色和语音克隆,后者还额外使用说话人相似度指标。排行榜还有一个 Listen 标签页,你可以在那里方便地自行比较 TTS 输出,并为你最喜欢的投票。

在可懂度方面,Phonon 在德语和西班牙语中排名第一,在我们评估的每种语言中都位列前三,与体积最高达其 100 倍的模型同台竞技。

速度是 Phonon 真正大放异彩的地方,这些模型在 CPU 流式首包音频时间基准上位居榜首。

推理

我们专门为 Phonon 构建了一个新的推理框架 ptts。ptts 的目标是在各种设备上获得最佳性能,因此支持 10 多种后端:CPU(Intel、Arm、WebAssembly)、GPU(CUDA、Vulkan、Metal、WebGPU)和 NPU(Apple Core ML、Snapdragon®)。

Phonon 也从 v5.21 起在 🤗 Transformers 中作为其参考 PyTorch 实现提供。ptts 在设备上运行单一流,而 Transformers 则面向 GPU 吞吐量:批量生成、全图 torch.compile,例如用于大规模合成语音数据集。作为原生 PyTorch 实现,它是进一步构建的基础,无论你是要将 Phonon 集成到你自己的技术栈中,还是研究模型本身。

它属于 Pocket TTS 系列,因此我们首先将 Pocket TTS 加入了 Transformers。Phonon 作为模块化模型构建在其上:约 200 行代码,只描述不同之处。

Phonon 以自回归方式生成音频潜变量:每一步输出一个潜变量,并将其作为下一步的输入反馈回去,训练损失就在这些潜变量上计算。潜变量既是模型的输入、输出,也是目标,就像文本 token 之于语言模型一样,因此将音频映射为潜变量的编解码器扮演着分词器的角色。Transformers 正是这样集成的:一个音频分词器,由处理器与文本分词器并列持有:

音色不是一段录音,而是一个说话人潜变量张量。Phonon 从不直接用其音频分词器编码音频,该分词器仅提供解码器,音色是预先计算好的:gradium/phonon-voices。

提示布局(音色位置、文本,然后是一个开启音频的 token)随检查点一起以聊天模板的形式提供,就像 Transformers 中的其他多模态模型一样。你编写一段标准对话,在音色所在的位置放一个空音频项,你的代码在不同检查点之间保持不变。随后处理器会将音色占位符扩展为每帧一个位置,对文本进行归一化和分词,并对输入进行批处理:

generate 返回潜变量,处理器将其解码为音频:

接下来

Phonon 可以用任何音色说话。在获得说话人同意的情况下,从一段短录音中克隆一个音色,或者在 Gradium Studio 中用纯文本描述一个新音色。然后下载音色文件,在 Phonon 中加载,它就能完全在设备上运行。

我们还与设计合作伙伴一起训练定制的 Phonon 模型。如果你的内存预算紧张,我们可以把模型做得更小。如果你需要韩语、阿拉伯语或日语,我们也可以为此训练。如果你的产品有自己的词汇表,我们可以在其上微调。联系我们,告诉我们你的需求。

感谢 Hugging Face 团队,也感谢在 Phonon 发布头两周内试用它的每一个人。

Phonon 是我们的首个开源发布。试一试,告诉我们你构建了什么。

本文提到的模型 3

gradium/phonon-voices

kyutai/pocket-tts

本文提到的数据集 1

olesiagradium/video

本文提到的 Space 3

最小可用的语音到语音

带延迟图表的小型英语 STT + LLM + TTS 级联

Phonon

在浏览器中运行的文本转语音

开放 TTS 排行榜

基于客观指标评估的 TTS 系统。

来自我们博客的更多文章

本文提到的模型 3

gradium/phonon-voices

kyutai/pocket-tts

本文提到的数据集 1

olesiagradium/video

本文提到的 Space 3

最小可用的语音到语音

带延迟图表的小型英语 STT + LLM + TTS 级联

Phonon

在浏览器中运行的文本转语音

开放 TTS 排行榜

基于客观指标评估的 TTS 系统。

来源

Hugging Face