piper-tts

2024-12-15

c++

我的天空里没有太阳,总是黑夜但并不暗,因为有东西替代了太阳。——《白夜行》

GitHub - rhasspy/piper: A fast, local neural text to speech system

在线演示

Piper Voice Samples

Piper: 快速、高质量的神经网络语音合成工具

在语音合成领域,Piper是一款引人注目的本地化神经网络工具。它以高效、低资源需求而著称,特别为Raspberry Pi 4优化,能生成接近真实人声的语音。这款工具由Open Home Foundation开发,并支持多个语言与场景,成为语音合成领域的重要开源项目。

什么是Piper?

Piper是一款快速的本地语音合成系统,利用VITS(Variational Inference Text-to-Speech)模型训练的声音,输出高质量的语音。这些模型被导出到ONNX格式,借助ONNX Runtime运行。Piper适合个人项目和研究用途,特别是在低功耗设备上的应用。

Piper的核心特点

  1. 高效本地运行:Piper针对Raspberry Pi 4进行了优化,即使在低性能硬件上也能实现高质量语音合成。
  2. 多语言支持:支持超过30种语言及多种方言,涵盖了全球大部分主要语言。
  3. 简单易用:通过简单的命令行即可完成语音合成,无需复杂配置。
  4. 开源与社区驱动:作为开源项目,Piper得到了开发者社区的积极支持和贡献。

多语言语音支持

Piper支持多种语言的语音模型,例如英语(en_US, en_GB)、中文(zh_CN)、德语(de_DE)、法语(fr_FR)等。每个语音模型由两个文件组成:一个ONNX模型文件和一个JSON配置文件。例如:

  • 模型文件: en_US-lessac-medium.onnx
  • 配置文件: en_US-lessac-medium.onnx.json

快速开始

Piper的使用非常简单,只需以下几步即可生成语音文件:

安装

Piper可以通过二进制包或源代码构建方式安装。以下是常见安装方式:

  1. 使用预构建的二进制包

    • 针对Raspberry Pi的64位版本:

      1
      2
      wget https://github.com/rhasspy/piper/releases/download/v1.2.0/piper_arm64.tar.gz
      tar -xvf piper_arm64.tar.gz
  2. 从源代码构建

    • 克隆代码库并按照文档中的构建指南完成安装。

使用示例

以下命令将输入文本合成为语音文件:

1
2
echo '欢迎来到语音合成的世界!' | \
./piper --model zh_CN-medium.onnx --output_file welcome.wav

生成的welcome.wav文件可以直接播放。

流式音频输出

Piper支持将生成的原始音频流直接输出到标准输出,实现实时播放:

1
2
3
echo '实时语音合成演示。' | \
./piper --model zh_CN-medium.onnx --output-raw | \
aplay -r 22050 -f S16_LE -t raw -

社区与开源生态

Piper是Open Home Foundation的项目之一,并被多个项目采用,包括Home Assistant、Rhasspy 3、NVDA等。

项目用途

  • 智能家居:支持Home Assistant的语音功能。
  • 无障碍应用:为视觉障碍用户提供文本朗读功能。
  • 科研与教育:提供语音合成研究的可靠工具。

如何贡献

作为一个开源项目,Piper欢迎开发者贡献代码、改进文档或提供新的语音模型。您可以通过GitHub提交PR或参与讨论。