本项目将分三个阶段分支,分别是入门级 、进阶级 和最终级 分支,当前为最终级,持续维护版本。
PPASR(最终级)基于PaddlePaddle2实现的端到端自动语音识别,相比进阶级,最终级完善了部署上,使该项目能够在各个设备上部署使用。
本项目使用的环境:
- Anaconda 3
- Python 3.7
- PaddlePaddle 2.1.3
- Windows 10 or Ubuntu 18.04
- 2021.10.10: 提供三个公开数据集的DeepSpeech2预训练模型下载。
- 2021.09.30: 在导出模型时,把归一化放在模型用,推理时直接在模型中完成数据归一化,不需要额外对数据归一化再输入到网络模型中。
- 2021.09.18: 初步完成基本程序。
数据集 | 使用模型 | 测试集字错率 | 下载地址 |
---|---|---|---|
aishell(179小时) | deepspeech2 | 0.094837 | 点击下载 |
free_st_chinese_mandarin_corpus(109小时) | deepspeech2 | 0.171830 | 点击下载 |
thchs_30(34小时) | deepspeech2 | 0.011276 | 点击下载 |
超大数据集(1600多小时真实数据)+(1300多小时合成数据) | deepspeech2 | 训练中 | 训练中 |
说明: 这里提供的是训练参数,不包括优化方法参数,如果要用于预测,还需要执行导出模型,使用的解码方法是贪心策略或集束搜索。
有问题欢迎提 issue 交流
python infer_path.py --wav_path=./dataset/test.wav
输出结果:
----------- Configuration Arguments -----------
alpha: 1.2
beam_size: 10
beta: 0.35
cutoff_prob: 1.0
cutoff_top_n: 40
decoding_method: ctc_greedy
enable_mkldnn: False
is_long_audio: False
lang_model_path: ./lm/zh_giga.no_cna_cmn.prune01244.klm
mean_std_path: ./dataset/mean_std.npz
model_dir: ./models/infer/
to_an: True
use_gpu: True
use_tensorrt: False
vocab_path: ./dataset/zh_vocab.txt
wav_path: ./dataset/test.wav
------------------------------------------------
消耗时间:132, 识别结果: 近几年不但我用书给女儿儿压岁也劝说亲朋不要给女儿压岁钱而改送压岁书, 得分: 94
- 长语音预测
python infer_path.py --wav_path=./dataset/test_vad.wav --is_long_audio=True
- Web部署
- GUI界面部署
- 基于PaddlePaddle实现的声纹识别:VoiceprintRecognition-PaddlePaddle
- 基于PaddlePaddle静态图实现的语音识别:PaddlePaddle-DeepSpeech
- 基于Pytorch实现的语音识别:MASR