2025-09-10 10:56:53 +08:00
|
|
|
|
# Piper-TTS
|
|
|
|
|
|
|
|
|
|
|
|
本项目基于 **piper** 模型封装,提供简洁的 Docker 部署方式,支持 **SSML 输入**,输出 **PCM 原始音频**,可用于语音合成。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Quickstart
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 安装镜像
|
|
|
|
|
|
```bash
|
|
|
|
|
|
docker build -t tts:piper . -f Dockerfile_piper
|
|
|
|
|
|
```
|
2025-09-15 18:06:51 +08:00
|
|
|
|
其中,基础镜像 corex:4.3.0 通过联系天数智芯智铠100厂商技术支持可获取
|
2025-09-10 10:56:53 +08:00
|
|
|
|
|
|
|
|
|
|
### 2. 启动服务
|
|
|
|
|
|
```bash
|
|
|
|
|
|
docker run -it --rm \
|
|
|
|
|
|
-v /models/piper_model:/mnt/models \
|
|
|
|
|
|
-v /dev:/dev \
|
|
|
|
|
|
--device=/dev/iluvatar0:/dev/iluvatar0 \
|
|
|
|
|
|
-p 8080:80 \
|
|
|
|
|
|
-e MODEL_DIR=/mnt/models \
|
|
|
|
|
|
-e MODEL_NAME=zh/zh_CN/huayan/medium/'epoch=3269-step=2460540.ckpt' \
|
|
|
|
|
|
tts:piper
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
参数说明:
|
|
|
|
|
|
- `MODEL_DIR`:模型所在目录(挂载到容器内 `/mnt/models`)
|
|
|
|
|
|
- `MODEL_NAME`:加载的模型文件名(通常为 `.safetensors`)
|
|
|
|
|
|
- `-p 8080:80`:将容器内服务端口映射到宿主机 `8080`
|
|
|
|
|
|
- `--device=/dev/iluvatar0:/dev/iluvatar0`:指定推理设备(如 GPU/加速卡)
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 测试服务
|
|
|
|
|
|
```bash
|
|
|
|
|
|
curl --request POST "http://localhost:8080/tts" \
|
|
|
|
|
|
--header 'Content-Type: application/ssml+xml' \
|
|
|
|
|
|
--header 'User-Agent: curl' \
|
|
|
|
|
|
--data-raw '<speak version="1.0" xml:lang="zh">
|
|
|
|
|
|
<voice xml:lang="zh" xml:gender="Female" name="zh">
|
|
|
|
|
|
今天天气很好,不知道明天天气怎么样。
|
|
|
|
|
|
</voice>
|
|
|
|
|
|
</speak>' \
|
|
|
|
|
|
--output sound.pcm
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|