You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PaddleSpeech/README_cn.md

20 KiB

(简体中文|English)


PaddleSpeech 是基于飞桨 PaddlePaddle 深度学习开源框架平台上的一个开源模型库,用于语音和音频中的各种关键任务的开发,包含大量前沿和有影响力的模型,一些典型的应用示例如下:

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

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。

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

特性:

本项目采用了易用、高效、灵活以及可扩展的实现,旨在为工业应用、学术研究提供更好的支持,实现的功能包含训练、推断以及测试模块,以及部署过程,主要包括

  • 📦 易用性: 安装门槛低,可使用CLI快速开始。
  • 🏆 对标SoTA: 提供了高速、轻量级模型,且借鉴了最前沿的技术。
  • 💯 基于规则的中文前端: 我们的前端包含文本正则化和字音转换G2P。此外我们使用自定义语言规则来适应中文语境。
  • 多种工业界以及学术界主流功能支持:
    • 🛎️ 典型音频任务: 本工具包提供了音频任务如音频分类、语音翻译、自动语音识别、文本转语音、语音合成等任务的实现。
    • 🔬 主流模型及数据集: 本工具包实现了参与整条语音任务流水线的各个模块并且采用了主流数据集如LibriSpeech、LJSpeech、AIShell、CSMSC详情请见 模型列表
    • 🧩 级联模型应用: 作为传统语音任务的扩展,我们结合了自然与语言处理、计算机视觉等任务,实现更接近实际需求的产业级应用。

近期更新:

  • 🤗 2021.12.14: 我们在 Hugging Face Spaces 上的 ASR 以及 TTS Demos 上线啦!
  • 👏🏻 2021.12.10: PaddleSpeech CLI 上线!覆盖了声音分类、语音识别、语音翻译(英译中)以及语音合成。

交流

欢迎加入以下微信群,直接和我们 PaddleSpeech 团队进行交流!

安装

我们强烈建议用户在 Linux 环境下,3.7 以上版本的 python 上安装 PaddleSpeech。这种情况下安装 paddlespeech 只需要一条 pip 命令:

pip install paddlepaddle paddlespeech

目前为止,对于 Mac OSX、 LiNUX 支持声音分类、语音识别、语音合成和语音翻译四种功能,Windows 下暂不支持语音翻译功能。 想了解更多安装细节,可以参考安装文档

快速开始

安装完成后,开发者可以通过命令行快速开始,改变--input 可以尝试用自己的音频或文本测试。

声音分类

paddlespeech cls --input input.wav

语音识别

paddlespeech asr --lang zh --input input_16k.wav

语音翻译 (English to Chinese)

paddlespeech st --input input_16k.wav

语音合成

paddlespeech tts --input "你好,欢迎使用百度飞桨深度学习框架!" --output output.wav

Note: 如果需要训练或者微调,请查看语音识别 语音合成

模型列表

PaddleSpeech 支持很多主流的模型,并提供了预训练模型,详情请见模型列表

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

语音转文本模块种类 数据集 模型种类 链接
语音识别 Aishell DeepSpeech2 RNN + Conv based Models deepspeech2-aishell
基于Transformer的Attention模型 u2.transformer.conformer-aishell
Librispeech 基于Transformer的Attention模型 deepspeech2-librispeech / transformer.conformer.u2-librispeech / transformer.conformer.u2-kaldi-librispeech
对齐 THCHS30 MFA mfa-thchs30
语言模型 Ngram 语言模型 kenlm
TIMIT Unified Streaming & Non-streaming Two-pass u2-timit
语音翻译(英译中) TED En-Zh Transformer + ASR MTL transformer-ted
FAT + Transformer + ASR MTL fat-st-ted

PaddleSpeech 中的 文本转语音 主要包含三个模块:文本前端声学模型声码器。声学模型和声码器模型如下:

文字转语音模块类型 模型种类 数据集 链接
文本前端 tn / g2p
声学模型 Tacotron2 LJSpeech tacotron2-ljspeech
Transformer TTS transformer-ljspeech
SpeedySpeech CSMSC speedyspeech-csmsc
FastSpeech2 AISHELL-3 / VCTK / LJSpeech / CSMSC fastspeech2-aishell3 / fastspeech2-vctk / fastspeech2-ljspeech / fastspeech2-csmsc
Vocoder WaveFlow LJSpeech waveflow-ljspeech
Parallel WaveGAN LJSpeech / VCTK / CSMSC PWGAN-ljspeech / PWGAN-vctk / PWGAN-csmsc
Multi Band MelGAN CSMSC Multi Band MelGAN-csmsc
Voice Cloning GE2E Librispeech, etc. ge2e
GE2E + Tactron2 AISHELL-3 ge2e-tactron2-aishell3
GE2E + FastSpeech2 AISHELL-3 ge2e-fastspeech2-aishell3

声音分类

任务 数据集 模型种类 链接
Audio Classification ESC-50 PANN pann-esc50

文档

语音 SoTA声音 SoTA音乐 SoTA 概述了相关领域的热门学术话题。对于 PaddleSpeech 的所关注的任务,以下指南有助于掌握核心思想。

语音合成模块最初被称为 Parakeet,现在与此仓库合并。如果您对该任务的学术研究感兴趣,请参阅 TTS 研究概述。此外,模型介绍 是了解语音合成流程的一个很好的指南。

引用

要引用 PaddleSpeech 进行研究,请使用以下格式进行引用。

@misc{ppspeech2021,
title={PaddleSpeech, a toolkit for audio processing based on PaddlePaddle.},
author={PaddlePaddle Authors},
howpublished = {\url{https://github.com/PaddlePaddle/PaddleSpeech}},
year={2021}
}

参与PaddleSpeech的开发

热烈欢迎您在讨论 中提交问题,并在问题 中指出发现的bug。此外我们非常希望您愿意参与到PaddleSpeech的开发中

贡献者

致谢

  • 非常感谢 yeyupiaoling 多年来的关注和建议,以及在诸多问题上的帮助。
  • 非常感谢 AK391 在 Huggingface Spaces 上使用 Gradio 对我们的语音合成功能进行网页版演示。

此外PaddleSpeech 依赖于许多开源存储库。有关更多信息,请参阅 references

License

PaddleSpeech 在 Apache-2.0 许可 下提供。