ASRT语音识别工具文档

Welcome to the ASRT SpeechRecognition wiki document!
欢迎来到自动语音识别工具Wiki文档!

ASRT是一个基于深度学习的语音识别工具,可以用于开发最先进的语音识别系统,是由AI柠檬博主(西安电子科技大学 · 西安市大数据与视觉智能重点实验室)从2016年起做的开源语音识别项目,基线为85%识别准确率,在某些条件下可做到95%左右的识别准确率。ASRT包含了语音识别算法服务端(用于训练或部署API服务)和多种平台及编程语言的客户端SDK,支持一句话识别实时流式识别,相关的代码已经开源在GitHub和Gitee上。
ASRT语音识别系统的API已经为AI柠檬站内搜索引擎提供了语音识别服务,用于该站语音搜索功能的实现。

快捷链接

ASRT项目主页 | ASRT在线语音识别体验Demo | 作者及交流群联系方式

元语音研究网

快速开始

# 如果您是从源码开始从头完整地自行搭建ASRT训练、推理和API服务运行环境,并执行对应操作,可遵循下列步骤
$ git clone https://github.com/nl8590687/ASRT_SpeechRecognition.git
$ cd ASRT_SpeechRecognition
$ python download_default_datalist.py
$ mkdir /data/speech_data/
# 然后下载默认的6个语音数据集放到 /data/speech_data/ 目录下并解压
# 请注意是 /data/speech_data/ 而不是 data/speech_data/,如果不懂有什么区别请先去学习Linux基础知识
# 对,你没看错,Linux系统下路径就是写 /data/speech_data/,目的是让你挂载一块独立的专门用于存放语音数据集的大容量硬盘(比如 2TB、4TB、8TB等)到 /data
# 并且将数据集独立存放于 /data/speech_data/ 路径,而不是直接放到ASRT项目目录下面,否则你的 /root 或者 /home/xxx 路径下存储空间会爆炸,或者文件管理起来会非常混乱

# 下面的脚本执行前,请先根据实际情况修改脚本里面对应的参数
# 训练,如果您是从头开始则需要先训练模型
$ python3 train_speech_model.py
# 评估,已有训练好的模型参数文件后可以进行准确率评估
$ python3 evaluate_speech_model.py
# 推理,预测单条音频文件的语音识别文本
$ python3 predict_speech_file.py

# 开启HTTP协议API服务,启动并监听端口
$ python3 asrserver_http.py
# 测试调用HTTP协议API服务是否成功,需先启动有HTTP协议API服务
$ python3 client_http.py
# 开启gRPC协议API服务,启动并监听端口
$ python3 asrserver_grpc.py
# 测试调用gRPC协议API服务是否成功,需先启动有gRPC协议API服务
$ python3 client_grpc.py

更多详细步骤请查看文档:从零开始上手教程

关于“预训练模型”问题:

本项目自身不采用“预训练模型”这一说法,因为面向通用场景的语音识别在训练时由于数据集够用,并不需要迁移学习。而且由于ASRT项目的持续发展,模型配置不断迭代,不同时期版本的模型参数文件在数据维度和含义表示上是互不兼容的,不可交叉使用。但是可以下载ASRT项目作者(AI柠檬博主)已经训练并打包好的发布版成品,运行后提供API服务。

ASRT服务端下载页面中,可下载到完整可用的,可直接运行提供语音识别API服务的打包后的文件,如果打算直接使用,可以直接下载部署使用,无需再训练

如果有需要迁移学习的任务,比如迁移学习到其他某些特定应用场景,或者一些子任务下,请基于一个固定的发布版本进行相关工作,不应该出现混合使用不同版本下的代码、模型及权重文件等操作,否则可能会由于版本的不兼容出现运行报错(维度不匹配或依赖升级等)或识别准确率奇差(含义调整导致)的问题。

Docker部署

仅CPU运行推理识别,不作训练

$ docker pull ailemondocker/asrt_service:1.3.0
$ docker run --rm -it -p 20001:20001 -p 20002:20002 --name asrt-server -d ailemondocker/asrt_service:1.3.0

Star趋势

仓库地址:https://github.com/nl8590687/ASRT_SpeechRecognition

Stargazers over time

ASRT相关资源

ASRT的原理请查看本文:ASRT:一个中文语音识别系统

关于经常被问到的统计语言模型原理的问题,请看:
统计N元语言模型生成算法:简单中文词频统计

统计语言模型:从中文拼音到文本

使用ASRT训练和部署语音识别的原版完整教程:

教你如何使用ASRT训练中文语音识别模型

教你如何使用ASRT部署中文语音识别API服务器

关于ASRT语音识别演示和测试API:

ASRT语音识别网页版体验Demo 由于网络可能存在延时,请耐心等待识别结果,不需要连续不停地点“上传识别”,会导致服务器CPU负载过重

ASRT免费测试版Open API服务器配置(基于HTTP协议):

  • host: api.ailemon.net
  • port: 443
  • protocol: https
  • sub path: /asrt/v2/http

可以在Windows客户端Demo里填写并运行识别,也可以用于使用客户端SDK进行应用开发。

参考引用本项目

DOI: 10.5281/zenodo.5808434

媒体报道

绝佳的ASR学习方案:这是一套开源的中文语音识别系统 | 机器之心

联系作者及交流讨论

联系方式请查阅 联系作者及交流讨论 页面


西安电子科技大学 · 西安市大数据与视觉智能重点实验室
ASRT开源项目受中华人民共和国著作权法保护

作者:AI柠檬  创建时间:2021-11-25 22:54
最后编辑:AI柠檬  更新时间:2024-11-06 22:17