Home
Login

PaddleSpeech:易於使用的語音工具包,包含自監督學習模型、帶標點的最新/串流ASR、帶文字前端的串流TTS、說話人驗證系統、端到端語音翻譯和關鍵詞識別。榮獲NAACL2022最佳演示獎。

Apache-2.0Python 12.0kPaddlePaddle Last Updated: 2025-06-10

PaddleSpeech 項目詳細介紹

項目概述

PaddleSpeech 是基於百度飛槳(PaddlePaddle)平台開發的開源語音工具包,專注於各種關鍵的語音和音訊任務。該項目憑藉其最新的和具有影響力的模型設計,榮獲了 NAACL2022 最佳演示獎

核心特性

🚀 易於使用

  • 低門檻安裝:提供簡單的安裝方式
  • 命令行工具:支持CLI、Server和流式Server快速上手
  • 多種接口:支持命令行和Python API兩種使用方式

🏆 前沿技術

  • 對標最新技術:提供高速、超輕量級模型和前沿技術
  • 流式系統:提供生產就緒的流式ASR和流式TTS系統
  • 自監督學習:集成自監督學習模型

💯 中文語音前端

  • 規則化處理:包含文本標準化和字素到音素轉換(G2P)
  • 多音字處理:支持多音字和變調處理
  • 語言學規則:使用自定義語言學規則適配中文語境

主要功能模塊

1. 語音識別(ASR)

  • 支持模型:DeepSpeech2、Transformer、Conformer、U2等
  • 多語言支持:中文、英文、中英混合
  • 實時識別:支持流式語音識別
  • 標點恢復:自動添加標點符號

2. 語音合成(TTS)

  • 聲學模型:Tacotron2、FastSpeech2、SpeedySpeech、VITS等
  • 聲碼器:WaveFlow、PWGAN、HiFiGAN、Multi Band MelGAN等
  • 多語言支持:中文、英文、中英混合、粵語
  • 語音克隆:支持語音克隆和微調

3. 說話人驗證(VPR)

  • 說話人識別:基於ECAPA-TDNN模型
  • 聲紋提取:工業級聲紋特徵提取
  • 說話人分離:支持說話人分離任務

4. 語音翻譯(ST)

  • 端到端翻譯:英譯中語音翻譯
  • 多模態預訓練:結合聲學和文本特徵

5. 音訊分類(CLS)

  • 開放域分類:基於AudioSet數據集的527類音訊分類
  • PANN模型:使用預訓練音訊神經網絡

6. 關鍵詞識別(KWS)

  • 喚醒詞檢測:支持自定義喚醒詞
  • 輕量級模型:適用於移動端部署

技術架構

模型支持

  • 自監督學習:Wav2vec2.0、HuBERT、WavLM等
  • 注意力機制:Transformer、Conformer架構
  • 端到端訓練:U2、U2++等統一模型
  • 對抗訓練:VITS、StarGAN等生成模型

數據集支持

  • ASR數據集:Aishell、LibriSpeech、CommonVoice等
  • TTS數據集:LJSpeech、CSMSC、VCTK等
  • 多語言數據:支持中英文混合數據集

安裝與使用

系統要求

  • 操作系統:Linux(推薦)、Windows、Mac OSX
  • Python版本:≥ 3.8
  • 編譯器:gcc ≥ 4.8.5
  • 依賴框架:PaddlePaddle

安裝方式

1. pip安裝

pip install paddlespeech

2. 源码安裝(推薦)

git clone https://github.com/PaddlePaddle/PaddleSpeech.git
cd PaddleSpeech
pip install pytest-runner
pip install .

快速體驗

語音識別示例

# 命令行方式
paddlespeech asr --lang zh --input zh.wav

# Python API方式
from paddlespeech.cli.asr.infer import ASRExecutor
asr = ASRExecutor()
result = asr(audio_file="zh.wav")

語音合成示例

# 命令行方式
paddlespeech tts --input "你好,歡迎使用百度飛槳深度學習框架!" --output output.wav

# Python API方式
from paddlespeech.cli.tts.infer import TTSExecutor
tts = TTSExecutor()
tts(text="今天天氣十分不錯。", output="output.wav")

服務部署

語音服務器

PaddleSpeech提供完整的服務器解決方案:

啟動服務

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

客戶端調用

# ASR服務
paddlespeech_client asr --server_ip 127.0.0.1 --port 8090 --input input_16k.wav

# TTS服務
paddlespeech_client tts --server_ip 127.0.0.1 --port 8090 --input "您好,歡迎使用百度飛槳語音合成服務。"

流式服務

支持實時流式語音識別和語音合成:

# 流式ASR
paddlespeech_client asr_online --server_ip 127.0.0.1 --port 8090 --input input_16k.wav

# 流式TTS
paddlespeech_client tts_online --server_ip 127.0.0.1 --port 8092 --input "您好,歡迎使用百度飛槳語音合成服務。"

應用案例

工業應用

  • 智能客服:語音識別+語音合成
  • 語音助手:喚醒詞檢測+對話系統
  • 內容創作:語音克隆+多語言合成
  • 無障礙服務:語音轉文字+文字轉語音

學術研究

  • 多模態預訓練:ERNIE-SAT等模型
  • 語音翻譯:端到端英譯中
  • 說話人識別:聲紋識別與驗證
  • 音訊分析:音訊分類與場景識別

技術優勢

1. 模型性能

  • SOTA效果:多項任務達到業界領先水平
  • 輕量化部署:支持移動端和邊緣設備
  • 實時處理:滿足實時交互需求

2. 易用性

  • 一鍵部署:簡化的安裝和配置流程
  • 豐富文檔:完整的使用說明和示例
  • 社區支持:活躍的開發者社區

3. 可擴展性

  • 模塊化設計:支持自定義模型和任務
  • 多語言支持:持續擴展語言覆蓋
  • 跨平台部署:支持多種部署環境

社區與生態

開源社區

  • GitHub Stars:超過10k星標
  • 貢獻者:來自全球的開發者
  • 社區項目:基於PaddleSpeech的衍生項目

相關項目

  • PaddleBoBo:虛擬主播語音生成
  • VTuberTalk:視頻語音克隆工具
  • FastASR:C++推理實現
  • VoiceTyping:實時語音輸入工具

總結

PaddleSpeech 是一個功能全面、易於使用的語音工具包,涵蓋了語音識別、語音合成、說話人驗證、語音翻譯等多個核心任務。通過模塊化設計和豐富的預訓練模型,為開發者和研究者提供了強大的語音AI解決方案。無論是學術研究還是工業應用,PaddleSpeech 都能提供高質量的技術支持和完整的解決方案。