Sherpa Onnx issues 2612 add phoonnx models
add phoonnx models #2612
https://github.com/k2-fsa/sherpa-onnx/issues/2612
这个 GitHub Issue #2612 是在做什么?
这个 Issue 来自 sherpa-onnx 项目(一个 ONNX 运行时的语音识别/合成工具),标题是“add phoonnx models”(添加 phoonnx 模型)。简单来说,开 issue 的人(@JarbasAl)想请求项目团队在 sherpa-onnx 中添加对 phoonnx 模型的支持。下面我一步步解释清楚,避免技术细节太深。
背景:Phoonnx 是什么?
- Phoonnx 是作者自己开发的 TTS(Text-to-Speech,文本转语音)引擎,仓库在 https://github.com/TigreGotico/phoonnx。
- 它还处于早期开发阶段,作者自己说“不是生产就绪的”(not production-ready),但已经能用了。
- Phoonnx 的模型用 espeak(一个语音合成工具,用于生成音素)训练时,和 Piper TTS(另一个 TTS 系统)兼容。sherpa-onnx 项目之前已经在 PR #2530 中用过作者的这些模型。
Issue 的目的:想做什么?
- 作者的最新训练代码让模型的
.json配置文件稍有变化,所以他觉得是时候正式提个 issue,让 sherpa-onnx 官方支持 phoonnx 模型。 - 重点是只支持用 espeak + IPA(国际音标)训练的模型,其他类型的(如非 espeak 的音素化器)还需要更多测试。
- 好处:这样 sherpa-onnx 就能直接运行 phoonnx 的语音模型了,尤其适合多语言场景(例子是阿拉伯语模型)。
Issue 里提供了什么?
- 一个Python 脚本,用来处理 phoonnx 模型,让它兼容 sherpa-onnx。具体步骤:
- 加载模型的
.json配置。 - 检查配置(必须是 IPA 字母表 + espeak 音素化器,否则报错)。
- 生成一个
tokens.txt文件(列出音素 ID 映射,跳过无效的如换行符)。 - 在 ONNX 模型文件里添加元数据(metadata),比如:
- 模型类型:vits(一种 TTS 架构)。
- 语言:如 “Arabic”(阿拉伯语)。
- 声音:如 “ar-SA”(阿拉伯语-沙特)。
- 采样率、说话人数等。
- 标记有 espeak 支持。
- 脚本示例针对一个叫 “miro_ar-SA.onnx” 的阿拉伯语模型。
- 加载模型的
脚本代码大致长这样(简化版):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import json
import onnx
# ... (加载配置、生成 tokens.txt 的函数)
def add_meta_data(filename, meta_data):
model = onnx.load(filename)
for key, value in meta_data.items():
meta = model.metadata_props.add()
meta.key = key
meta.value = str(value)
onnx.save(model, filename)
# 主函数:加载配置、验证、生成文件、添加元数据
当前状态
- Issue 还是开放的,没有分配人、标签、分支或 PR。
- 没有新评论或更新(从文档和最新检查看)。
为什么提这个 Issue?
本质上是作者想让 sherpa-onnx “拥抱”他的 phoonnx 项目,促进 TTS 生态整合。如果你对 TTS 感兴趣,可以去 phoonnx 仓库试试模型,或者在 Issue 下评论支持。假如你想深入,可以看原链接:https://github.com/k2-fsa/sherpa-onnx/issues/2612。
如果还有具体不懂的地方(如代码细节),再问我!
--
Comments powered by Disqus.