语音识别框架之ESPnet
ESPnet 是一个端到端的语音处理工具包,涵盖了端到端的语音识别、文本到语音、语音翻译、语音增强、说话者分类、口语理解等。ESPnet 使用pytorch作为深度学习引擎,还遵循Kaldi风格的数据处理、特征提取/格式和配方,为各种语音处理实验提供完整的设置。
github直通车
克隆
git clone https://github.com/espnet/espnet
官网文档
安装ESPnet
使用官网安装的过程会很慢,下载限速
手动下载相关包
cd <espnet-root>/tools
make CPU_ONLY=0
官网安装
$ cd <espnet-root>/tools
$ make
Makefile 尝试安装 ESPnet 和所有依赖项,包括 PyTorch。您还可以指定 PyTorch 版本,例如:
$ cd <espnet-root>/tools
$ make TH_VERSION=1.10.1
请注意,CUDA 版本是从nvcc
命令派生的。如果您想指定其他 CUDA 版本,您需要提供CUDA_VERSION
.
$ cd <espnet-root>/tools
$ make TH_VERSION=1.10.1 CUDA_VERSION=11.3
如果您没有nvcc
命令,则默认情况下会为 CPU 模式安装软件包。如果您要手动打开它,请提供CPU_ONLY
选项。
$ cd <espnet-root>/tools
$ make CPU_ONLY=0
检测安装了哪些包
cd <espnet-root>/tools
. ./activate_python.sh; python3 check_install.py
自定义工具安装
某些仅用于特定任务的软件包,例如 Transducer ASR、日语 TTS 等,默认情况下未安装,因此如果您在运行这些配方时遇到一些安装错误,您需要选择安装它们。
例如
安装 Warp CTC
cd <espnet-root>/tools . activate_python.sh . ./setup_cuda_env.sh <cuda-root> # e.g. <cuda-root> = /usr/local/cuda ./installers/install_warp-ctc.sh
安装翘曲传感器
cd <espnet-root>/tools . activate_python.sh . ./setup_cuda_env.sh <cuda-root> # e.g. <cuda-root> = /usr/local/cuda ./installers/install_warp-transducer.sh
安装 PyOpenJTalk
cd <espnet-root>/tools . activate_python.sh ./installers/install_pyopenjtalk.sh
使用 pip 安装模块:例如安装 ipython
cd <espnet-root>/tools . activate_python.sh pip install ipython
必须安装的工具
安装语言模型工具:kenlm
官网安装教程
安装之前要安装相关依赖
sudo apt-get install build-essential libboost-all-dev cmake zlib1g-dev libbz2-dev liblzma-dev
wget -O - https://kheafield.com/code/kenlm.tar.gz |tar xz
mkdir kenlm/build
cd kenlm/build
cmake ..
make -j2
用法
espnet/ # Python modules
utils/ # Utility scripts of ESPnet
test/ # Unit test
test_utils/ # Unit test for executable scripts
egs/ # The complete recipe for each corporaan4/ # AN4 is tiny corpus and can be obtained freely, so it might be suitable for tutorialasr1/ # ASR recipe- run.sh # Executable script- cmd.sh # To select the backend for job scheduler- path.sh # Setup script for environment variables- conf/ # Containing Configuration files- steps/ # The steps scripts from Kaldi- utils/ # The utils scripts from Kalditts1/ # TTS recipe...
一套流程
在学习一个案例之前一定要把这个跑通才可以,否则无法看懂这些都是做了什么
# 运行前conda的环境要切换到安装espnet时候的环境,否则会报错
./run.sh
这个脚本里面包含了所有的步骤,数据下载,数据准备,特征提取,模型训练,解码和评分
脚本介绍
脚本名称 | 参数 | 功能 |
---|---|---|
local/data.sh | =数据路径 | 数据预处理 |
scripts/utils/perturb_data_dir_speed.sh | =扰动因子 =训练数据路径 =生成数据路径 | 生成数据增强的目录 |
utils/combine_data.sh | =数据增强的目录 =生成后的目录 | 数据增强 |
utils/copy_data_dir.sh | 复制数据目录 | |
scripts/audio/format_wav_scp.sh | 格式化wav.scp | |
steps/make_fbank_pitch.sh | 特征提取fbank_pitch | |
scripts/feats/feat_to_shape.sh | 获取特征维度 | |
pyscripts/feats/feat-to-shape.py | 写入特征维度文件 | |
utils/filter_scp.pl | 清理短句子 | |
utils/fix_data_dir.sh | kaldi中的文件,用于检测win.scp和text文件排序是否正确,去掉句子没有的特征 | |
使用dock进行
sudo ./run.sh --docker-gpu -1 --is-egs2 --docker-egs aishell3/tts1 --ngpu 0
sudo ./run.sh --docker-gpu -1 --is-egs2 --docker-egs aishell3/tts1 --ngpu 0
sudo docker ps
sudo docker exec -it a6a5ecc729f9 /bin/bash # 进入后台运行容器sudo docker ps -a # 查看存在的容器
sudo docker rm 64fad9048303 # 移除容器sudo docker images # 查看镜像
# 打开容器
sudo docker run -it espnet/espnet:cpu-latest /bin/bash
#
sudo docker run -it 281be2aa3c14 bash
常见报错
run.pl
多半是环境问题,要么是没有配置好,要么是包没有安装
# 报错
ModuleNotFoundError: No module named 'espnet'# 解决
rm -f activate_python.sh && touch activate_python.sh
make
语音识别框架之ESPnet相关推荐
- 语音识别框架最新进展——深度全序列卷积神经网络登场
干货|语音识别框架最新进展--深度全序列卷积神经网络登场 2016-08-05 17:03 转载 陈杨英杰 1条评论 导读:目前最好的语音识别系统采用双向长短时记忆网络(LSTM,LongShort ...
- 干货|详解最新语音识别框架 深度全序列卷积神经网络
原标题:干货|详解最新语音识别框架 深度全序列卷积神经网络 导读:目前最好的语音识别系统采用双向长短时记忆网络(LSTM,LongShort Term Memory),但是,这一系统存在训练复杂度高. ...
- NVIDIA背书-Kaldi是目前最受欢迎的开源语音识别框架
全球着名视觉技术厂家NVIDIA在最近的GPU技术大会为Kaldi背书.根据NVIDIA声明,它认为Kaldi是目前全球最受欢迎的开源语音识别框架.该公司在人工智能和语音识别方面投入了大量的资源,重点 ...
- python 语音识别 windows_对Python 语音识别框架详解
如下所示: from win32com.client import constants import os import win32com.client import pythoncom speake ...
- Python 语音识别框架
Python 语音识别框架 from win32com.client import constants import os import win32com.client import pythonco ...
- 干货|语音识别框架最新进展——深度全序列卷积神经网络登场
干货|语音识别框架最新进展--深度全序列卷积神经网络登场 2016-08-05 17:03 转载 陈杨英杰 1条评论 导读:目前最好的语音识别系统采用双向长短时记忆网络(LSTM,LongShort ...
- LAS语音识别框架发展简述
LAS识别框架发展简述 LAS模型 模型综述 Listener部分 attend-spell learning decoding and rescoring LAS模型的缺点即改进方法 缺点 改进方法 ...
- python语音识别框架_横评:五款免费开源的语音识别工具
编者按:本文原作者 Cindi Thompson,美国德克萨斯大学奥斯汀分校(University of Texas at Austin)计算机科学博士,数据科学咨询公司硅谷数据科学(Silicon ...
- 强大的端到端语音识别框架—RNN-T
前言: 基于联结时序分类(CTC)的声学模型不再需要对训练的音频序列和文本序列进行强制对齐,实际上已经初步具备了端到端的声学模型建模能力.但是CTC模型进行声学建模存在着两个严重的瓶颈,一是缺乏语言模 ...
最新文章
- python3菜鸟教程-总算理解python3中文入门教程
- 有关数据库的多库查询
- vue-source的实例
- 基于Blink构建亲听项目以及全链路debug项目实时响应能力
- mysql8.0.4以后_mysql官方源从8.0.3直接通过yum源升级到8.0.4后启动不成功解决方法...
- java 指定字段排序规则_Java之对List里面的元素实现按指定字段排序的方法
- 人脸标注工具源码解读
- 数据结构与算法(Python)第一天
- 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_3_综合案例_文件上传案例的服务器端...
- 删除excel 2007数据透视表
- 台式计算机有线无线网卡设置,笔记本/台式电脑有线网络转无线wifi教程
- Layui字体图标大全
- 华为内容安全反病毒总结
- Ubuntu18.04 安装NVIDIA英伟达驱动教程
- 访问者模式(Vistor Pattern)
- MFO问题与MFEA算法
- 图解卷积前后图像尺寸的关系
- 【开源SPL】列存数据仓库怎样更高效
- 柯基数据携手亚马逊云科技打造一站式知识图谱平台案例
- matlab画磁滞回线,[画图的问题]怎么画类似于磁滞回线的图像?一个x值对应两个y值的...