OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  PaddleSpeech — 开源语音处理工具箱,覆盖 ASR、TTS 与声学任务

PaddleSpeech — 开源语音处理工具箱,覆盖 ASR、TTS 与声学任务

 
  gold ·  2026-05-14 11:00:23 · 11 次点击  · 0 条评论  

(简体中文|English)


PaddleSpeech 是一个基于 PaddlePaddle 平台的开源工具包,涵盖了语音和音频领域的多种关键任务,并集成了业界先进且有影响力的模型。

PaddleSpeech 荣获 NAACL2022 最佳演示奖,相关论文可在 Arxiv 查看。

语音识别
输入音频 识别结果

I knocked at the door on the ancient side of the building.

我认为跑步最重要的就是给我带来了身体健康。
语音翻译(英译中)
输入音频 翻译结果

我 在 这栋 建筑 的 古老 门上 敲门。
语音合成
输入文本 合成音频
Life was like a box of chocolates, you never know what you're gonna get.
早上好,今天是2020/10/29,最低温度是-3°C。
季姬寂,集鸡,鸡即棘鸡。棘鸡饥叽,季姬及箕稷济鸡。鸡既济,跻姬笈,季姬忌,急咭鸡,鸡急,继圾几,季姬急,即籍箕击鸡,箕疾击几伎,伎即齑,鸡叽集几基,季姬急极屐击鸡,鸡既殛,季姬激,即记《季姬击鸡记》。
大家好,我是 parrot 虚拟老师,我们来读一首诗:我与春风皆过客,I and the spring breeze are passing by,你携秋水揽星河,you take the autumn water to take the galaxy。
宜家唔系事必要你讲,但系你所讲嘅说话将会变成呈堂证供。
各个国家有各个国家嘅国歌

更多合成音频示例,请参考 PaddleSpeech 语音合成示例

标点恢复
输入文本 输出文本
今天的天气真不错啊你下午有空吗我想约你一起去吃饭 今天的天气真不错啊!你下午有空吗?我想约你一起去吃饭。

特性

通过易用、高效、灵活且可扩展的实现,我们的愿景是赋能工业应用和学术研究,包括训练、推理与测试模块以及部署流程。具体而言,本工具包具有以下特点:

  • 📦 易于使用:安装门槛低,提供命令行界面服务端流式服务端供您快速上手。
  • 🏆 紧跟前沿技术:我们提供高速、超轻量级的模型,也有尖端技术模型。
  • 🏆 流式 ASR 和 TTS 系统:我们提供生产就绪的流式语音识别和语音合成系统。
  • 💯 基于规则的中文前端:我们的前端包含文本正则化和字素到音素转换(G2P,包括多音字和变调)。此外,我们使用自定义的语言规则来适配中文语境。
  • 📦 丰富的功能,助力工业和学术研究
  • 🛎️ 关键音频任务的实现:本工具包包含自动语音识别、语音合成、声纹识别、关键词唤醒、音频分类和语音翻译等音频功能。
  • 🔬 主流模型和数据集的集成:工具包实现了参与语音任务全流程的模块,并使用 LibriSpeech、LJSpeech、AIShell、CSMSC 等主流数据集。详情请见模型列表
  • 🧩 级联模型应用:作为传统音频任务的扩展,我们将上述任务的流程与自然语言处理和计算机视觉等其他领域相结合。

近期更新

社区

扫描下方微信二维码,即可加入官方技术交流群,并获取福利(超过 20GB 的学习资料,包括论文、代码和视频)以及课程的直播链接。期待您的参与。

安装

我们强烈建议用户在 Linux 系统上,使用 python>=3.8 安装 PaddleSpeech。

依赖说明

  • gcc >= 4.8.5
  • paddlepaddle
  • python >= 3.8
  • 支持的操作系统:Linux(推荐)、Windows、Mac OSX

PaddleSpeech 依赖于 paddlepaddle。安装时,请参考 paddlepaddle 官方网站 并根据您的机器选择。以下是 CPU 版本的示例。

pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

您也可以指定 paddlepaddle 的版本或安装开发版。

# 安装 2.4.1 版本。注意,2.4.1 仅是一个示例,请根据您的选择遵循 paddlepaddle 的最低依赖要求
pip install paddlepaddle==2.4.1 -i https://mirror.baidu.com/pypi/simple
# 安装开发版本
pip install paddlepaddle==0.0.0 -f https://www.paddlepaddle.org.cn/whl/linux/cpu-mkl/develop.html

PaddleSpeech 有两种快速安装方式:pip 安装和源码编译(推荐)。

pip 安装

pip install pytest-runner
pip install paddlespeech

源码编译

git clone https://github.com/PaddlePaddle/PaddleSpeech.git
cd PaddleSpeech
pip install pytest-runner
pip install .
# 如果需要以可编辑模式安装,需要使用 --use-pep517。命令如下:
# pip install -e . --use-pep517

更多安装问题,如 conda 环境、librosa 依赖、gcc 问题、kaldi 安装等,请参考安装文档。如果在安装过程中遇到问题,您可以在 #2150 留言查找相关问题。

快速开始

开发者可以通过 PaddleSpeech 命令行 或 Python 来体验我们的模型。通过更改 --input 参数来测试您自己的音频/文本,支持 16k wav 格式音频。

您也可以在 AI Studio 快速体验 👉🏻 PaddleSpeech API Demo

测试音频样本下载:

wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav
wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav

自动语音识别

 (点击展开)开源语音识别 **命令行体验**
paddlespeech asr --lang zh --input zh.wav
**Python API 体验**
>>> from paddlespeech.cli.asr.infer import ASRExecutor
>>> asr = ASRExecutor()
>>> result = asr(audio_file="zh.wav")
>>> print(result)
我认为跑步最重要的就是给我带来了身体健康

语音合成

 开源语音合成 输出 24k 采样率 wav 格式音频 **命令行体验**
paddlespeech tts --input "你好,欢迎使用百度飞桨深度学习框架!" --output output.wav
**Python API 体验**
>>> from paddlespeech.cli.tts.infer import TTSExecutor
>>> tts = TTSExecutor()
>>> tts(text="今天天气十分不错。", output="output.wav")
- 您可以在 [Huggingface Spaces](https://huggingface.co/spaces) 体验 [TTS Demo](https://huggingface.co/spaces/KPatrick/PaddleSpeechTTS)

音频分类

 开源声音分类工具 基于 AudioSet 数据集 527 个类别的声音分类模型 **命令行体验**
paddlespeech cls --input zh.wav
**Python API 体验**
>>> from paddlespeech.cli.cls.infer import CLSExecutor
>>> cls = CLSExecutor()
>>> result = cls(audio_file="zh.wav")
>>> print(result)
Speech 0.9027186632156372

声纹提取

 工业级声纹提取工具 **命令行体验**
paddlespeech vector --task spk --input zh.wav
**Python API 体验**
>>> from paddlespeech.cli.vector import VectorExecutor
>>> vec = VectorExecutor()
>>> result = vec(audio_file="zh.wav")
>>> print(result) # 187维向量
[ -0.19083306   9.474295   -14.122263    -2.0916545    0.04848729
   4.9295826    1.4780062    0.3733844   10.695862     3.2697146
  -4.48199     -0.6617882   -9.170393   -11.1568775   -1.2358263 ...]

标点恢复

 快速恢复文本标点,可与 ASR 模型协同工作 **命令行体验**
paddlespeech text --task punc --input 今天的天气真不错啊你下午有空吗我想约你一起去吃饭
**Python API 体验**
>>> from paddlespeech.cli.text.infer import TextExecutor
>>> text_punc = TextExecutor()
>>> result = text_punc(text="今天的天气真不错啊你下午有空吗我想约你一起去吃饭")
今天的天气真不错啊!你下午有空吗?我想约你一起去吃饭。

语音翻译

 端到端英译中语音翻译工具 使用预编译的 kaldi 相关工具,仅支持在 Ubuntu 系统上体验。 **命令行体验**
paddlespeech st --input en.wav
**Python API 体验**
>>> from paddlespeech.cli.st.infer import STExecutor
>>> st = STExecutor()
>>> result = st(audio_file="en.wav")
['我 在 这栋 建筑 的 古老 门上 敲门 。']

快速启动 Server

开发者可以通过 PaddleSpeech Server 命令行 体验语音服务。

您可以在 AI Studio 快速体验(推荐):SpeechServer

启动服务端

paddlespeech_server start --config_file ./demos/speech_server/conf/application.yaml

访问语音识别服务

paddlespeech_client asr --server_ip 127.0.0.1 --port 8090 --input input_16k.wav

访问语音合成服务

paddlespeech_client tts --server_ip 127.0.0.1 --port 8090 --input "您好,欢迎使用百度飞桨语音合成服务。" --output output.wav

访问音频分类服务

paddlespeech_client cls --server_ip 127.0.0.1 --port 8090 --input input.wav

更多关于服务端命令行的信息,请参见:语音服务演示

快速启动流式 Server

开发者可以尝试 流式 ASR流式 TTS 服务。

启动流式语音识别服务端

paddlespeech_server start --config_file ./demos/streaming_asr_server/conf/application.yaml

访问流式语音识别服务

paddlespeech_client asr_online --server_ip 127.0.0.1 --port 8090 --input input_16k.wav

启动流式语音合成服务端

paddlespeech_server start --config_file ./demos/streaming_tts_server/conf/tts_online_application.yaml

访问流式语音合成服务

paddlespeech_client tts_online --server_ip 127.0.0.1 --port 8092 --protocol http --input "您好,欢迎使用百度飞桨语音合成服务。" --output output.wav

更多信息请参见:流式 ASR流式 TTS

模型列表

PaddleSpeech 支持一系列最流行的模型。这些模型总结在发布模型中,并附有可用的预训练模型。

语音转文本 包含 声学模型语言模型语音翻译,详情如下:

语音转文本模块类型 数据集 模型类型 示例
语音识别 Aishell DeepSpeech2 RNN + Conv 模型 deepspeech2-aishell
基于 Transformer 的注意力模型 u2.transformer.conformer-aishell
Librispeech 基于 Transformer 的注意力模型 deepspeech2-librispeech / transformer.conformer.u2-librispeech / transformer.conformer.u2-kaldi-librispeech
TIMIT 统一流式与非流式双通道 u2-timit
对齐 THCHS30 MFA mfa-thchs30
语言模型 Ngram 语言模型 kenlm
语音翻译(英译中) TED En-Zh Transformer + ASR MTL transformer-ted
FAT + Transformer + ASR MTL fat-st-ted

语音合成 主要包括三个模块:文本前端声学模型声码器。声学模型和声码器模型如下:

语音合成模块类型 模型类型 数据集 示例
文本前端 tn / g2p
声学模型 Tacotron2 LJSpeech / CSMSC tacotron2-ljspeech / tacotron2-csmsc
Transformer TTS LJSpeech transformer-ljspeech
SpeedySpeech CSMSC speedyspeech-csmsc
FastSpeech2 LJSpeech / VCTK / CSMSC / AISHELL-3 / ZH_EN / 微调 fastspeech2-ljspeech / fastspeech2-vctk / fastspeech2-csmsc / fastspeech2-aishell3 / fastspeech2-zh_en / fastspeech2-finetune
ERNIE-SAT VCTK / AISHELL-3 / ZH_EN ERNIE-SAT-vctk / ERNIE-SAT-aishell3 / ERNIE-SAT-zh_en
DiffSinger Opencpop
11 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 22 ms
Developed with Cursor