# tts-server **Repository Path**: lipeng260/tts-server ## Basic Information - **Project Name**: tts-server - **Description**: tts-server - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-25 - **Last Updated**: 2026-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TTS 播报服务 默认使用本地 AISHELL3 VITS 模型,POST 纯文本到 `http://localhost:19999/` 播报。 ## 音量和音色 ```bash venv/bin/python tts_server.py --action all --speaker 8 --speed 1.0 --gain-db 12 ``` - `--gain-db`:默认 +12 dB,约为原始采样振幅的 4 倍,不代表主观响度 4 倍。可设置 -24~24。音频峰值限制在 -1 dBFS;如果增益会导致削波,会自动降低整段增益。保存和播放使用同一份处理后的音频。设为 0 可对比原始音量(仍保留峰值保护)。 - `--speaker`:当前模型支持 0~173。默认 8,可以用相同文字试听不同编号,按偏好选择。 - `--speed`:0.5~2.0,默认 1.0。先保持正常语速,再按试听结果微调。 - `--action save`:只保存 WAV;`play`:只在服务器播放;`all`:两者都执行。播放依赖 Linux 的 `aplay`。 现有 `start.sh` 和 systemd 服务重启后会使用默认 +12 dB。若通过 systemd 自定义参数,修改部署机器上 `/etc/systemd/system/tts-server.service` 的 `ExecStart`,例如: ```ini ExecStart=/opt/tts-server/venv/bin/python3 tts_server.py --speed 1.0 --speaker 8 --gain-db 12 ``` 然后运行 `sudo systemctl daemon-reload` 和 `sudo systemctl restart tts-server`。仅更新 Python 代码时只需重启服务。 ## 提升音质 当前模型输出只有 8000 Hz,音频频率上限约 4 kHz,清晰度受限。提高音量不能改善模型的音色或补回高频;将 WAV 重采样为更高采样率也不能恢复这些细节。 可以先试听 [官方 MeloTTS 示例](https://k2-fsa.github.io/sherpa/onnx/tts/pretrained_models/vits.html#vits-melo-tts-zh-en-chinese-english-1-speaker)。这个 VITS 模型输出 44100 Hz,只有一个音色,模型文件约 163 MB。下面的命令下载后可切换使用: ```bash wget https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-melo-tts-zh_en.tar.bz2 tar -xjf vits-melo-tts-zh_en.tar.bz2 venv/bin/python tts_server.py --model-dir ./vits-melo-tts-zh_en --speaker 0 --gain-db 12 --action all ``` 切换前先停止占用 19999 端口的旧服务。MeloTTS 需要更多计算资源,应在实际 Orange Pi 上测试生成耗时和听感;当前项目未附带该模型。现有车牌字母、数字转中文规则仍会生效。 ## WAV 已够响但喇叭仍小声 在播放设备上用 `aplay -l` 查看声卡,用 `alsamixer` 选择实际输出声卡,检查 Master、PCM 或 Speaker 是否静音以及音量位置。不同声卡的控制项可能不同。逐步调整系统、功放和音箱音量;如果已出现破音,应降低音量。软件增益不能弥补功放或喇叭功率不足。