带语音增强的语音识别
约1分钟
结合语音增强的语音识别
这是ESPnet2结合语音增强前端的通用方案。以下是语音增强和联合任务方案的目录结构:
目录
egs2/
├── chime4/
│ ├── enh1/
│ ├── enh_asr1/
│ └── asr1/
├── l3das22/
│ └── enh1/
| │ ├── conf/
| │ ├── local/
| | │ ├── data.sh
| | │ ├── metric.sh
│ | │ └── ...
| │ ├── enh.sh -> ../../TEMPLATE/enh1/enh.sh
| │ ├── run.sh
| │ └── ...
├── lt_slurp_spatialized/
│ └── enh1/
├── slurp_spatialized/
│ ├── enh_asr1/
| │ ├── enh_asr.sh -> ../../TEMPLATE/enh_asr1/enh_asr.sh
| │ ├── run.sh
| │ └── ...
│ └── asr1/
├── ...
└── TEMPLATE/
├── enh1/
│ └── enh.sh
├── enh_asr1/
│ └── enh_asr.sh
├── enh_diar1/
│ └── enh_diar.sh
├── enh_st1/
│ └── enh_st.sh
└── ...enh_asr.sh 简介
在egs2/TEMPLATE/enh_asr1/enh_asr.sh中,包含17个阶段。大多数阶段与asr.sh和enh.sh类似。
阶段1到阶段5:数据准备阶段
- 阶段1:数据准备
- 阶段2:语音扰动
- 阶段3:格式化wav.scp
- 阶段4:移除短数据
- 阶段5:使用BPE生成token_list
阶段6至阶段9:语言模型训练步骤
- 阶段6:语言模型收集统计信息
- 阶段7:语言模型训练
- 阶段8:计算困惑度
- 阶段9:Ngram训练
阶段10到阶段11:联合任务训练步骤
- 阶段10:为联合任务收集统计数据。
- 阶段11:联合任务训练
我们已在espnet2/tasks/enh_s2t_train.py中创建了EnhS2TTask,用于训练定义在espnet2/enh/espnet_enh_s2t_model.py中的ESPnetEnhS2TModel(AbsESPnetModel)。ESPnetEnhS2TModel接收前端增强模型和后端s2t模型(如ASR、SLU、ST和SD模型)作为输入来构建联合模型。
相关的Python文件:
espnet2/
├── bin/
│ └── enh_s2t_train.py
├── enh/
│ └── espnet_enh_s2t_model.py
├── tasks/
│ └── enh_s2t.py
└── ...阶段12到阶段13:推理阶段:解码与增强
- 阶段12:下游任务(ASR)解码
- 阶段13:语音增强
相关的Python文件:
espnet2/
├── bin/
│ ├── asr_inference.py
│ ├── diar_inference.py
│ ├── enh_inference.py
│ └── st_inference.py
└── ...阶段14到阶段15:评分识别和SSE结果
- 阶段14:ASR评分
- 阶段15:评分增强
阶段16到阶段17:模型上传步骤
- 阶段16:打包模型
- 阶段17:将模型上传至Hugging Face
