十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

sherpa-onnx 离线语音合成实战指南:5 分钟跑通 3 类模型的多平台 TTS

sherpa-onnx 离线语音合成实战指南:5 分钟跑通 3 类模型的多平台 TTS sherpa-onnx 离线语音合成实战指南5 分钟跑通 3 类模型的多平台 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给应用加朗读功能过去要接云 API还要为每个平台单独适配。sherpa-onnx 用 ONNX 模型做离线语音合成text-to-speech不联网也能跑手机、桌面、嵌入式都支持。能力支持平台模型体积语言支持离线 TTSAndroid、iOS、macOS、Windows、Linux、嵌入式几十 MB 到几百 MB中文、英文、中英混合等多说话人音色SID全平台与主模型共用每个模型 0~35 个音色语速调节全平台—0.5~2.0 倍完全离线全平台本地模型文件无需联网5分钟跑通安装与第一条合成命令 结论先行装一个 Python 库、下一个中文 VITS 模型、跑一条命令就能得到可播放的 wav。装库并准备模型选 vits-icefall-zh-aishell3 中文模型从项目 releases 的 tts-models 列表下载git clone https://gitcode.com/GitHub_Trending/sh/sherpa-onnx cd sherpa-onnx pip install sherpa-onnx soundfile # 下载并解压 vits-icefall-zh-aishell3 模型到当前目录生成音频python3 python-api-examples/offline-tts.py \ --vits-model./vits-icefall-zh-aishell3/model.onnx \ --vits-lexicon./vits-icefall-zh-aishell3/lexicon.txt \ --vits-tokens./vits-icefall-zh-aishell3/tokens.txt \ --tts-rule-fsts./vits-icefall-zh-aishell3/phone.fst,./vits-icefall-zh-aishell3/date.fst,./vits-icefall-zh-aishell3/number.fst \ --sid21 --output-filename./test.wav \ 勿以恶小而为之勿以善小而不为。期望看到终端打印 RTF 数值当前目录多出一个 test.wav。播放能听到女声朗读。RTF0.3 表示 10 秒语音 3 秒合成完小于 1 就是实时。脚本入口是 python-api-examples/offline-tts.py文件头注释里附了 8 套不同模型的现成命令照着改路径即可。模型怎么选VITS、Kokoro、Matcha 横向对比 结论先行按语言定模型再按体积定档位。纯中文选 aishell3纯英文选 piper 或 kitten中英混排只能选 Kokoro 多语言版。模型适用场景语言体积速度vits-piperlow/medium英文通用朗读英文、德文小快vits-icefall-zh-aishell3中文多说话人中文中快kitten-nanofp16英文轻量端侧英文小快kokoro-multi-lang中英同句混排中、英等大中matcha vocos 声码器高音质中英中、英大声学模型声码器偏慢三条经验纯中文场景aishell3 够用sid 0~35 挑音色即可别上更重的模型。端侧纯英文piper 或 kitten 包体最小内存压力低。一句话里中英混杂其他模型会读串必须用 kokoro-multi-lang。平台落地Android、iOS 与桌面怎么部署结论先行各平台核心逻辑都是同一个 OfflineTts只是模型加载和播放部分不同直接拿对应示例改。平台示例目录关键注意点Androidandroid/SherpaOnnxTts用量化模型省内存管好音频播放生命周期iOSios-swiftui/SherpaOnnxTts先配好 Xcode 签名建议真机验证桌面跨平台flutter-examples/tts模型放 assets/ 后跑 generate-asset-list.pyLinux 先装 gstreamer服务端 / CLIpython-api-examples适合批量生成、离线预热语音不想写原生代码的话flutter-examples/tts/ 一套代码覆盖 Android、iOS、Windows、macOS、Linux、Web 六个端。Android 端单独做参考 android/SherpaOnnxTts/里面 UI 和合成逻辑是分开的好拆。参数速查SID、语速、线程数、RTF参数作用推荐值踩坑提示--sid说话人 ID决定音色语调aishell30~35超出范围会无声音或破音speed合成语速0.9~1.1超过 1.5 明显失真--num-threads推理线程数手机 1~2桌面 2~4线程多不一定更快还吃内存RTF合成耗时 / 语音时长小于 1实时大于 1 说明慢于实时换小模型RTF 是最值得盯的一个数。桌面对 0.3移动端常见 0.5~1。移动端同时看内存线程数先从 2 往下调。场景落地朗读、无障碍与语音播报课文朗读教育应用需求长段中文、音色稳定、用户可换声音。做法aishell3 模型加 sid 下拉框App 启动时加载模型一次。注意长文按段拆分再合成避免一次性生成撑高内存。屏幕阅读无障碍需求发音清晰用户能调速度。做法固定一个说话人暴露 0.8~1.2 的语速选项。注意语速拉满后再测试超过 1.2 后清晰度掉得快。语音播报智能硬件 / 客服需求响应快、RTF 低。做法服务端批量预生成或端侧上量化小模型。注意首次合成含模型加载耗时启动时预加载。避坑清单症状、原因与修复 ⚠️wav 无声或破音 → sid 超出该模型范围 → 换成模型支持的说话人 ID逐个试听。中文数字、日期读得生硬 → 没传规则 FST → 给 --tts-rule-fsts 补上 phone.fst、date.fst、number.fst。RTF 大于 1慢于实时 → 模型偏大或线程不够 → 换小模型线程按速查表调。设备上找不到模型 → 沿用了本地绝对路径 → 模型放进资源目录用资源路径引用。中英混读错乱 → 单语言模型吃不下混排文本 → 换 kokoro-multi-lang。现在就跑上面两条命令用 aishell3 模型生成第一段中文 wav。遇到问题按避坑清单逐条对照。【免费下载链接】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),仅供参考
返回列表