![](assets/asrt_title_header.png)
[![GPL-3.0 Licensed](https://img.shields.io/badge/License-GPL3.0-blue.svg?style=flat)](https://opensource.org/licenses/GPL-3.0)
[![Stars](https://img.shields.io/github/stars/nl8590687/ASRT_SpeechRecognition)](https://github.com/nl8590687/ASRT_SpeechRecognition)
[![TensorFlow Version](https://img.shields.io/badge/Tensorflow-2.5+-blue.svg)](https://www.tensorflow.org/)
[![Python Version](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://www.python.org/)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5808434.svg)](https://doi.org/10.5281/zenodo.5808434)
ASRT是一个基于深度学习的中文语音识别系统,如果您觉得喜欢,请点一个 **"Star"** 吧~
**ReadMe Language** | 中文版 | [English](https://github.com/nl8590687/ASRT_SpeechRecognition/blob/master/README_EN.md) |
[**ASRT项目主页**](https://asrt.ailemon.net/) |
[**发布版下载**](https://wiki.ailemon.net/docs/asrt-doc/download) |
[**查看本项目的Wiki文档**](https://wiki.ailemon.net/docs/asrt-doc) |
[**实用效果体验Demo**](https://asrt.ailemon.net/demo) |
[**打赏作者**](https://wiki.ailemon.net/docs/asrt-doc/asrt-doc-1deo9u61unti9)
如果程序运行期间或使用中有什么问题,可以及时在issue中提出来,我将尽快做出答复。本项目作者交流QQ群:**894112051** ,加微信群请先加AI柠檬微信号:**ailemon-me** ,并备注“ASRT语音识别”
<center><img src="https://res.ailemon.net/common/ailemon-me-wechat-qrcode.jpg?x-oss-process=style/ailemon-blog-webp" height="100rem"/></center>
提问前请仔细查看[项目文档](https://asrt.ailemon.net/docs/)、
[FAQ常见问题](https://wiki.ailemon.net/docs/asrt-doc/asrt-doc-1deoeud494h4f)
以及[Issues](https://github.com/nl8590687/ASRT_SpeechRecognition/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 18.04 + / CentOS 7 + 或 Windows 10/11
* Python: 3.7 - 3.10 及后续版本
* TensorFlow: 2.5 - 2.11 及后续版本
## 快速开始
以在Linux系统下的操作为例:
首先通过Git将本项目克隆到您的计算机上,然后下载本项目训练所需要的数据集,下载链接详见[文档末尾部分](https://github.com/nl8590687/ASRT_SpeechRecognition#data-sets-%E6%95%B0%E6%8D%AE%E9%9B%86)。
```shell
$ git clone https://github.com/nl8590687/ASRT_SpeechRecognition.git
```
或者您也可以通过 "Fork" 按钮,将本项目Copy一份副本,然后通过您自己的SSH密钥克隆到本地。
通过git克隆仓库以后,进入项目根目录;并创建一个存储数据的子目录, 例如 `/data/speech_data` (可使用软链接代替),然后将下载好的数据集直接解压进去
注意,当前版本中,在配置文件里,默认添加了Thchs30、ST-CMDS、Primewords、aishell-1、aidatatang200、MagicData 六个数据集,如果不需要请自行删除。如果要使用其他数据集需要自行添加数据配置,并提前使用ASRT支持的标准格式整理数据。
```shell
$ cd ASRT_SpeechRecognition
$ mkdir /data/speech_data
$ tar zxf <数据集压缩文件名> -C /data/speech_data/
```
下载默认数据集的拼音标签文件:
```shell
$ python download_default_datalist.py
```
目前可用的模型有24、25、251和251bn
运行本项目之前,请安装必要的[Python3版依赖库](https://github.com/nl8590687/ASRT_SpeechRecognition#python-import)
本项目开始训练请执行:
```shell
$ python3 train_speech_model.py
```
本项目开始测试请执行:
```shell
$ python3 evaluate_speech_model.py
```
测试之前,请确保代码中填写的模型文件路径存在。
预测单条音频文件的语音识别文本:
```shell
$ python3 predict_speech_file.py
```
启动ASRT HTTP协议的API服务器启动请执行:
```shell
$ python3 asrserver_http.py
```
本地测试调用HTTP协议API服务是否成功:
```shell
$ python3 client_http.py
```
启动ASRT GRPC协议的API服务器启动请执行:
```shell
$ python3 asrserver_grpc.py
```
本地测试调用GRPC协议API服务是否成功:
```shell
$ python3 client_grpc.py
```
请注意,开启API服务器之后,需要使用本ASRT项目对应的客户端软件来进行语音识别,详见Wiki文档[下载ASRT语音识别客户端SDK和Demo](https://wiki.ailemon.net/docs/asrt-doc/download)。
如果要训练和使用非251bn版模型,请在代码中 `from speech_model.xxx import xxx` 的相应位置做修改。
使用docker直接部署ASRT:
```shell
$ 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下载页面](https://wiki.ailemon.net/docs/asrt-doc/download)。
Github本仓库下[Releases](https://github.com/nl8590687/ASRT_SpeechRecognition/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):
```shell
$ pip install -r requirements.txt
```
[依赖环境和性能配置要求](https://wiki.ailemon.net/docs/asrt-doc/asrt-doc-1deobk7bmlgd6)
## Data Sets 数据集
完整内容请查看:[几个最新免费开源的中文语音数据集](https://blog.ailemon.net/2018/11/21/free-open-source-chinese-speech-datasets/)
|数据集|时长|大小|国内下载|国外下载|
|-|-|-|-|-|
|THCHS30|40h|6.01G|[data_thchs30.tgz](<http://openslr.magicdatatech.com/resources/18/data_thchs30.tgz>)|[data_thchs30.tgz](<http://www.openslr.org/resources/18/data_thchs30.tgz>)|
|ST-CMDS|100h|7.67G|[ST-CMDS-20170001_1-OS.tar.gz](<http://openslr.magicdatatech.com/resources/38/ST-CMDS-20170001_1-OS.tar.gz>)|[ST-CMDS-20170001_1-OS.tar.gz](<http://www.openslr.org/resources/38/ST-CMDS-20170001_1-OS.tar.gz>)|
|AIShell-1|178h|14.51G|[data_aishell.tgz](<http://openslr.magicdatatech.com/resources/33/data_aishell.tgz>)|[data_aishell.tgz](<http://www.openslr.org/resources/33/data_aishell.tgz>)|
|Primewords|100h|8.44G|[primewords_md_2018_set1.tar.gz](<http://openslr.magicdatatech.com/resources/47/primewords_md_2018_set1.tar.gz>)|[primewords_md_2018_set1.tar.gz](<http://www.openslr.org/resources/47/primewords_md_2018_set1.tar.gz>)|
|MagicData|755h|52G/1.0G/2.2G| [train_set.tar.gz](<http://openslr.magicdatatech.com/resources/68/train_set.ta
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 基于Python+Flask深度学习的中文语音识别系统源码+数据集+详细文档(高分毕业设计).zip基于Python+Flask深度学习的中文语音识别系统源码+数据集+详细文档(高分毕业设计).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕设项目、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 3、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于Python+Flask深度学习的中文语音识别系统源码+数据集+详细文档(高分毕业设计).zip (52个子文件)
171265889347208773632.zip 416B
ASRT_SpeechRecognition-master
model_zoo
speech_model
keras_backend.py 24KB
asrserver_grpc.py 7KB
download_default_datalist.py 4KB
train_speech_model.py 2KB
.github
FUNDING.yml 510B
donate.md 786B
assets
asrt_title_header.png 77KB
asrt_title_header_en.png 69KB
asrt_pb2.py 13KB
asrt.proto 2KB
default.html 755B
asrt_pb2_grpc.py 7KB
evaluate_speech_model.py 2KB
LICENSE 34KB
speech_features
__init__.py 924B
speech_features.py 9KB
sigproc.py 7KB
base.py 13KB
predict_speech_file.py 2KB
utils
ops.py 6KB
ops_test.py 4KB
thread.py 2KB
config.py 2KB
datalist
st-cmds
test.wav.txt 129KB
train.wav.txt 6.29MB
train.syllable.txt 7.06MB
test.syllable.txt 145KB
dev.syllable.txt 44KB
dev.wav.txt 39KB
thchs30
train.syllable.txt 1.65MB
cv.syllable.txt 151KB
test.syllable.txt 423KB
test.wav.lst 91KB
train.wav.lst 371KB
cv.wav.lst 31KB
data_loader.py 3KB
language_model3.py 5KB
speech_recorder.py 4KB
client_grpc.py 4KB
README_EN.md 11KB
Dockerfile 2KB
dict.txt 32KB
speech_model.py 11KB
requirements.txt 1KB
.gitignore 213B
asrt_config.json 5KB
asrserver_http.py 7KB
README.md 11KB
model_language
language_model1.txt 47KB
language_model2.txt 4.97MB
client_http.py 1KB
共 52 条
- 1
资源评论
- 2301_770572092024-05-30简直是宝藏资源,实用价值很高,支持!
不走小道
- 粉丝: 3342
- 资源: 5059
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功