ASRT语音识别系统的部署以及模型的使用(运用篇)

news/2024/10/17 14:18:51/

ASRT语音识别系统的部署以及模型的使用(运用篇)


前言

ASRT是一个中文语音识别系统,由AI柠檬博主开源在GitHub上。

GitHub地址:ASRT_SpeechRecognition

国内Gitee镜像地址:ASRT_SpeechRecognition

文档地址:ASRT语音识别工具文档

本文主要是记录一下我在参考文章:教你如何使用ASRT训练中文语音识别模型 并完成部署以及使用模型进行语音识别的操作步骤。

文章作者比较惜字如金,文中很多细节之处没有细讲,我在windows上进行部署的时候踩了比较多的坑,特此记录下。

本文适用对象:只想搭建一个语音识别服务端,来实现语音识别功能,而不需要训练出自定义的语音识别模型(如:训练出可识别某些方言的模型)。

如需训练自定义模型,可参考文章ASRT语音识别系统的部署以及模型训练


文章目录

    • 前言
    • @[toc]
    • 先决条件:
    • 下载ASRT Released包
    • 运行环境搭建
      • 操作系统安装CUDA、cuDNN
        • 安装步骤
        • 查看CUDA版本:
        • 查看cuDNN版本:
      • 安装Anaconda
        • 安装步骤
        • 查看conda版本信息:
    • 项目部署
      • conda创建python虚拟环境
        • 操作步骤
        • 查看虚拟环境基本信息
      • 为ASRT项目安装依赖包
        • 安装依赖包:
        • 踩坑记录:
      • 使用ASRT模型
      • 本机进行语音识别
      • 将ASRT部署成服务
      • 设置ASRT服务开机自启动
    • 常见问题去哪里找?

先决条件:

众所周知,跑神经网络,要用到英伟达的显卡。

本人硬件参数:

以下是官方配置建议,我的显卡可能不达标,但如果存粹使用训练好的模型来进行语音识别的话,并不需要这么高的设备。

Graphical user interface, text, application, email Description automatically generated

下载ASRT Released包

前往Github下载最新Released包(ASRT v1.3.0)。

image-20230529214157311

下载完成后,需要进行解压。之后,如果GitHub仓库上如果代码有更新,重复上述步骤即可。

我的解压路径:

cd C:\Users\Administrator\Documents\ftp\qianyuhui\src\ASRT_SpeechRecognition

运行环境搭建

操作系统安装CUDA、cuDNN

训练模型请安装好Nvidia GPU驱动和CUDA、cuDNN。

安装步骤

安装过程略过。参考文章:Windows 安装 CUDA/cuDNN

查看CUDA版本:

nvcc -V

查看cuDNN版本:

进入 cuda 的安装路径, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include,找到 cudnn_version.h 选中,以记事本方式打开。

这里,我的是8.8.1

安装Anaconda

安装步骤

安装步骤略过,参考文章:anaconda的安装和使用

查看conda版本信息:

Anaconda PowerShell控制台中输入以下命令:

conda info

我的conda版本是23.1.0

项目部署

conda创建python虚拟环境

首先请确保Anaconda 创建python3.10的虚拟环境。

操作步骤

我给asrt单独创建了一个名为:asrt_env的虚拟环境:

Anaconda PowerShell控制台中输入以下命令:

conda create -n asrt_env python=3.10 

查看虚拟环境基本信息

Anaconda PowerShell控制台中输入以下命令:

conda env list conda activate asrt_env conda info

为ASRT项目安装依赖包

安装依赖包:

Anaconda PowerShell控制台中,我们激活asrt_env虚拟环境,并cd到ASRT项目下,通过

requirements.txt为其安装依赖包:

conda env list
conda activate asrt_env
cd c:\Users\Administrator\Documents\ftp\qianyuhui\src\ASRT_SpeechRecognition\
pip install -r requirements.txt

这是一个漫长的安装过程,甚至经常因为网速慢导致下载失败。

踩坑记录:

我在安装tensorflow-gpu时失败了好几次,因为我conda使用的是清华源,下载tensorflow-gpu及其缓慢:

后来网上找到了提速的办法:

关掉原本的控制台,重新通过asrt_env进入ASRT项目目录,

单独先使用中科大的镜像将tensorflow-gpu安装好:

conda env list 
conda activate asrt_env 
pip --default-timeout=1000000 install -U -i https://pypi.mirrors.ustc.edu.cn/simple/ --upgrade tensorflow-gpu==2.8.4

然后重新安装requirements.txt内的包:

conda env list 
conda activate asrt_env 
cd C:\\Users\\Administrator\\Documents\\ftp\\qianyuhui\\src\\ASRT_SpeechRecognition
pip install -r requirements.txt

使用ASRT模型

ASRT Released包中的save_models文件夹下已经有一份训练好的模型文件了

image-20230529220629207

image-20230529220947058

本机进行语音识别

语音识别使用predict_speech_file.py文件:

Text, application Description automatically generated

第47行代码:load_model()方法中,需要指定模型参数文件(.h)路径。

第48行代码:recognize_speech_from_file()函数里面,填写我们需要识别的录音文件的文件名路径。

完毕后,运行代码,查看识别结果。

conda env list 
conda activate asrt_env 
cd C:\\Users\\Administrator\\Documents\\ftp\\qianyuhui\\src\\ASRT_SpeechRecognition python predict_speech_file.py

Text Description automatically generated

将ASRT部署成服务

这部分参考文章:教你如何使用ASRT部署中文语音识别API服务器

打开asrserver_http.py文件,如图。

image-20230529223240958

在文件末尾,有默认监听的端口配置,默认为20001端口。

输入以下命令启动服务:

python asrserver_http.py

设置ASRT服务开机自启动

常见问题去哪里找?

FAQ常见问题答疑


http://www.ppmy.cn/news/104067.html

相关文章

iPad Pro “买后生产力” - 在iPad上远程连接服务器编程写代码【公网远程】

文章目录 前言视频教程1. 本地环境配置2. 内网穿透2.1 安装cpolar内网穿透(支持一键自动安装脚本)2.2 创建HTTP隧道 3. 测试远程访问4. 配置固定二级子域名4.1 保留二级子域名4.2 配置二级子域名 5. 测试使用固定二级子域名远程访问6. iPad通过软件远程vscode6.1 创建TCP隧道 7…

微信小程序 -- 获取语音,并将语音转为文字(插件:微信同声传译)

实现的功能是获取语音,并将语音转为文字,实现效果如下: 1. 小程序后台添加插件:微信同声传译 登录小程序后台:https://mp.weixin.qq.com 11. 设置 -> 第三方设置 -> 添加插件 12. 输入“微信同声传译”&#x…

ASEMI单向可控硅BT151参数,BT151封装,BT151体积

编辑-Z 单向可控硅BT151参数: 型号:BT151 存储接点温度范围Tstg:-40~150℃ 工作接点温度范围Tj:-40~125℃ 断态重复峰值电压VDRM:650V 重复峰值反向电压VRRM:650V RMS导通电流IT(RMS):12…

【源码解析】Spring Bean生命周期源码解析

Spring启动核心 AbstractApplicationContext#refresh,Spring刷新容器的核心方法。最关键的就是 AbstractApplicationContext#invokeBeanFactoryPostProcessors,扫描BeanAbstractApplicationContext#finishBeanFactoryInitialization,生成Be…

基于ChatGPT的对话生成

一、ChatGPT的对话生成 1、模型架构 ChatGPT是一种基于Transformer的神经网络模型,可以对输入序列和输出序列进行关注,并输出与输入序列相似的文本序列。在对话生成领域,ChatGPT模型的输入是一个由若干对话历史和当前问题组成的文本序列&am…

第一部分-基础篇-第二章:PSTN、PBX及呼叫中心业务

文章目录 序言上一篇文章:2.1 PSTN业务2.1.1 POTS2.1.2 商务业务2.1.3 其他增值业务 2.2 PBX业务2.2.1 呼叫转移2.2.2 同组代答 2.3 PBX与中继线2.4 IP-PBX业务2.5 呼叫中心2.5.1 什么是呼叫中心2.5.2 呼叫中心的历史2.5.3 呼叫中心的分类1.交换机类型的呼叫中心2.板…

前端面试题汇总大全二(含答案超详细,Vue,TypeScript,React,Webpack 汇总篇)-- 持续更新

前端面试题汇总大全(含答案超详细,HTML,JS,CSS汇总篇)-- 持续更新 前端面试题汇总二 五、Vue 篇1. 谈谈你对MVVM开发模式的理解?2. v-if 和 v-show 有什么区别?3. r o u t e 和 route和 route和router区别4.vue自定义…

MySQL-3-创建表、删除表、增删改、约束、索引

一、创建表 语法格式&#xff1a; create table <表名>( 字段名1 数据类型&#xff0c; 字段名2 数据类型&#xff0c; … ); 补充&#xff1a;MySQL中常见的数据类型 int 整数&#xff08;对应Java中的int&#xff09; bigint 长整型&#xff08;对应Java中的long&#…