Loading...

文章背景图

Piper:本地离线神经 TTS 引擎(piper-tts)安装与使用指南

2026-10-24
0
- 字
- 分钟
|

Piper:本地离线神经 TTS 引擎(piper-tts)安装与使用指南

Piper 是由 Rhasspy 团队发起、现由 Open Home Foundation 维护的快速本地神经文本转语音引擎,内嵌 espeak-ng 做音素化,支持命令行、HTTP 服务、Python API、C/C++ 库,提供 100+ 语言/方言预训练声音。它被 Home Assistant、NVDA 屏幕阅读器、Open Voice OS 等广泛采用,是边缘设备首选的轻量 TTS。原仓库 rhasspy/piper 已迁移到 OHF-Voice/piper1-gpl。

一、项目官方信息

项目 信息
GitHub 仓库 OHF-Voice/piper1-gpl(原 rhasspy/piper 已迁移)
声音样本 rhasspy.github.io/piper-samples
开源协议 MIT(旧仓库)/ GPL(新仓库 piper1-gpl)
主要语言 C++ / Python
Star 数 8k+
上游依赖 espeak-ng

二、官方图片

Piper 仓库社交预览图:

Piper

三、环境要求

  • Python 3.9+;
  • Linux / macOS / Windows;
  • 支持 CPU 推理,无需 GPU;
  • espeak-ng(用于音素化,piper-tts wheel 通常已捆绑);
  • 下载对应语言的 .onnx 模型文件与 .onnx.json 配置。

四、部署步骤

1. 安装

pip install piper-tts

2. 下载声音模型

从声音列表选择一个语音,下载两个文件:

  • <voice>.onnx(模型权重)
  • <voice>.onnx.json(配置元数据)

例如英文 en_US-amy-medium:

mkdir -p ~/.local/share/piper-voices
cd ~/.local/share/piper-voices
wget https://github.com/rhasspy/piper-voices/raw/main/en/en_US/amy/medium/en_US-amy-medium.onnx
wget https://github.com/rhasspy/piper-voices/raw/main/en/en_US/amy/medium/en_US-amy-medium.onnx.json

3. 命令行合成

echo 'Welcome to the world of speech synthesis!' | piper \
  --model ~/.local/share/piper-voices/en_US-amy-medium.onnx \
  --output_file welcome.wav

4. Python API 调用

from piper import PiperVoice

voice = PiperVoice.load("en_US-amy-medium.onnx")
with open("hello.wav", "wb") as f:
    voice.synthesize_wav("Hello from Piper", f)

5. HTTP 服务

python -m piper.http_server \
  --model ~/.local/share/piper-voices/en_US-amy-medium.onnx \
  --port 5000

6. C/C++ 库

libpiper/ 目录提供 C/C++ API,可直接嵌入其他应用;Java 绑定见 piper-jni。

五、使用方法

多语言支持

piper-voices 仓库提供 100+ 语言/方言的预训练声音,按 {lang}/{region}/{name}/{quality}/ 目录组织:

  • 英语、德语、法语、西语、俄语、意大利语、荷兰语;
  • 中文、日语、韩语、阿拉伯语;
  • 以及大量低资源语言(非洲、印度、东南亚语言)。

声音质量档位

每个声音有三档:

  • low:体积最小,速度最快;
  • medium:平衡;
  • high:音质最好,体积最大。

典型场景

  • Home Assistant:作为语音播报组件;
  • NVDA:屏幕阅读器发声;
  • Open Voice OS:语音助手 TTS;
  • 边缘设备:树莓派本地合成,无网络依赖;
  • LocalAI:作为 OpenAI TTS 后端。

训练新声音

参考 docs/TRAINING.md,使用 LJSpeech 格式数据集训练,配合 espeak-ng 音素化。

六、常见问题 FAQ

Q1:Piper 是什么? 轻量本地神经 TTS,CPU 实时合成,离线可用。

Q2:怎么安装? pip install piper-tts,再下载 .onnx 声音模型。

Q3:支持中文吗? 支持,从 piper-voices 仓库选择中文声音即可。

Q4:需要 GPU 吗? 不需要,CPU 实时合成。

Q5:怎么起 HTTP 服务? python -m piper.http_server --model xxx.onnx --port 5000。

Q6:新模型怎么训练? 参考 docs/TRAINING.md,使用 LJSpeech 格式数据集训练。

Q7:原仓库为什么迁移? rhasspy/piper 已归档,维护权移交给 Open Home Foundation,新仓库为 OHF-Voice/piper1-gpl。

七、跳转链接

评论交流

文章目录