Web ML 库的Transformers.js 提供文本转语音功能

JavaScript 库 Transformers.js 提供了类似 Python Transformers 库的功能,设计用于在 Web 浏览器中直接运行 Transformer 模型,而不再需要外部服务器参与处理。在最新的 2.7 版本中,Transformers.js 引入了增强功能,其中包括文本转语音(TTS)支持。这次升级响应了用户的诸多需求,扩展了库的应用场景。

文本转语音(TTS)包括从文本创建听起来比较自然的语音,并提供了多种口语语言和 speaker。目前,Transformers.js 只通过 Xenova/speecht5_tts 提供 TTS 支持,而 Xenova/speecht5_tts 基于微软提供的带有 ONNX 权重的 SpeechT5。未来更新计划中包括增加对 bark 和 MMS 的支持。

开发人员可以通过 @xenova/transformers 中的管道函数来使用文本转语音功能,包括指定"文本转语音"任务和要使用的模型('Xenova/ speecht5_ts '),并使用选项{quantized: false}。此外,其中还包含提供 speaker embeddings 的文件链接。

将 TTS 模型应用于给定的文本后,它就会输出音频数组和采样率。该数组表示合成语音,可以进一步处理或直接在浏览器中播放。

Transformers.js 适用于各种用例,包括风格转换、图像绘制、图像着色和超分辨率。它的多功能性和定期更新使其成为开发人员探索机器学习和 Web 开发结合点的宝贵资产,并使其成为 Web 机器学习领域的可靠工具。

按照设计,Transformers.js 在功能上等同于 Hugging Face 的 Python 库 transformers,也就是说,你可以使用非常近似的 API 运行相同的预训练模型。

Transformers.js 支持许多任务和模型,涉及自然语言处理、视觉、音频、表格数据、多模态应用和强化学习。该库涵盖了从文本分类和摘要到图像分割和对象检测的各种任务,这使其成为各种机器学习应用程序的通用工具。

Transformers.js 提供了广泛的模型支持,包括 BERT、GPT-2、T5 和 Vision Transformer(ViT)等架构,确保用户可以针对特定的任务选择正确的模型。

对于 Transformers.js 的发布,社区持积极态度。在今年早些时候发起的 Reddit 帖子中,用户 Intrepid-Air6525 表示:我决定用它来代替 openai 的嵌入模型。速度非常快。我实际使用的 LLM 是 webLLM ,因为我不想消耗太多的 CPU 处理。

用户 1EvilSexyGenius 对 Hugging Face 的市场定位以及关于实际应用的讨论发表了看法:

java 复制代码
[...] 借助 Transformers.js 及他们提供的其他优秀的库,很显然, [Hugging Face] 正在努力实现语言模型的民主化,并将它们带给大众。与每天发布的所有模型相比,这样的帖子会让这个社区受益匪浅。

感兴趣的读者可以从 Hugging Face Transformers.js 官方网站及其 GitHub 库中获得更多信息。

相关推荐
不正经学生1 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技1 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
ℋᙚᵐⁱᒻᵉ鲸落3 小时前
移动端滑动手势冲突:overflow: auto导致外层横向滑动失效
前端·javascript·css·vue.js·html
恋恋西风4 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx4 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_5 小时前
C++(22)——类型转换和IO流
开发语言·c++
默_笙5 小时前
🎃 前端学了 Next.js,后端该学啥?NestJS 就是 Node 版的蜜雪冰城
前端·javascript
小范同学_5 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu5 小时前
CSharp: 万年历
开发语言·后端·c#·.net
我找到地球的支点啦6 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信