PiperTTS执行报错/usr/share/espeak-ng-data/phontab: No such file or directory的排查求助及TTS工具选型建议
一、先解决PiperTTS的报错问题
你遇到的这个报错其实是个典型的依赖缺失坑——PiperTTS需要借助espeak-ng这个开源工具完成「文本转音素」的前置转换,而你的系统里还没安装它,导致找不到音素表文件phontab。这个依赖在项目README里确实没明确提,很容易踩雷。
解决起来非常简单,你用的PopOS是基于Ubuntu的,直接用包管理器安装即可:
sudo apt update && sudo apt install espeak-ng
安装完成后,先验证一下文件是否存在:
ls /usr/share/espeak-ng-data/phontab
能看到这个文件的话,再重新运行你之前的命令(从build目录执行的路径是对的):
echo "welcome to the world of speech synthesis!" | ./piper --model ../en_US-lessac-medium.onnx --output_file test.wav
这次应该就能正常生成WAV音频文件了。
二、替代TTS工具选型建议
如果你之后觉得Piper用着不顺手,或者想试试其他更适配你的场景的工具,给你推荐几个适合Linux本地运行的开源TTS引擎:
- Coqui TTS:目前热度很高的开源项目,支持多语言离线运行,能训练自定义语音模型,生成的音质比Piper的基础模型更自然,文档也很完善,适合对音质有要求或者需要定制化的场景。
- eSpeak-NG:就是刚才Piper依赖的那个工具,它本身也是独立的TTS引擎,体积小、资源占用低、启动快,但声音偏机械,适合对音质要求不高、追求轻量高效的场景(比如系统提示音)。
- MaryTTS:老牌开源TTS引擎,支持多语言和多种语音,可高度定制,还提供Web API接口,适合需要集成到服务中的场景,不过配置相对复杂一点。
- OpenTTS:对多个TTS引擎的可视化包装,界面友好,支持Piper、eSpeak-NG、Coqui等多种后端,适合不想折腾命令行、想要简单操作的用户。
小补充
你之前的命令本身是没问题的,就是缺了依赖。如果安装espeak-ng后还是有问题,可以检查模型文件和对应的JSON配置文件是否在同一目录(你的情况里两个文件是对应的,应该没问题),或者试试从项目根目录直接运行:
echo "welcome to the world of speech synthesis!" | ./build/piper --model en_US-lessac-medium.onnx --output_file test.wav
内容来源于stack exchange
相关产品推荐
相关产品推荐

