AIBook端上 TTS 运行说明
使用说明
基于端上语音合成轻量级工具包进行TTS模型推理。
安装包下载
wget https://mt-vaas-web.tos-cn-beijing.volces.com/tts/tts_service/litetts260807/litetts_delivery.tar
交付文件:
litetts_delivery.tar
该文件为未压缩 tar 包,包含完整的 LiteTTS 服务端和独立客户端。
第三方只需要获取这一个文件,无需:
- 另外下载模型;
- 安装
protos/perfmax; - 准备 gRPC 协议文件。
1. 交付包内容
解包后包含两个目录:
litetts/
├── integrated_server/ # LiteTTS 服务端、模型和启动脚本
└── client/ # 独立流式调用客户端及客户端依赖
独立客户端文件:
litetts/client/litetts_stream_client.py
2. 部署
2.1 解包
将 litetts_delivery.tar 上传到目标机器后执行:
cd ~
rm -rf litetts
mkdir -p litetts
cd litetts
tar -xvf /path/to/litetts_delivery.tar
解包完成后,目录应为:
/home/<用户名>/litetts/integrated_server/
/home/<用户名>/litetts/client/
2.2 启动服务
进入服务目录:
cd ~/litetts/integrated_server
执行以下命令启动本地 CPU 服务:
TARGET_DEVICE=cpu \
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python \
LOGURU_LEVEL=DEBUG \
ONNX_INTRA_OP_NUM_THREADS=2 \
ONNX_INTER_OP_NUM_THREADS=2 \
TORCH_NUM_THREADS=2 \
OMP_NUM_THREADS=2 \
MKL_NUM_THREADS=2 \
PROSODY_MODEL_TARGET_DEVICE=cpu \
NUM_FFMPEG_THREADS=2 \
TOKENIZERS_PARALLELISM=true \
LOG_DIR=/tmp \
POD_NAME=latest_lite \
TOS_ACCESS_KEY=XXX \
TOS_SECRET_KEY=XXX \
TZ=Asia/Shanghai \
./serving/start_server.sh \
--target_voices AIBC006_lite,AIBF002_lite,AIBF003_lite,AIBF105_lite,AIBF111_lite,AIBM101_lite,AIBM115_lite \
--grpc_port 51061 \
--start_all_services false
服务启动后,gRPC 地址为:
<服务地址>:51061
默认加载音色
上述启动命令加载原有 7 个 Lite 音色:
| 音色 ID | 音色名称 |
|---|---|
AIBC006_lite | 程小可 |
AIBF002_lite | 程小园 |
AIBF003_lite | 程小苏 |
AIBF105_lite | 程小星 |
AIBF111_lite | 程小艾 |
AIBM101_lite | 程小虎 |
AIBM115_lite | 程小春 |
如需使用其他随包配置的音色,可以将音色 ID 加入 --target_voices。
客户端只能调用服务启动时成功加载的音色。
3. 流式推理调用
进入客户端目录:
cd ~/litetts/client
使用独立客户端调用:
python3 litetts_stream_client.py \
--address <服务地址>:51061 \
--voice AIBC006_lite \
--text "欢迎使用摩尔线程本地语音合成。"
客户端通过 StreamingSynthesizeSpeech 接口发送自然文本,并持续接收服务端返回的音频响应。
服务端内部会完成:
自然文本
↓
本地文本规范化
↓
分句
↓
Frontend / G2P
↓
MNN 推理
↓
音频输出
因此,调用方不需要自行准备音素。
默认输出文件:
~/litetts/client/gRPCClient.wav
也可以通过 --output_fpath 指定输出路径:
python3 litetts_stream_client.py \
--address <服务地址>:51061 \
--voice AIBF002_lite \
--text "欢迎使用摩尔线程本地语音合成。" \
--output_fpath ./result.wav
4. 调用参数
| 参数 | 类型 | 必填 | 默认值 | 当前支持范围 | 含义 |
|---|---|---|---|---|---|
--address | 字符串 | 否 | localhost:51061 | <主机名或服务地址>:<gRPC端口> | LiteTTS gRPC 服务地址。不要添加 http:// 或 https://。实际部署时建议显式传 入。 |
--voice | 字符串 | 否 | AIBC006_lite | 本次服务启动时通过 --target_voices 成功加载的音色;默认部署为上述 7 个 Lite 音色 | 指定合成音色。 |
--text | 字符串 | 否 | 欢迎使用摩尔线程本地语音合成。 | 中文、英文和中英文混合自然文本,可包含标点和换行;不能为空 | 待合成的自然文本。 |
--output_fpath | 字符串 | 否 | gRPCClient.wav | 当前用户有写权限的路径,建议使用 .wav 后缀 | 输出 WAV 文件路径。 |
参数示例
选择其他音色:
--voice AIBM101_lite
完整示例:
python3 litetts_stream_client.py \
--address <服务地址>:51061 \
--voice AIBM101_lite \
--text "欢迎使用摩尔线程本地语音合成。" \
--output_fpath ./result.wav
5. 输出格式
客户端会将服务端返回的音频 Chunk 按顺序合并为 WAV 文件。
默认输出格式:
| 属性 | 格式 |
|---|---|
| 编码 | PCM 16-bit |
| 声道 | 单声道 |
| 采样率 | 22050 Hz |
| 容器格式 | WAV |
6. 部署完成后验证
部署完成后,只需使用一个短文本进行验证。
进入客户端目录:
cd ~/litetts/client
执行:
python3 litetts_stream_client.py \
--address <服务地址>:51061 \
--voice AIBC006_lite \
--text "欢迎使用摩尔线程本地语音合成。"
确认以下结果即可:
- 命令正常结束;
- 成功生成
gRPCClient.wav; - WAV 文件可以正常播放;
- 实际合成音色与传入的
--voice一致。
7. 快速部署流程
完整流程可以概括为:
# 1. 下载交付包
wget https://mt-vaas-web.tos-cn-beijing.volces.com/tts/tts_service/litetts260807/litetts_delivery.tar
# 2. 解包
cd ~
rm -rf litetts
mkdir -p litetts
cd litetts
tar -xvf /path/to/litetts_delivery.tar
# 3. 启动服务
cd ~/litetts/integrated_server
TARGET_DEVICE=cpu \
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python \
LOGURU_LEVEL=DEBUG \
ONNX_INTRA_OP_NUM_THREADS=2 \
ONNX_INTER_OP_NUM_THREADS=2 \
TORCH_NUM_THREADS=2 \
OMP_NUM_THREADS=2 \
MKL_NUM_THREADS=2 \
PROSODY_MODEL_TARGET_DEVICE=cpu \
NUM_FFMPEG_THREADS=2 \
TOKENIZERS_PARALLELISM=true \
LOG_DIR=/tmp \
POD_NAME=latest_lite \
TOS_ACCESS_KEY=XXX \
TOS_SECRET_KEY=XXX \
TZ=Asia/Shanghai \
./serving/start_server.sh \
--target_voices AIBC006_lite,AIBF002_lite,AIBF003_lite,AIBF105_lite,AIBF111_lite,AIBM101_lite,AIBM115_lite \
--grpc_port 51061 \
--start_all_services false
# 4. 另开终端测试
cd ~/litetts/client
python3 litetts_stream_client.py \
--address <服务地址>:51061 \
--voice AIBC006_lite \
--text "欢迎使用摩尔线程本地语音合成。"

