sherpa-onnx
sherpa-onnx copied to clipboard
vits-melo-tts-zh_en.tar.bz2 does not work in Kotlin
在Kotlin中使用双语模型vits-melo-tts-zh_en.tar.bz2 ,虽然加载该模型没有报错,但是读出来的声音完全不对,非常含糊不清。 主要的配置如下
modelDir = "vits-melo-tts-zh_en"
modelName = "model.onnx"
lexicon = "lexicon.txt"
dictDir = "$modelDir/dict"
ruleFsts = "$modelDir/new_heteronym.fst,$modelDir/number.fst,$modelDir/phone.fst,$modelDir/date.fst"
dataDir = ""
....
if (dictDir != null) {
val newDir = copyDataDir(dictDir!!)
dictDir = "$newDir/$dictDir"
}
....
会是什么问题?谢谢!
造成声音含糊不清的常见原因有:
-
必须确保所有模型文件(model.onnx、lexicon.txt、tokens.txt、dict目录、date.fst、number.fst、phone.fst、new_heteronym.fst)都在正确的目录结构下,并且路径在Kotlin环境中能被正确解析。建议参考官方文档,目录结构需与 示例 完全一致。
-
系统和Kotlin运行环境必须使用 UTF-8 编码,否则中文或双语模型会出现无声或发音异常的问题。请确认所有文本输入和文件操作都采用 UTF-8 编码,详见 FAQ。
-
只支持 lexicon.txt 中存在的英文单词,缺失的词需要手动添加,否则会导致发音不清楚。官方说明。
-
建议检查 ruleFsts、dictDir 等路径是否在Kotlin环境下被正确拼接和引用,路径错误会导致模型推理异常但不一定报错。
-
音频采样率为 44100Hz,播放或处理时需匹配,否则也可能影响音质。
建议先核查上述几点,尤其是目录结构和编码设置。如果仍有问题,可以用 Python 或 C++ 参考官方示例测试模型,确认是否为Kotlin特有问题。
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other