关键要点
- 由Michael Hansen在Rhasspy语音助手项目中创建。
- 原始仓库rhasspy/piper于2025年10月6日被归档(只读),采用MIT许可证。
- 活跃开发目前位于OHF-Voice/piper1-gpl(创建于2025年3月28日),由Home Assistant背后的非营利组织Open Home Foundation维护。
- 当前许可证:GPL-3.0-or-later——相较于已归档仓库的MIT许可证的变更。
- 免费,无付费方案;实时CPU推理,可选CUDA GPU加速。
- 最新版本:v1.8.0,于2026年9月4日发布。
📍 简单一句话
Piper是一款免费的本地神经网络语音合成引擎,最初由Michael Hansen在Rhasspy语音助手项目中创建,现由Open Home Foundation维护,速度快到足以在纯CPU硬件(如Raspberry Pi)上实时运行,其许可证在2025年迁移到新仓库时从MIT变更为GPL-3.0-or-later。
💬 简单来说
这是一个通过pip install安装的程序,可以在你自己的设备上把输入的文本变成语音——不需要云端账户,不需要联网,而且即使在配置很一般的硬件上,速度也足以实现实时语音播放。
📌注: 许可证在2025年发生了变化。如果你在此之前评估Piper时假设它是MIT许可证,在将当前维护的仓库用于闭源产品前,请重新核实——详见下文的许可证与成本部分。
历史:从Rhasspy到Open Home Foundation
Piper诞生于Rhasspy项目,这是一个用于构建完全离线语音助手的开源工具包。Michael Hansen将其打造为快速的本地语音合成引擎,与Rhasspy的本地语音识别配合使用——避免每次语音回应都要往返一次云端TTS API。Piper采用VITS风格的神经网络文本转波形架构:文本首先通过espeak-ng转换为音素,然后一个导出到ONNX Runtime的模型直接从这些音素合成波形,即使在纯CPU硬件上也能实现快速推理。
**原始仓库rhasspy/piper成长为最广泛使用的本地TTS引擎之一**,活跃于开源家庭自动化与无障碍生态系统,在MIT许可证下积累了超过11,000个GitHub星标。它成为Home Assistant语音流程中默认的本地语音合成引擎。
2025年,活跃开发转移到了新仓库。 OHF-Voice/piper1-gpl于2025年3月28日创建,由同样管理Home Assistant的非营利组织Open Home Foundation维护。此后,原始仓库rhasspy/piper于2025年10月6日被归档(设为只读);它仍以原始MIT许可证提供,但不再接收更新。
新仓库采用了不同的许可证:GPL-3.0-or-later,而非原来的MIT许可证。项目并未在README或更新日志中说明原因,但piper1-gpl集成了用于音素化的espeak-ng,而espeak-ng本身采用GPL-3.0许可证——这是许可证变更的一个合理解释,但PromptQuorum无法将其确认为官方声明的原因。截至本文发布时,项目自己的README表明Open Home Foundation正在为Piper寻找更多维护者。
谁创建了Piper?
Piper由Michael Hansen在开源语音助手项目Rhasspy中创建。此后开发转移到了由Open Home Foundation维护的新仓库OHF-Voice/piper1-gpl。
Piper实际能做什么
Piper通过神经网络语音合成流程将书面文本转换为语音:文本先经espeak-ng转换为音素,然后经训练的语音模型从这些音素合成波形,在ONNX Runtime上运行以保证速度。
- 命令行合成。 使用已下载的语音模型运行
python3 -m piper,可生成WAV文件,或将音频直接流式输出到扬声器。 - Python API。 使用
PiperVoice.load()加载一个语音,并从你自己的Python应用中调用.synthesize_wav()或流式的.synthesize()生成器。 - HTTP Web服务器模式。 Piper可以作为持久运行的Web服务器,使语音模型保持加载在内存中,避免每次调用都要承担命令行的重新加载成本——推荐用于重复或生产环境使用。
- C/C++ API(libpiper)。 从旧版Piper仓库移植而来的原生C++库及其命令行工具,用于将Piper嵌入非Python应用。
- 原始音素注入。 用`[[ ... ]]
包裹文本可以直接传入IPA音素(来自espeak-ng --ipa=3`),便于纠正名称或专业术语的错误发音。 - 可选GPU加速。 传入
--cuda(命令行)或use_cuda=True(Python)可通过onnxruntime-gpu软件包启用CUDA加速,不过Piper的设计目标就是仅靠CPU也能以可接受的速度运行。 - 社区训练的多语言语音。 数十种语言及地区变体作为可单独下载的语音模型,通过Hugging Face提供;由于这些语音由不同的社区贡献者训练,质量因语音而异。
安装并运行Piper:分步指南
本指南通过pip安装Piper,并按照项目自身命令行和Python API文档中记录的语法完成首次语音合成。
- 1安装Piper。
Why it matters: 在Python环境中运行`pip install piper-tts`(建议使用Python 3.9及以上版本)。这会安装`piper`软件包及其ONNX Runtime依赖;仅使用CPU时无需配置GPU或CUDA。 - 2列出并下载一个语音。
Why it matters: 不带参数运行`python3 -m piper.download_voices`以列出可用语音,然后运行`python3 -m piper.download_voices en_US-lessac-medium`将指定语音下载到当前目录。 - 3通过命令行合成语音。
Why it matters: 运行`python3 -m piper -m en_US-lessac-medium -f test.wav -- 'This is a test.'`以写出一个WAV文件。若已安装`ffplay`,可省略`-f`标志以立即听到音频,而不是保存它。 - 4(可选)使用Python API而非命令行。
Why it matters: 在应用中重复使用时,先执行`from piper import PiperVoice; voice = PiperVoice.load("en_US-lessac-medium.onnx")`,再调用`voice.synthesize_wav(text, wav_file)`,可以避免每次调用命令行都要承担的启动成本。 - 5(可选)启用GPU加速。
Why it matters: 安装`onnxruntime-gpu`软件包,然后在命令行中传入`--cuda`,或在Python中向`PiperVoice.load()`传入`use_cuda=True`。这是可选项——Piper的设计目标就是仅靠CPU也能实时运行。 - 6(可选)运行Web服务器以便重复使用。
Why it matters: 在生产环境或重复使用的配置中,运行Piper的HTTP Web服务器模式,使语音模型保持加载在内存中,而不是每次命令行调用都重新加载。 - 7(可选)使用原始音素纠正发音错误的单词。
Why it matters: 使用`espeak-ng -v en-us --ipa=3 -q <单词>`获取某个单词的IPA音素,然后在输入文本中将其用`[[ ... ]]`包裹,以覆盖Piper对该单词的自动发音。
真实使用示例
除了上文的基本安装指南外,以下是项目自身文档中常见的真实使用模式。
- 原始音素注入用于纠正发音:使用来自
espeak-ng -v en-us --ipa=3 -q <单词>的IPA音素,像`The [[ bˈætmæn ]] not [[ bɹˈuːs wˈeɪn ]]`这样包裹文本。 - libpiper C/C++ API暴露了
piper_create()(如需更精细的控制则用piper_create_with_options()),用于在没有Python运行时的情况下将Piper直接嵌入原生应用。
# 命令行:写出一个WAV文件
python3 -m piper -m en_US-lessac-medium -f test.wav -- "This is a test."
# 命令行:立即播放音频(需要ffplay)
python3 -m piper -m en_US-lessac-medium -- "This will play on your speakers."
# Python API
import wave
from piper import PiperVoice
voice = PiperVoice.load("en_US-lessac-medium.onnx")
with wave.open("test.wav", "wb") as wav_file:
voice.synthesize_wav("Welcome to the world of speech synthesis!", wav_file)
# Python API:调整合成设置(速度、音量、表现力)
from piper import SynthesisConfig
syn_config = SynthesisConfig(
volume=0.5, # 音量减半
length_scale=2.0, # 速度减慢一倍
noise_scale=1.0, # 更多音频变化
noise_w_scale=1.0, # 更多语调变化
)
voice.synthesize_wav("Custom synthesis settings.", wav_file, syn_config=syn_config)
# Python API:GPU加速(需要onnxruntime-gpu)
voice = PiperVoice.load("en_US-lessac-medium.onnx", use_cuda=True)
# Python API:流式合成
for chunk in voice.synthesize("Streamed audio, chunk by chunk."):
play_audio(chunk.audio_int16_bytes, chunk.sample_rate)许可证与成本
**实际维护的Piper仓库OHF-Voice/piper1-gpl采用GPL-3.0-or-later许可证**,这一点已通过PyPI上piper-tts软件包发布的元数据得到确认。相较于原始仓库rhasspy/piper,这是一次变更——该仓库在2025年10月6日被归档前采用MIT许可证,此后仍以该MIT许可证提供,但已无人维护。
GPL-3.0是一种著佐权(copyleft)许可证,这对商业使用而言与MIT有着实质区别。 你可以免费使用Piper,包括商业用途,来生成语音。但GPL-3.0要求:如果你分发了Piper自身源代码的修改版本——例如集成或静态链接到你产品中的一个分支——你必须以相同的GPL-3.0条款开放该修改后的源代码。将Piper作为未经修改的外部工具使用(以独立进程方式调用其命令行、Python软件包或Web服务器)通常不会使你应用的其余代码受GPL约束,但确切的边界取决于你的代码与Piper代码的耦合紧密程度。本段说明的是该许可证的大致形态;这不是法律建议——在发布基于Piper构建的商业产品前,请就你具体的部署方式咨询律师。
Piper本身没有付费方案、订阅或许可费用。 唯一的成本是运行它的硬件以及你自己的开发时间。语音模型通过共享的Hugging Face仓库单独下载;在重新分发之前,请检查每个语音标注的许可证,因为这些语音由不同的社区成员贡献,并不保证与Piper代码采用相同的许可证。
Piper使用什么许可证?
实际维护的Piper仓库(OHF-Voice/piper1-gpl)采用GPL-3.0-or-later许可证。已归档的原始仓库rhasspy/piper采用MIT许可证。这对商业使用而言是实质性差异——GPL-3.0要求在分发Piper自身源代码的修改版本时以相同许可证开放,而MIT没有这一要求。
Piper不适合的场景
Piper是一款快速、通用的本地语音合成引擎,而不是语音克隆或富有表现力的语音工具。在以下情况下,它并不是合适的选择:
- 富有表现力、情感化或短短几秒钟内完成的语音克隆。 Piper是从预训练的语音模型合成语音,而不是从特定人物的简短参考音频克隆而来。如果你需要从几秒钟的样本音频克隆一个声音,或需要更具表现力的语调,XTTS v2正是为此而设计——关于其(非商业)许可条款,参见PromptQuorum的本地TTS许可证指南。
- 从简短样本进行多说话人克隆。 同样,Piper没有内置机制可以从特定说话人的音频样本即时生成新语音;每个语音都是单独训练并分发的模型。
- 闭源产品中的GPL-3.0著佐权义务。 如果你的使用场景涉及修改并在闭源二进制文件中重新分发Piper自身的源代码,当前仓库的GPL-3.0-or-later许可证是一个实质性限制,而原始的MIT许可证仓库没有这一限制。请查阅上文的许可证与成本部分,并在此类部署前咨询律师。
- 跨所有语言保证一致的语音质量。 由于语音由不同社区成员训练和贡献,质量会因语言和具体语音而明显不同——在生产应用中采用Piper之前,请先检查目标语言的样本。
- 长期维护的确定性。 截至本文发布时,项目自己的README表明Open Home Foundation正在为Piper寻找更多维护者,这是在其上构建关键基础设施前需要考虑的一点。
Piper的替代方案
Coqui TTS
- 最适合:
- 灵活的多后端工具包(VITS、Tacotron2、XTTS),语言支持广泛
- 许可证:
- MPL-2.0
XTTS v2
- 最适合:
- 从几秒钟参考音频进行语音克隆,支持17种语言
- 许可证:
- CPML(非商业)
StyleTTS 2
- 最适合:
- 最高质量的自然英语朗读效果(不含语音克隆)
- 许可证:
- MIT
Bark
- 最适合:
- 富有表现力的非语音音频——笑声、叹息、环境声
- 许可证:
- MIT
ElevenLabs
- 最适合:
- 面向不想自行托管的团队的托管云端API,支持商业语音克隆
- 许可证:
- 专有(付费云端API)
常见问题
Piper是什么?
Piper是一款免费的本地神经网络语音合成引擎,由Michael Hansen在Rhasspy语音助手项目中创建,现由Open Home Foundation维护,能以足够快的速度将文本转换为语音,在纯CPU硬件上实现实时运行。
Piper免费吗?
是的。Piper没有付费方案、订阅或许可费用。它目前采用GPL-3.0-or-later许可证,使用免费,但对分发Piper自身源代码修改版本附加了条件——详见许可证与成本部分。
运行Piper需要GPU吗?
不需要。Piper的设计目标是在纯CPU硬件(包括Raspberry Pi)上实时运行。如需更高吞吐量,可通过onnxruntime-gpu软件包使用可选的CUDA GPU加速。
rhasspy/piper与OHF-Voice/piper1-gpl有什么区别?
rhasspy/piper是原始仓库,诞生于Rhasspy项目并采用MIT许可证;已于2025年10月6日被归档(只读)。OHF-Voice/piper1-gpl是实际维护的后继仓库,于2025年3月28日在Open Home Foundation旗下创建,采用GPL-3.0-or-later许可证而非MIT。
Piper能克隆特定人物的声音吗?
无法从简短音频样本克隆。Piper使用你下载并选择的预训练语音模型合成语音;它不会从几秒钟的参考音频即时克隆出新语音。这方面请参考XTTS v2,它是专为几秒钟语音克隆设计的。
Piper用于Home Assistant吗?
是的。Piper是Home Assistant语音助手流程中默认的本地语音合成引擎,由Open Home Foundation维护——这与管理Home Assistant的是同一个非营利组织。
目前是谁在维护Piper?
Piper在Open Home Foundation旗下的OHF-Voice/piper1-gpl仓库中维护,此前开发工作已于2025年从原本托管在Rhasspy的仓库迁移至此。项目的README表明Open Home Foundation目前正在寻找更多维护者。
Piper最新版本是什么?
最新稳定版本是v1.8.0,根据项目GitHub发布页面,发布于2026年9月4日。
结论
Piper依然是在配置一般的硬件上获得真正本地语音合成的最快方式之一——它仅靠CPU即可实时运行的性能,正是它成为Home Assistant默认语音的原因,而这一点在新的维护者接手后并未改变。真正改变的、也是每个在2026年评估Piper的人都需要知道的,是许可证:实际维护的仓库在2025年随开发转移到Open Home Foundation时,从MIT变为了GPL-3.0-or-later,这对任何计划将修改后的Piper源代码集成并重新分发到闭源产品中的人而言,都是实质性的差异。它依然免费、文档完善,并保持活跃发布(截至2026年9月为v1.8.0),尽管其维护者自己也在公开寻求更多帮助。对于在CPU级硬件上进行快速、离线、通用的语音合成而言,Piper是一个经过充分验证且零成本的选择——如果需要几秒钟内完成的富有表现力的语音克隆,可以将本评测与PromptQuorum关于XTTS v2的报道结合阅读,或参考ElevenLabs与本地TTS对比中的托管云端替代方案。
资料来源
- GitHub上的OHF-Voice/piper1-gpl —— 实际维护的仓库:README、文档、许可证与版本历史。
- PyPI上的piper-tts —— 已发布的软件包元数据,包括当前的GPL-3.0-or-later许可证。
- GitHub上的rhasspy/piper —— 已归档的原始仓库(MIT许可证)。
- piper1-gpl发布记录 —— 版本历史,包括v1.8.0(2026年9月4日)。
- Open Home Foundation —— 维护Piper和Home Assistant的非营利组织。
