ASRT_SpeechRecognition

2025-12-11 0 121

ASRT是一个基于深度学习的中文语音识别系统,如果您觉得喜欢,请点一个 \”Star\” 吧~

ReadMe Language | 中文版 | English |

ASRT项目主页 |
发布版下载 |
查看本项目的Wiki文档 |
实用效果体验Demo |
打赏作者

如果程序运行期间或使用中有什么问题,可以及时在issue中提出来,我将尽快做出答复。本项目作者交流QQ群:894112051 ,加微信群请先加AI柠檬微信号:ailemon-me ,并备注“ASRT语音识别”

提问前请仔细查看项目文档、
FAQ常见问题
以及Issues 避免重复提问

如果程序运行时有任何异常情况,在提问时请发出完整截图,并注明所使用的CPU架构,GPU型号,操作系统、Python,TensorFlow和CUDA版本,以及是否修改过任何代码或增删数据集等。

Introduction 简介

本项目使用tensorFlow.keras基于深度卷积神经网络和长短时记忆神经网络、注意力机制以及CTC实现。

训练模型的最低软硬件要求

硬件

  • CPU: 4核 (x86_64, amd64) +
  • RAM: 16 GB +
  • GPU: NVIDIA, Graph Memory 11GB+ (1080ti起步)
  • 硬盘: 500 GB 机械硬盘(或固态硬盘)

软件

  • Linux: Ubuntu 20.04+ / CentOS 7+ (训练+推理) 或 Windows: 10/11(仅推理)
  • Python: 3.9 – 3.11 及后续版本
  • TensorFlow: 2.5 – 2.11 及后续版本

快速开始

以在Linux系统下的操作为例:

首先通过Git将本项目克隆到您的计算机上,然后下载本项目训练所需要的数据集,下载链接详见文档末尾部分。

$ git clone https://gi*th**ub.com/nl8590687/ASRT_SpeechRecognition.git

或者您也可以通过 \”Fork\” 按钮,将本项目Copy一份副本,然后通过您自己的SSH密钥克隆到本地。

通过git克隆仓库以后,进入项目根目录;并创建一个存储数据的子目录, 例如 /data/speech_data (可使用软链接代替),然后将下载好的数据集直接解压进去

注意,当前版本中,在配置文件里,默认添加了Thchs30、ST-CMDS、Primewords、aishell-1、aidatatang200、MagicData 六个数据集,如果不需要请自行删除。如果要使用其他数据集需要自行添加数据配置,并提前使用ASRT支持的标准格式整理数据。

$ cd ASRT_SpeechRecognition

$ mkdir /data/speech_data

$ tar zxf <数据集压缩文件名> -C /data/speech_data/ 

下载默认数据集的拼音标签文件:

$ python download_default_datalist.py

目前可用的模型有24、25、251和251bn

运行本项目之前,请安装必要的Python3版依赖库

本项目开始训练请执行:

$ python3 train_speech_model.py

本项目开始测试请执行:

$ python3 evaluate_speech_model.py

测试之前,请确保代码中填写的模型文件路径存在。

预测单条音频文件的语音识别文本:

$ python3 predict_speech_file.py

启动ASRT HTTP协议的API服务器启动请执行:

$ python3 asrserver_http.py

本地测试调用HTTP协议API服务是否成功:

$ python3 client_http.py

启动ASRT GRPC协议的API服务器启动请执行:

$ python3 asrserver_grpc.py

本地测试调用GRPC协议API服务是否成功:

$ python3 client_grpc.py

请注意,开启API服务器之后,需要使用本ASRT项目对应的客户端软件来进行语音识别,详见Wiki文档下载ASRT语音识别客户端SDK和Demo。

如果要训练和使用非251bn版模型,请在代码中 from speech_model.xxx import xxx 的相应位置做修改。

使用docker直接部署ASRT:

$ 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

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

Model 模型

Speech Model 语音模型

DCNN + CTC

其中,输入的音频的最大时间长度为16秒,输出为对应的汉语拼音序列

  • 关于下载已经训练好的模型的问题

已经训练好的模型包含在发布版服务端程序压缩包里面,发布版成品服务端程序可以在此下载:ASRT下载页面。

Github本仓库下Releases页面里面还包括各个不同版本的介绍信息,每个版本下方的zip压缩包也是包含已经训练好的模型的发布版服务端程序压缩包。

Language Model 语言模型

基于概率图的最大熵隐马尔可夫模型

输入为汉语拼音序列,输出为对应的汉字文本

About Accuracy 关于准确率

当前,最好的模型在测试集上基本能达到85%的汉语拼音正确率

Python依赖库

  • tensorFlow (2.5-2.11+)
  • numpy
  • wave
  • matplotlib
  • scipy
  • requests
  • flask
  • waitress
  • grpcio / grpcio-tools / protobuf

不会安装环境的同学请直接运行以下命令(前提是有GPU且已经安装好 Python3.9、CUDA 11.2 和 cudnn 8.1):

$ pip install -r requirements.txt

依赖环境和性能配置要求

Data Sets 数据集

完整内容请查看:几个最新免费开源的中文语音数据集

数据集 时长 大小 国内下载 国外下载
THCHS30 40h 6.01G data_thchs30.tgz data_thchs30.tgz
ST-CMDS 100h 7.67G ST-CMDS-20170001_1-OS.tar.gz ST-CMDS-20170001_1-OS.tar.gz
AIShell-1 178h 14.51G data_aishell.tgz data_aishell.tgz
Primewords 100h 8.44G primewords_md_2018_set1.tar.gz primewords_md_2018_set1.tar.gz
MagicData 755h 52G/1.0G/2.2G train_set.tar.gz / dev_set.tar.gz / test_set.tar.gz train_set.tar.gz / dev_set.tar.gz / test_set.tar.gz

注:AISHELL-1 数据集解压方法

$ tar xzf data_aishell.tgz
$ cd data_aishell/wav
$ for tar in *.tar.gz;  do tar xvf $tar; done

特别鸣谢!感谢前辈们的公开语音数据集

如果提供的数据集链接无法打开和下载,请点击该链接 OpenSLR

ASRT语音识别API客户端调用SDK

ASRT为客户端通过RPC方式调用开发语音识别功能提供了不同平台和编程语言的SDK接入能力,对于其他平台,可直接通过调用通用RESTful Open API方式进行语音识别功能接入。具体接入步骤请看ASRT项目文档。

客户端平台 项目仓库链接
Windows客户端SDK和Demo ASRT_SDK_WinClient
跨平台Python3客户端SDK和Demo ASRT_SDK_Python3
跨平台Golang客户端SDK和Demo asrt-sdk-go
Java客户端SDK和Demo ASRT_SDK_Java

ASRT相关资料

  • 查看ASRT项目的Wiki文档

ASRT的原理请查看本文:

  • ASRT:一个中文语音识别系统

ASRT训练和部署教程请看:

  • 教你如何使用ASRT训练中文语音识别模型
  • 教你如何使用ASRT部署中文语音识别API服务器

关于经常被问到的统计语言模型原理的问题,请看:

  • 统计语言模型:从中文拼音到文本
  • 统计N元语言模型生成算法:简单中文词频统计

关于CTC的问题请看:

  • [翻译]使用CTC进行序列建模

更多内容请访问作者的博客:AI柠檬博客

或使用AI柠檬站内搜索引擎进行相关信息的搜索

License 开源许可协议

GPL v3.0 © nl8590687 作者:AI柠檬

参考引用本项目

DOI: 10.5281/zenodo.5808434

Contributors 贡献者们

贡献者页面

@nl8590687 (repo owner)

下载源码

通过命令行克隆项目:

git clone https://github.com/nl8590687/ASRT_SpeechRecognition.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 ASRT_SpeechRecognition https://www.zuozi.net/34417.html

weiboSpider
上一篇: weiboSpider
InfoSpider
下一篇: InfoSpider
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务