尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Sherpa-ONNX 语音合成(TTS)新手入门:5 个平台一次配好,附完整参数速查

Sherpa-ONNX 语音合成(TTS)新手入门:5 个平台一次配好,附完整参数速查 Sherpa-ONNX 语音合成(TTS)新手入门5 个平台一次配好附完整参数速查【免费下载链接】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-onnxSherpa-ONNX 是基于 ONNX Runtime 的离线语音工具箱一条命令就能把中文、英文文本转成自然语音无需联网覆盖 Android、iOS、Windows、macOS、Linux、树莓派与 RISC-V 等环境。本文带你装好环境、选好模型跑通第一句文本转语音(TTS)。它解决什么问题很多项目要在手机、桌面和嵌入式设备上朗读文本却要为每个平台单独找引擎、调参数。Sherpa-ONNX 把 TTS、语音识别、声纹分离等能力统一成同一套 ONNX 模型和 C 核心配合 Python、Java、Kotlin、Go、Swift、Dart、Rust 等 12 种语言的绑定做到模型一次准备、多端直接调用。完全离线运行推理不依赖网络适合隐私敏感的本地应用。同一模型可在 CPU、CUDA、CoreML 等不同后端推理性能随设备自适应。内置多种开箱即用的 TTS 模型VITS、Matcha、Kokoro、Kitten下载即用。提供跨平台示例工程Android、iOS、HarmonyOS、桌面与 Flutter可直接改参数验证效果。快速上手装环境Python 路线最快官方 wheel 已打包好一条命令即可pip install sherpa-onnx soundfile若要从源码构建可先克隆仓库再进入 Python 示例目录git clone https://gitcode.com/GitHub_Trending/sh/sherpa-onnx cd sherpa-onnx/python-api-examples选模型不同模型在语种、音质和体积上各有取舍按下表挑一个下载即可各语言示例里都带了对应的下载脚本。模型语种特点适用场景matcha-icefall-zh-baker中文音质自然需额外 Vocos 声码器中文朗读vits-piper-en_US-amy-low英语体积小、速度快英文轻量场景kokoro-multi-lang-v1_0中英混合单模型多语言中英混排kitten-nano-en-v0_1英语fp16 量化最轻量资源受限设备sherpa-onnx-vits-zh-ll中文多说话人音色可切需要换音色最小可运行不写代码也能先跑通。以中文 Matcha 为例先下载模型与声码器再调用 示例脚本python3 ./python-api-examples/offline-tts.py \ --matcha-acoustic-model./matcha-icefall-zh-baker/model-steps-3.onnx \ --matcha-vocoder./vocos-22khz-univ.onnx \ --matcha-lexicon./matcha-icefall-zh-baker/lexicon.txt \ --matcha-tokens./matcha-icefall-zh-baker/tokens.txt \ --tts-rule-fsts./matcha-icefall-zh-baker/phone.fst,./matcha-icefall-zh-baker/date.fst,./matcha-icefall-zh-baker/number.fst \ --output-filename./out.wav \ 今天天气不错我们一起去公园散步吧。跑完会看到一段文本和实时因子(RTF)out.wav里就是合成结果。核心 API 走读命令行之外自己写应用时直接用 Python 绑定即可核心只有四步配置、实例化、生成、保存。import sherpa_onnx import soundfile as sf config sherpa_onnx.OfflineTtsConfig( modelsherpa_onnx.OfflineTtsModelConfig( matchasherpa_onnx.OfflineTtsMatchaModelConfig( acoustic_model./matcha-icefall-zh-baker/model-steps-3.onnx, vocoder./vocos-22khz-univ.onnx, lexicon./matcha-icefall-zh-baker/lexicon.txt, tokens./matcha-icefall-zh-baker/tokens.txt, ), num_threads2, # 并行线程数 providercpu, # 可选 cpu / cuda / coreml ), rule_fsts./matcha-icefall-zh-baker/phone.fst, ./matcha-icefall-zh-baker/date.fst, ./matcha-icefall-zh-baker/number.fst, ) tts sherpa_onnx.OfflineTts(config) gen sherpa_onnx.GenerationConfig() gen.sid 0 # 说话人 ID gen.speed 1.0 # 语速 gen.silence_scale 0.2 # 停顿缩放 audio tts.generate(欢迎使用 Sherpa-ONNX 语音合成。, gen) sf.write(./out.wav, audio.samples, samplerateaudio.sample_rate, subtypePCM_16) print(时长(秒):, len(audio.samples) / audio.sample_rate)几个关键参数num_threads控制神经网络并行度线程越多通常越快但受 CPU 上限provider指定推理后端无 GPU 就保持cpurule_fsts是中文文本规整规则把数字、日期读对缺了它中文数字会念得不自然generate返回的audio.samples是浮点采样、audio.sample_rate是采样率交给soundfile存盘即可。换 VITS/Kokoro/Kitten 模型时只需把matcha换成对应的vits/kokoro/kitten配置块其余流程不变。各平台接入要点Android在android/SherpaOnnxTts/下有现成工程模型文件放进assets或下载后放到内部存储注意在AndroidManifest声明录音/存储权限。内存紧张时优先选量化(fp16/int8)模型版本播放生命周期要和 Activity 绑定避免退出后残留占用。iOS / macOSSwift 侧参考ios-swiftui/SherpaOnnxTts/用 Pod 或 SwiftPM 引入共享库。模型路径建议放 Bundle 或 Documents 目录并先检查存在性iOS 上可用coreml后端加速但要先确认模型已转成对应版本。Windows / Linux 桌面桌面用 Python 或 C 都方便Linux 下provider可选cuda走 GPU。路径用绝对路径或相对仓库根的路径即可跨平台打包时注意把模型文件随程序一起分发。嵌入式 / 树莓派 / RISC-V资源受限设备把num_threads降到 1选 Kitten 或 int8 量化模型必要时裁剪到只保留 TTS 功能以减小二进制体积。调参速查表参数推荐值作用sid说话人 ID多说话人模型 0~N单说话人固定 0切换音色与语调speed语速0.8~1.2大于 1 更快、小于 1 更慢num_threads线程数手机 1~2桌面 2~4并行推理越多越快但有上限provider后端cpu可选cuda/coreml选择加速方式silence_scale停顿缩放0~1约 0.2控制句间停顿长短max_num_sentences1长文本分批处理防止内存溢出常见坑合成结果是空文件或没声音先确认所有.onnx、lexicon.txt、tokens.txt路径都对、文件下载完整Matcha 还要求声码器vocos一并存在。中文数字、日期读得不自然忘了配rule_fsts补上phone.fst/date.fst/number.fst后再合成。RTF 大于 1比实时还慢减少线程数、换更小或量化模型或在有 GPU 的机器上切到cuda后端。中英混排读岔了检查所选模型是否支持多语言Kokoro 多语言版还需额外指定lexicon里的对应语言词典。进阶方向跑通基础后可以试 边合成边播放脚本 降低首包延迟按内容语种搭配不同模型英文走 Kitten、纯中文走 VITS、混排走 Kokoro以提升音质与速度平衡还想让音色随参考音频变化可看 零样本 TTS 示例。模型侧的转换与导出流程在 scripts/matcha-tts/、scripts/kokoro/等目录里有配套脚本。先挑一个最贴近你项目的模型把上面的最小例子改成自己的文本跑一遍再按速查表微调sid和speed几分钟就能得到一条可用的语音合成流水线。【免费下载链接】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),仅供参考
返回列表