news 2026/9/12 12:32:24

3 步把 MeloTTS 模型转换成 Sherpa-Onnx 格式:Colab 实操教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3 步把 MeloTTS 模型转换成 Sherpa-Onnx 格式:Colab 实操教程

3 步把 MeloTTS 模型转换成 Sherpa-Onnx 格式:Colab 实操教程

【免费下载链接】sherpa-onnxSpeech-to-text, text-to-speech, speaker diarization, speech enhancement, source separation, and VAD using next-gen Kaldi with onnxruntime without Internet connection. Support embedded systems, Android, iOS, HarmonyOS, Raspberry Pi, RISC-V, RK NPU, Axera NPU, Ascend NPU, x86_64 servers, websocket server/client, support 12 programming languages项目地址: https://gitcode.com/GitHub_Trending/sh/sherpa-onnx

sherpa-onnx 是一个基于 onnxruntime 的离线语音推理框架,支持 TTS、语音识别、VAD,全程不需要联网。本文以 MeloTTS 模型转换为例,把它转成 onnx 格式——一种跨平台、可直接部署运行的模型文件,转完即可被 sherpa-onnx 运行时加载,在 Android、iOS、树莓派上离线跑。

直接用原版 MeloTTS 会卡住的三个地方

  • 依赖链太重:跑原版要整套 Python + torch + melo 包,动辄上百 MB 的运行时代码
  • 权重不能被推理引擎读:官方发布的 checkpoint 是训练框架原生格式,onnxruntime 这类引擎无法直接加载
  • 移动端没法嵌入:Android/iOS 应用里没有现成的嵌入路径

转成 onnx 一次性解决:推理时只需要一个model.onnx加两个文本文件,sherpa-onnx 的 C++ 运行时在 CPU 上就能直接跑,不再需要 Python 环境。

Colab 上准备 TTS 模型转换环境

依赖版本作用
torch / torchaudio2.3.1(CPU 版即可)加载原版 MeloTTS 完成导出
onnx1.15.0向 onnx 文件写入元数据
onnxruntime1.16.3在 Colab 本地做推理验证
soundfile / jieba最新保存 wav / 中文分词

装依赖并拿到转换脚本:

pip install onnx==1.15.0 onnxruntime==1.16.3 soundfile jieba git clone https://gitcode.com/GitHub_Trending/sh/sherpa-onnx

转换脚本在 scripts/melo-tts/,其中的 run.sh 已把克隆 MeloTTS、安装 requirements、下载日语 unidic 词典等步骤全部串好;在自己电脑上跑可以直接执行它。

3 步完成 MeloTTS 模型转换

第 1 步:导出中英混合模型

python3 scripts/melo-tts/export-onnx.py

这一步在做什么:加载 MeloTTS 的 ZH 模型,用 pypinyin 把中文逐字转成音素 + 声调,以 opset 18 导出 onnx。除model.onnx外还会生成tokens.txt(音素到 ID 的映射)和lexicon.txt(词到音素的词典),并向 onnx 写入model_type=melo-vitssample_rate=44100n_speakers等元数据。想要 5 位说话人的纯英文版,换export-onnx-en.py即可。

第 2 步:检查输入输出与元数据

运行show-info.py。这一步在做什么:把 onnx 读回并打印张量名和元数据,确认 7 个输入(x、x_lengths、tones、sid、noise_scale、length_scale、noise_scale_w)、1 个输出 y(mel 谱),以及元数据完整。缺元数据的话,sherpa-onnx 会直接拒绝加载。

第 3 步:生成语音试听验证

运行test.py。这一步在做什么:对一段中英混合文本做分词、查音素、CPU 推理,输出test.wav。听一下——发音正确、中英文切换自然,转换就算完成。

容易踩的坑与调优

⚠️

  • 版本别乱升:脚本钉死 onnx==1.15.0 / onnxruntime==1.16.3,换新版报元数据或算子错误时,先降回这两个版本
  • 说话人数不一致:中英混合模型只有 1 位女声;纯英文版有 5 位(EN-US / EN-BR / EN-INDIA / EN-AU / EN-Default),多音色场景要改纯英文版并按 sid 切换
  • 生僻词读错:多半是词不在音素词典里,可参照 export-onnx.py 中add_new_english_words的注释示例,往 cmudict.rep 或 lexicon 里补条目
  • 语言覆盖:仓库官方脚本目前只导出中英混合、纯英文两套,日语暂没有独立的导出脚本,见 scripts/melo-tts/README.md

转换后的模型怎么选、怎么部署

模型集说话人采样率适用场景
zh_en1 位44.1 kHz中英混读、字幕配音、多语言 TTS 部署
en5 位44.1 kHz多口音英语

model.onnx+tokens.txt+lexicon.txt三个文件放同一目录即可,sherpa-onnx/csrc/ 中的 C++ 运行时直接加载,Android、iOS、Flutter、Python、Rust 等封装层都复用同一套逻辑,多语言 TTS 部署不用再维护两份推理代码。

✅ 仓库里的 flutter-examples/tts/ 示例可以直接用来在真机上验证效果。

🚀 Colab 里 30 分钟,你就能拿到一个可以直接塞进离线多语言 TTS 项目的模型包。

【免费下载链接】sherpa-onnxSpeech-to-text, text-to-speech, speaker diarization, speech enhancement, source separation, and VAD using next-gen Kaldi with onnxruntime without Internet connection. Support embedded systems, Android, iOS, HarmonyOS, Raspberry Pi, RISC-V, RK NPU, Axera NPU, Ascend NPU, x86_64 servers, websocket server/client, support 12 programming languages项目地址: https://gitcode.com/GitHub_Trending/sh/sherpa-onnx

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 12:30:25

Python+AI构建智能旅游路线规划系统实战

1. 项目概述与核心价值这个毕业设计项目融合了Python编程、AI大模型和数据分析三大技术方向,构建了一个智能化的旅游路线规划系统。不同于传统的静态路线推荐,该系统通过整合多源异构数据(包括用户偏好、实时交通、景点热度等)&am…

作者头像 李华
网站建设 2026/9/12 12:29:29

Calibre 电子书管理实操教程:十分钟跑通格式转换与个人书库

Calibre 电子书管理实操教程:十分钟跑通格式转换与个人书库 【免费下载链接】calibre The official source code repository for the calibre ebook manager 项目地址: https://gitcode.com/GitHub_Trending/ca/calibre Calibre 是一款免费开源的电子书管理工…

作者头像 李华
网站建设 2026/9/12 12:29:16

Java全链路测试体系:从单元测试到TDD实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 12:27:18

3个抓包技巧:不用再在真机和电脑间来回改代理配置

3个抓包技巧:不用再在真机和电脑间来回改代理配置 【免费下载链接】network_proxy_flutter Open source free capture HTTP(S) traffic software ProxyPin, supporting full platform systems 项目地址: https://gitcode.com/GitHub_Trending/ne/network_proxy_fl…

作者头像 李华
网站建设 2026/9/12 12:26:53

scrcpy触发Rockchip DMA-BUF泄漏导致Android工位机黑屏卡死

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 12:25:38

从VC++6到现代实践:拆解50万行MFC电子档案系统的架构与部署经验

简介:电子档案编制系统全套VC6源码是一份面向软件开发人员与建筑工程资料管理岗位的完整工程资源,覆盖档案编制、施工日志编制、文档管理三大核心功能,并内置重庆建筑工程全部资料模板库,支持所见即所得的编辑模式,用户…

作者头像 李华