Home

Awesome

python version GitHub forks GitHub Repo stars GitHub 支持系统

MASR流式与非流式语音识别项目

MASR是一款基于Pytorch实现的自动语音识别框架,MASR全称是神奇的自动语音识别框架(Magical Automatic Speech Recognition),MASR致力于简单,实用的语音识别项目。可部署在服务器,Nvidia Jetson设备,未来还计划支持Android等移动设备。

如果熟悉PaddlePaddle,请优先使用:PPASR,PPASR支持Deepspeech2、Conformer、Squeezeformer模型

欢迎大家扫码入QQ群讨论,或者直接搜索QQ群号1169600237,问题答案为博主Github的IDyeyupiaoling

<div align="center"> <img src="docs/images/qq.png"/> </div>

本项目使用的环境:

<!-- ## 在线使用 - [在线使用Dome](https://masr.yeyupiaoling.cn) -->

项目快速了解

  1. 本项目支持流式识别模型deepspeech2deepspeech2_big,非流式模型deepspeech2_no_streamdeepspeech2_big_no_stream
  2. 本项目支持两种解码器,分别是集束搜索解码器ctc_beam_search和贪心解码器ctc_greedy,集束搜索解码器ctc_beam_search准确率更高,但不支持Windows。

更新记录

视频讲解

这个是PPSAR的视频教程,项目是通用的,可以参考使用。

模型下载

本项目支持流式识别模型deepspeech2deepspeech2_big,非流式模型deepspeech2_no_streamdeepspeech2_big_no_stream

使用模型数据集预处理方式参数大小(M)*语言测试集字错率(词错率)下载地址
deepspeech2_bigWenetSpeech (10000小时)fbank167中文0.08944(AIShell的测试集)点击下载
deepspeech2aishell (179小时)fbank35中文0.08279点击下载
deepspeech2_bigaishell (179小时)fbank167中文0.05912点击下载
deepspeech2_no_streamaishell (179小时)fbank98中文0.06982点击下载
deepspeech2Librispeech (960小时)fbank35英文0.17901点击下载
deepspeech2_bigLibrispeech (960小时)fbank167英文0.15533点击下载
deepspeech2_no_streamLibrispeech (960小时)fbank98英文0.09705点击下载

说明:

  1. 这里字错率或者词错率是使用eval.py程序并使用集束搜索解码ctc_beam_search方法计算得到的。
  2. 把全部文件复制到项目根目录下。
  3. 模型名称包含no_stream为非流式模型,不能用于流式识别。
  4. 由于算力不足,大部分的模型都没有训练足够轮数,有算力的同学,欢迎提供模型。
  5. 由于音频的长度不一,所以参数大小也有所变化,以上参数大小为同一音频长度下的结果,仅供对比使用。

有问题欢迎提 issue 交流

文档教程

快速预测

python infer_path.py --wav_path=./dataset/test.wav

输出结果:

----------- 额外配置参数 -----------
configs: configs/config_zh.yml
is_long_audio: False
model_dir: models/{}_{}/infer/
pun_model_dir: models/pun_models/
real_time_demo: False
to_an: False
use_gpu: True
use_pun: False
wav_path: dataset/test.wav
------------------------------------------------
----------- 配置文件参数 -----------
ctc_beam_search_decoder: {'alpha': 2.2, 'beta': 4.3, 'beam_size': 300, 'num_processes': 10, 'cutoff_prob': 0.99, 'cutoff_top_n': 40, 'language_model_path': 'lm/zh_giga.no_cna_cmn.prune01244.klm'}
dataset: {'batch_size': 32, 'num_workers': 4, 'min_duration': 0.5, 'max_duration': 20, 'train_manifest': 'dataset/manifest.train', 'test_manifest': 'dataset/manifest.test', 'dataset_vocab': 'dataset/vocabulary.txt', 'mean_std_path': 'dataset/mean_std.json', 'noise_manifest_path': 'dataset/manifest.noise'}
decoder: ctc_beam_search
metrics_type: cer
num_epoch: 65
optimizer: {'learning_rate': '5e-5', 'gamma': 0.93, 'clip_norm': 3.0, 'weight_decay': '1e-6'}
preprocess: {'feature_method': 'fbank', 'n_mels': 80, 'n_mfcc': 40, 'sample_rate': 16000, 'use_dB_normalization': True, 'target_dB': -20}
use_model: deepspeech2
------------------------------------------------

消耗时间:132, 识别结果: 近几年不但我用书给女儿儿压岁也劝说亲朋不要给女儿压岁钱而改送压岁书, 得分: 94
python infer_path.py --wav_path=./dataset/test_vad.wav --is_long_audio=True

录音测试页面

GUI界面

相关项目

参考资料