Piper TTS:修订间差异
(创建页面,内容为“Piper TTS是一个快速、本地运行的神经网络文本转语音(TTS)引擎,基于 VITS 模型,使用 ONNX 格式运行。它支持多种语言(包括中文),模型体积小、速度快,即使在低端硬件(如 Raspberry Pi)上也能实时合成高质量、自然的语音,完全离线隐私安全。注意:原 rhasspy/piper 仓库已归档,开发迁移到 OHF-Voice/piper1-gpl(GPL 许可)。 ==简介== ===时间轴=== ==安…”) |
无编辑摘要 |
||
| 第7行: | 第7行: | ||
==快速入门== | ==快速入门== | ||
==中文== | |||
对于离线,可以先在Hugging Face下载需要的模型和安装需要的包: | |||
*piper-voices中文模型: https://huggingface.co/rhasspy/piper-voices/tree/main/zh/zh_CN | |||
*g2pW模型:默认路径download_dir / "g2pW",其中 download_dir 默认是 当前工作目录(即你运行 Python 脚本或 piper 命令时的目录)。 | |||
*bert-base-chinese模型:G2PWConverter 在初始化时调用了 BertTokenizer.from_pretrained(self.model_source),而 model_source 默认是 "bert-base-chinese"。地址:https://huggingface.co/google-bert/bert-base-chinese/tree/main。 | |||
*Sentence Stream包:安装 <code>pip install sentence-stream</code>。 这个模块是 OHF-Voice 自己维护的一个小型句子分割器(sentence splitter),专门用于把长文本按句子切分后再做 phonemization。 | |||
文件结构如下: | |||
<syntaxhighlight lang="python" > | |||
/path/to/project/ | |||
├── voices/ | |||
│ ├── zh_CN-chaowen-medium.onnx | |||
│ ├── zh_CN-chaowen-medium.onnx.json | |||
└── ... (其他模型) | |||
├── g2pW/ | |||
│ ├── g2pw.onnx | |||
│ ├── config.json | |||
│ └── ... | |||
├── bert-base-chinese/ | |||
│ ├── config.json | |||
│ ├── tokenizer_config.json | |||
│ ├── vocab.txt | |||
│ ├── pytorch_model.bin (或 model.safetensors) | |||
│ ├── tokenizer.json | |||
│ └── ... (其他必要文件) | |||
└── test.py | |||
</syntaxhighlight> | |||
简单测试test.py: | |||
<syntaxhighlight lang="python" > | |||
import wave | |||
from piper import PiperVoice | |||
# 相对路径或绝对路径 | |||
model_path = "/path/to/project/voices/zh_CN-chaowen-medium.onnx" | |||
download_dir = "/path/to/project/" | |||
# 加载语音 | |||
voice = PiperVoice.load(model_path, download_dir=download_dir) | |||
with wave.open("test.wav", "wb") as wav_file: | |||
voice.synthesize_wav("你好,树莓派。", wav_file) | |||
</syntaxhighlight> | |||
==资源== | ==资源== | ||
2026年4月19日 (日) 16:46的版本
Piper TTS是一个快速、本地运行的神经网络文本转语音(TTS)引擎,基于 VITS 模型,使用 ONNX 格式运行。它支持多种语言(包括中文),模型体积小、速度快,即使在低端硬件(如 Raspberry Pi)上也能实时合成高质量、自然的语音,完全离线隐私安全。注意:原 rhasspy/piper 仓库已归档,开发迁移到 OHF-Voice/piper1-gpl(GPL 许可)。
简介
时间轴
安装
快速入门
中文
对于离线,可以先在Hugging Face下载需要的模型和安装需要的包:
- piper-voices中文模型: https://huggingface.co/rhasspy/piper-voices/tree/main/zh/zh_CN
- g2pW模型:默认路径download_dir / "g2pW",其中 download_dir 默认是 当前工作目录(即你运行 Python 脚本或 piper 命令时的目录)。
- bert-base-chinese模型:G2PWConverter 在初始化时调用了 BertTokenizer.from_pretrained(self.model_source),而 model_source 默认是 "bert-base-chinese"。地址:https://huggingface.co/google-bert/bert-base-chinese/tree/main。
- Sentence Stream包:安装
pip install sentence-stream。 这个模块是 OHF-Voice 自己维护的一个小型句子分割器(sentence splitter),专门用于把长文本按句子切分后再做 phonemization。
文件结构如下:
/path/to/project/
├── voices/
│ ├── zh_CN-chaowen-medium.onnx
│ ├── zh_CN-chaowen-medium.onnx.json
└── ... (其他模型)
├── g2pW/
│ ├── g2pw.onnx
│ ├── config.json
│ └── ...
├── bert-base-chinese/
│ ├── config.json
│ ├── tokenizer_config.json
│ ├── vocab.txt
│ ├── pytorch_model.bin (或 model.safetensors)
│ ├── tokenizer.json
│ └── ... (其他必要文件)
└── test.py
简单测试test.py:
import wave
from piper import PiperVoice
# 相对路径或绝对路径
model_path = "/path/to/project/voices/zh_CN-chaowen-medium.onnx"
download_dir = "/path/to/project/"
# 加载语音
voice = PiperVoice.load(model_path, download_dir=download_dir)
with wave.open("test.wav", "wb") as wav_file:
voice.synthesize_wav("你好,树莓派。", wav_file)