【开源的Android离线语音合成(TTS)方案】
【开源的Android离线语音合成方案】git:https://github.com/ybsoftware/AndroidTTS离线中文神经网络 TTSsherpa-onnx VITS完全离线运行的高精度中文文字转语音 Android 应用。使用 sherpa-onnxONNX Runtime加载 VITS 神经网络模型不依赖系统 TTS 引擎、不联网可商用Apache-2.0。特性✅ 完全离线模型与词典内置在 APK 中运行时零网络访问✅ 流式播放基于 generateWithCallback MODE_STREAM AudioTrack 合成即播放首音延迟 ~10ms无音频长度上限✅ 174 个发音人aishell3 多说话人模型✅ 可调语速 / 音调、发音人选择、WAV 保存✅ Apache-2.0 许可证可用于商业产品架构输入文本 → 规则 FST数字/日期/电话/多音字→ VITS 神经网络 → 浮点音频块→ PCM16 转换 → AudioTrack (MODE_STREAM) 边合成边播放组件 技术推理引擎 sherpa-onnx 1.13.4ONNX Runtime 封装声学模型 VITS aishell3174 说话人8kHz文本归一化 date.fst / number.fst / phone.fst / new_heteronym.fst播放 AudioTrack MODE_STREAM16-bit PCM构建环境重要需要 JDK 17、Android SDK、Gradle 7.2。关键设置 ANDROID_SDK_HOME 指向可写的用户目录否则 AGP 因 C:.android 不可写而失败$env:ANDROID_SDK_HOME “C:\Users\Administrator”$env:ANDROID_HOME “D:\sdk”$env:ANDROID_SDK_ROOT “D:\sdk”$env:JAVA_HOME “F:\Program Files\Java\jdk-17.0.12”$env:GRADLE_USER_HOME “G:\AIProject\AndroidTTs.gradle-home”$gh “C:\Users\Administrator.gradle\wrapper\dists\gradle-7.2-bin\2dnblmf4td7x66yl1d74lt32g\gradle-7.2” (Join-Path $gh “bin\gradle.bat”) assembleDebug --no-daemonAPK 输出app/build/outputs/apk/debug/app-debug.apk安装到设备$adb “D:\sdk\platform-tools\adb.exe” $adb install -r “app\build\outputs\apk\debug\app-debug.apk” $adb shell am start -n com.aiproject.androidtts/.MainActivity⚠️ 当前 abiFilters 包含 x86用于模拟器调试。生产发布时请删除 x86仅保留 arm64-v8a。切换高保真模型提升音质当前 aishell3 输出 8000 Hz电话级音质。如需更高自然度的生产级音质 可切换到 vits-zh-hf-doom单发音人、更自然1. 下载高保真模型powershell -ExecutionPolicy Bypass -File download-model.ps1 -Model hf-doom然后修改 app/src/main/java/com/aiproject/androidtts/TtsController.javaprivate static final String MODEL_FILE MODEL_DIR “/vits-zh-hf-doom.onnx”;private static final String ENGINE_LABEL “VITS 神经网络 (hf-doom)”;重新构建即可。可选模型对比模型 大小 采样率 发音人 音质 许可证aishell3默认 ~120 MB 8000 Hz 174 电话级 Apache-2.0hf-doom推荐 ~600 MB ~22050 Hz 1 高自然度 Apache-2.0mms-zho ~280 MB 22050 Hz 1 中等 CC-BY-4.0关键文件文件 说明app/src/main/java/…/TtsController.java sherpa-onnx 封装流式合成 播放 保存app/src/main/java/…/MainActivity.java UI发音人选择、语速/音调、朗读/停止/保存app/src/main/assets/vits-zh/ 模型文件~124 MB不随源码分发app/libs/sherpa-onnx-1.13.4.aar 推理引擎 AAR48.8 MBapp/build.gradle minSdk 24本地 AAR 依赖noCompress onnxdownload-model.ps1 模型下载脚本支持多模型许可证模型 aishell3Apache-2.0可商用训练数据 AISHELL-3Apache-2.0sherpa-onnx 运行时Apache-2.0本应用代码可自由使用