网易首页 > 网易号 > 正文 申请入驻

Voices 能够让 Java 应用程序快速实现文本到语音转换

0
分享至


作者 | Johan Janssen

译者 | 张卫滨

Voices 是一个开源的文本转语音项目,专为运行在 Java 17 或更新版本的应用程序设计的。这个库不需要外部 API 或手动安装的软件,可以根据字典或 OpenVoice 为不同语言生成音频文件。

Henry Coles 是 Voices 和 Pitest 的创建者以及 Arcmutate 的变更测试负责人,他在 2025 年 9 月的 Bluesky 上介绍了 Voices,其最新版本在 2025 年 10 月下旬发布,版本号为 0.0.8。

Voices 使用 ONNX Runtime,这是一个跨平台的 AI 引擎,可以加速训练和推理,支持来自各种深度学习框架的模型,如 TensorFlow 和 PyTorch。该运行时在可能的情况下会利用硬件加速器,并支持各种硬件和操作系统配置。

这里演示的例子需要多个库,以下的 POM 文件配置可以与 Maven 一起使用:

dependency>

其他的构建工具,如 Gradle,也可以用来运行这里展示的样例。

可以通过替换上述依赖项来使用 en_us 字典,以取代 en_uk 字典。onnxruntime 可以被 onnxruntime_gpu 替换以进行 GPU 加速。Chorus类可以用来管理语音模型和管理资源。建议在应用程序中使用单个Chorus实例,因为加载模型的成本较高。以下示例演示了将英文文本转换为 InfoQ_English* 音频文件的过程:

}

前面的示例使用了在构建时通过 Maven 依赖项检索到的模型。其他模型也可以在运行时通过以下 Maven 依赖项检索进来:

dependency>

现在,可以通过以下类的工厂方法使用模型:

org.pitest.voices.download.NonEnglishModels

以下示例使用NonEnglishModels类中的荷兰 nlNLRonnie 模型将荷兰文的文本转换为荷兰语音频文件:

}

另外,还可以使用 OpenVoice 来改善生成的语音,而不需要字典。然而,它需要更多的计算能力,并且模型大小为 50MB,明显大于 3MB 的字典文件。以下依赖项启用了 Maven 对 OpenVoice 的支持:

dependency>

声明依赖项后,可以使用OpenVoiceSupplier模型:

}

OpenVoice 还支持英国或美国英语以及荷兰语等语言的语音,如下例所示:

}

通过从类路径中删除 onnxruntime 并添加 onnxruntime_gpu 依赖项(例如,通过 Maven pom.xml),该库还允许在 GPU 上运行模型,以取代 CPU。接下来,应该使用 gpuChorusConfig 而不是“正常”的 chorusConfig:

ChorusConfig config = gpuChorusConfig(EnUkDictionary.en_uk());

默认情况下,会使用 GPU 0,没有其他选项;另外,可以使用在ChorusConfig类中定义的withCudaOptions()方法进行配置。

当库在文本中遇到 Markdown 符号时,即 #、---、em 或 en 破折号,会添加暂停。

与其他配置一样,可以使用ChorusConfig类来更改暂停的默认设置。

其他一些文本转语音的解决方案(如 Sherpa Onnx 和 MaryTTS),从 Maven 等构建工具中获取较为困难,或者产生的声音质量较低。

InfoQ 联系了 Henry Coles,以了解更多关于 Voices 的信息。

InfoQ:您能想象在什么场景下声音最常见吗?您能分享一些这些库真正发挥作用的样例吗?

Henry Coles: 最初,代码是编辑小说的工具的一部分。我只能猜测它可能在其他地方有用,但当你需要快速生成听起来相当自然的语音,并且不想依赖外部服务时,它就非常合适。

InfoQ:是什么激发了您创建 Voices 库?

Coles:我需要从 Java 生成语音,而大多数现代文本转语音(Text to Speech,TTS)库都是用 Python 编写的。最初,我将 piper 作为 HTTP 服务运行,但这很不方便,所以开始寻找从 Java 运行 piper 模型的方法。

InfoQ:是什么让您决定创建一个新库,而不是与现有的解决方案合作?

Coles:现有的 Java TTS 解决方案是很久以前建立的,按照现代标准听起来很机械。它们很难改进。相比之下,运行 piper ONNX 模型非常简单,但是它缺少一个部分:将文本转换为 音素(phonemes) 的 Java 代码。我找不到任何 Java phonemiser,所以我不得不自己实现一个。

InfoQ:在构建声音时,您面临了哪些挑战,您是如何克服它们的?有没有您非常纠结关键设计决策?

Coles:主要挑战是我对语言学一无所知。开发过程也与我通常的工作方式完全不同。这主要是一个移植项目,即将 TypeScript 逻辑翻译成 Java。测试本质上都是别人的逻辑,由于没有明确的“正确”答案,这进一步复杂化了。英语不能通过简单的规则进行音素化(需要通过字典处理特殊情况),所以对于某些输入,输出总是错误的,这是一个将该类场景识别出来的问题。我最终得到了一个非常手动化的开发循环,生成音频并通过耳朵进行评分,然后添加测试用例以捕获特定输入的回归。

InfoQ:您希望改进库的哪一部分呢?

Coles:我想清理 API。当前的 API 是为了快速满足单一用例而创建的,如果进行一些前期思考,我可能会创建出更好的东西。

InfoQ:未来有计划添加功能吗?

Coles:如果有机会的话,我会考虑改进它处理暂停和设置语音节奏的方式。

InfoQ:您推荐使用库的应用程序应该采用哪种自动化测试方法?也许使用语音转文本解决方案,以便比较输入和输出?

Henry:我建议适度测试输出。一些检查音频是否产生以及一切是否正确连接的测试是很有意义的,但库的功能不是客户端应用程序控制的,所以它们应该主要关注检查输入到边界。

更多信息和示例可以在 GitHub 上找到。

查看英文原文:

Voices Enables Fast Text-to-Speech for Java Applications(https://www.infoq.com/news/2025/11/voices-text-to-speech/)

声明:本文为 InfoQ 翻译,未经许可禁止转载。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
释某被批捕,传闻逐一坐实!

释某被批捕,传闻逐一坐实!

梳子姐
2025-11-16 18:23:57
沈阳一停车场圈占公共免费车位牟利,市民质疑:谁给你的权力?

沈阳一停车场圈占公共免费车位牟利,市民质疑:谁给你的权力?

沈阳公交网小林
2025-11-17 00:13:39
真嗑药了?40岁菲尔普斯已老态龙钟:现身悉尼 奥运23金+资产7亿

真嗑药了?40岁菲尔普斯已老态龙钟:现身悉尼 奥运23金+资产7亿

风过乡
2025-11-14 08:03:19
李在明修改尹锡悦政策,对中国表述变了,韩媒:这是间接对华示好

李在明修改尹锡悦政策,对中国表述变了,韩媒:这是间接对华示好

坠入二次元的海洋
2025-11-17 00:52:59
高市早苗涉台言论受日本舆论反对,看到中方强硬立场日本网民指责高市早苗“闯大祸”

高市早苗涉台言论受日本舆论反对,看到中方强硬立场日本网民指责高市早苗“闯大祸”

环球网资讯
2025-11-14 22:18:42
日本议员坐不住了

日本议员坐不住了

极目新闻
2025-11-16 17:20:31
全村移民加拿大,70多年没回来,广东一无人村,村民斥巨资盖别墅

全村移民加拿大,70多年没回来,广东一无人村,村民斥巨资盖别墅

boss外传
2025-11-16 13:10:03
虐待继女致死的“蛇蝎继母”被决定执行死刑!生母也应该反思

虐待继女致死的“蛇蝎继母”被决定执行死刑!生母也应该反思

细品名人
2025-11-16 07:11:09
央视镜头下,王玉雯秒了韩雨彤,短剧女主和长剧女主一眼看出区别

央视镜头下,王玉雯秒了韩雨彤,短剧女主和长剧女主一眼看出区别

情感大头说说
2025-11-17 01:33:55
人民日报专访,揭开32岁周深的真实处境,那英确实一个字都没说错

人民日报专访,揭开32岁周深的真实处境,那英确实一个字都没说错

八斗小先生
2025-11-01 08:46:54
赴日签证大变天!游客“薅羊毛”的时代或将结束...

赴日签证大变天!游客“薅羊毛”的时代或将结束...

今日日本
2025-11-13 14:05:13
谴责苏联强占北方四岛的霸权主义行径1975年10月23日《人民日报》

谴责苏联强占北方四岛的霸权主义行径1975年10月23日《人民日报》

那些看得见的老照片
2025-11-04 15:02:18
郭家一条狗引发的纠纷,愣是被身为政协委员的赵某晖作成大新闻

郭家一条狗引发的纠纷,愣是被身为政协委员的赵某晖作成大新闻

七月生活情感驿站
2025-11-16 22:50:36
美国平权政策大逆转,最高法院6:3废除种族考量,华人家庭炸锅了

美国平权政策大逆转,最高法院6:3废除种族考量,华人家庭炸锅了

壹知眠羊
2025-11-16 14:14:01
真假?大批媒体曝吴亦凡狱中绝食去世?家人也失联,知情者发声

真假?大批媒体曝吴亦凡狱中绝食去世?家人也失联,知情者发声

180视角
2025-11-12 12:05:43
戏子误国?央视公开点名,官媒狠批,这几个都是咎由自取的

戏子误国?央视公开点名,官媒狠批,这几个都是咎由自取的

阿废冷眼观察所
2025-11-17 01:44:07
日本议员叫嚣:签投降书的是中华民国,新中国没资格发表意见?

日本议员叫嚣:签投降书的是中华民国,新中国没资格发表意见?

兵国大事
2025-11-16 00:05:17
你觉不觉得她,面相变了...

你觉不觉得她,面相变了...

BenSir本色说
2025-11-16 22:07:49
陪玩陪睡不够!集体开嫖、舔手指、目无王法,阴暗面彻底藏不住了

陪玩陪睡不够!集体开嫖、舔手指、目无王法,阴暗面彻底藏不住了

好贤观史记
2025-11-09 21:58:39
喜欢一个人的眼神是藏不住的

喜欢一个人的眼神是藏不住的

贵圈真乱
2025-10-02 09:11:22
2025-11-17 02:52:49
InfoQ incentive-icons
InfoQ
有内容的技术社区媒体
11699文章数 51553关注度
往期回顾 全部

科技要闻

雷军,怒了!刚刚连发多条微博

头条要闻

中国公民需谨慎前往日本 四大原因披露

头条要闻

中国公民需谨慎前往日本 四大原因披露

体育要闻

最佳新秀候选!2028美国男篮有他一个位置

娱乐要闻

CEO爆料肖战《藏海传》狂赚几十亿!

财经要闻

房源暗中调价 央企举报广州国资房企

汽车要闻

"冰彩沙"全配齐 红旗HS6 PHEV预售17.88万起

态度原创

本地
旅游
艺术
亲子
公开课

本地新闻

沈阳都市圈“冷资源”点燃“热联动” “组团”北上“圈粉”哈尔滨

旅游要闻

一票游多日,一举能多得|新京报社论

艺术要闻

这些获奖摄影作品,简直让人目不暇接!

亲子要闻

一分钟教你判断孩子的咳嗽代表什么

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版