aifollow.news
Back Hugging Face 官方博客
Hugging Face 官方博客· · Original publication time SelectedAI score67

Phonon releases on-device speech model weights for offline useMachine translation

Phonon 已开放设备端语音模型权重,支持离线朗读

AI-assisted summary

Phonon runs on phones, laptops and in a browser without a network connection, keeping typed text on the device. Its two released models are about 65 MB and 75 MB and together support English, French, German, Spanish and Portuguese. The English-only Phonon 31m uses an Apache 2.0 license that permits commercial use; the five-language Phonon 40m is licensed for non-commercial use.

Article · AI translation

两周前,我们开放了 Phonon,这是我们的一款可在你自己的设备上运行的小型文本转语音模型。它不需要服务器,也不需要网络,你输入的内容会留在你的设备上。

到目前为止,大家的反响让我们非常高兴。下面讲讲这次发布的来龙去脉:我们为什么打造 Phonon、它能做什么、随它一起推出的演示,以及它在 Hugging Face 的 Open TTS Leaderboard 上表现如何。

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

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

要让效果好的语音模型在小型设备上运行,一直很难。你可以把模型做小,但声音听起来就不够好;或者让声音听起来很好,但模型又装不进设备。我们解决了这两个问题。

我们在 4 月宣布了 Phonon,随后花了 6 个月与合作伙伴和早期用户一起持续开发。他们的反馈帮助我们塑造了这次发布的版本。模型变得更小了,我们还增加了更多语言,并通过声音克隆和声音设计支持自定义声音。

Phonon 基于 Pocket TTS 系列,因此使用流匹配来生成音频,这与其他文本转语音系统采用的建模技术很不一样。这让我们得以在如此小的模型上实现这种质量水平,但也在训练模型时带来了新的挑战。训练过程最初在数值上不稳定,需要运用几种技巧,才能在全部 5 种语言上取得高质量的结果。

我们发布了什么

Phonon 有两种大小,分别约为 65 MB 和 75 MB。两者合起来支持英语、法语、德语、西班牙语和葡萄牙语。它们内置了超过 100 种声音,你也可以在 Gradium Studio 中创建自己的声音。Phonon 还能处理电话号码、日期和代码等重要内容,而大多数其他文本转语音系统常常在这些地方出错。

它可以在手机、笔记本电脑、单板计算机和浏览器标签页中运行,所以你现在就能听到它的声音。Phonon 31m 支持英语,采用 Apache 2.0 许可证,因此你可以自由地基于它进行开发,包括开发商业产品。Phonon 40m 支持全部 5 种语言,采用非商业用途许可证。

演示和首批项目

这次发布附带了朋友们和我们团队制作的演示。在关闭 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 上保持热门趋势。

Phonon 在 Hugging Face Open TTS Leaderboard 上的表现

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®)。

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

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

Phonon 以自回归方式生成音频潜变量:每一步输出一个潜变量,并将其反馈作为下一步的输入;训练损失也基于这些潜变量计算。潜变量之于该模型,正如文本词元之于语言模型,是模型的输入、输出和目标,因此将音频映射为潜变量的编解码器扮演着分词器的角色。Transformers 也以这种形式提供它:作为一个音频分词器,由处理器与文本分词器一同持有:

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

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

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

详情请参阅文档 🤗!

接下来

Phonon 可以使用任何声音说话。在说话人同意后,你可以用一段简短录音克隆其声音,也可以在 Gradium Studio 中用纯文本描述一个新声音。然后下载声音文件,将其加载到 Phonon 中,它就能完全在设备上运行。

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

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

Phonon 是我们首次开放发布的产品。试试看,并告诉我们你用它构建了什么。

Found an error? Send a correction

Contents