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

news2024/9/29 17:22:07

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.coloradmin.cn/o/586133.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python打包成EXE

一、使用Pyinstaller pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller 1.2Pyinstaller打包步骤 Pyinstaller -F -w -i apple.ico py_word.py 结果: 运行结果: 二、使用Auto-py-to-exe auto-py-to-exe 是一个用于打包 python 程序…

第二届(2023年)中国国际培育钻石产业发展与创新大会盛大召开!

5月25-26日,由广东省商务厅、中国国际贸易促进委员会广东省委员会(广东国际商会)、广州市商务局、番禺区人民政府、广东省交易控股集团有限公司/广东省公共资源交易中心指导,广州钻石交易中心(简称广钻中心&#xff09…

C语言深度解析--指针

目录 指针 指针的定义: 指针的大小: 指针和指针类型 野指针 指针运算 指针-整数: 指针-指针: 指针的关系运算: 指针和数组 二级指针 指针数组 理解指针的第一步是在机器级上观察指针表示的内容。大多数现代…

第十六届全国大学生信息安全竞赛创新实践赛初赛部分WP AGCTF战队

持续两天的比赛,打的很累,web没有出太多的题,比赛被pwn师傅带飞了,希望下此加油,下边是此次比赛排名。 文章目录 MISC签到卡被加密的生产流量国粹调查问卷pyshell CRYPTO基于国密SM2算法的密钥密文分发可信度量Sign_i…

Java中的深拷贝和浅拷贝介绍

文章目录 基本类型和引用类型Clone方法浅拷贝深拷贝小结 在讲解什么是深拷贝和浅拷贝之前,我们先来了解一下什么是基本类型和引用类型。 基本类型和引用类型 基本类型也称为值类型,分别是字符类型 char,布尔类型 boolean以及数值类型 byte、…

Vue3 项目相关

vite 项目起步式 npm create vite - 1.命名项目名称- 2. 选择技术框架- 3. 进入项目文件夹 npm i 安装依赖,- 4. npm run dev 运行项目配置 package.json 文件 ,使项目运行后自动再浏览器中打开。 在 dev 运行命令后添加一个 --open 即可。 "script…

微信小程序初识

微信小程序 因(ios,android)多平台彼此间并不互通,所以开发需要两个不同平台的开发团推队,所以微信小程序因此诞生。 小程序的优点 快速加载更强大的能力原生的体验易用且安全的微信数据开放高效和简单的开发 首先 根据自己的情况安装微…

弄懂软件测试左移和右移,靠它就行

软件测试技术应当贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其核心目标是尽快尽早地发现软件产品中所存在的各种问题 bug—— 与用户需求、预先定义的不一致性。 传统的软件测试流程是 接到项目后参与…

cubemx stm32 pca9685pw模块 16路PWM 可用于舵机驱动 驱动代码

资料 淘宝链接请点这里 淘宝资料资料: 链接:https://pan.baidu.com/s/1Kda-c7QdZdQ03FBMa0zeRA 提取码:1234 pca9685pw介绍 这个模块是 I2C 通信控制 16 路 PWM 的模块。 所有路的 频率 是统一设置的,所以每一路的频率都一样&a…

java单元测试( Hamcrest 断言)

java单元测试( Hamcrest 断言) 单元测试特征: 1 范围狭窄 2 限于单一类或方法 3 体积小 为什么要编写单元测试? 为了防止错误(很明显!) 而且还可以提高开发人员的生产力,因为单元测试: (1) 帮助实施——在…

网工内推 | 经验不限,国企招网工,IE认证优先,五险一金

01 一九零五(北京)网络科技有限公司 🔷招聘岗位:网络工程师 🔷职责描述: 1、负责公司内部现有网络配置及调优; 2、负责IT机房的网络和安全的日常维护工作; 3、负责IT机房的紧急故…

轻松掌握redis缓存穿透、击穿、雪崩问题及解决方案(20230529版)

1、缓存穿透 所谓缓存穿透就是非法传输了一个在数据库中不存在的条件,导致查询redis和数据库中都没有,并且有大量的请求进来,就会导致对数据库产生压力,解决这一问题的方法如下: 1、使用空缓存解决 对查询到值是空的…

【Python开发】FastAPI 02:请求参数—路径参数、查询参数

进行接口请求时,请求参数是重中之重了!请求参数指客户端向服务端发送请求时,需要传递给服务端的参数,包括路径参数、查询参数、请求体等。举个例子,如果客户端想要获取某个用户的信息,可以向服务端发送一个…

PHPMySQL基础(一):创建数据库并通过PHP进行连接

PHP同样可以对数据库进行连接,并且实现增删改查、登录注册等功能,这一篇写一下怎么使用PHP去连接MySQL数据库 目录 一、创建数据库 1.1 登录页面 1.2 创建数据库 1.3 创建数据库表 1.4 添加表字段 1.5 插入数据 1.6 导出和导入 二、PHP连接数据…

华为OD机试真题B卷 Java 实现【报文重排序】,附详细解题思路

一、题目描述 对报文进行重传和重排序是常用的可靠性机制&#xff0c;重传缓冲区内有一定数量的子报文&#xff0c;每个子报文在原始报文中的顺序已知&#xff0c;现在需要恢复出原始报文。 二、输入描述 输入第一行为N&#xff0c;表示子报文的个数&#xff0c;0 < N &l…

SpringBoot 配置文件和日志文件

目录 一、SpringBoot配置文件 配置文件的格式 .properties配置文件格式 .yml配置文件格式 .properties 与 .yml的区别 配置文件的读取 .properties 与 .yml的区别 设置不同环境的配置⽂件 二、SpringBoot日志文件 日志打印的步骤 得到日志对象 方法一&#xff1a;使…

vulnhub靶场之RAGNAR LOTHBROK: 1

1.信息收集 探测存活主机&#xff0c;输入&#xff1a;netdiscover -r 192.168.239.0/24 &#xff0c;发现192.168.239.178存活。 对目标主机192.168.239.178进行端口扫描&#xff0c;发现存活21(ftp)、80、443、3306端口。 浏览器访问http://192.168.239.178&#xff0c;发…

设计模式 - 代理模式

基本介绍: 代理模式&#xff1a;为一个对象提供一个替身&#xff0c;以控制对这个对象的访问。即通过代理 对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的 功能操作,即扩展目标对象的功能。被代理的对象可以是远程对象、创建开销大的对象或需要安全控…

chatgpt赋能python:Python三次方根的用途和计算方法

Python三次方根的用途和计算方法 如果您是一位Python编程工程师&#xff0c;您可能会经常需要用到Python的数学计算功能。在这篇文章中&#xff0c;我们将探讨Python三次方根的概念和使用&#xff0c;以及如何在Python中计算三次方根。 什么是三次方根&#xff1f; 三次方根…

SpringBoot 框架

SpringBoot 框架 SpringBoot 简介SpringBoot 开发步骤SpringBoot工程快速启动SpringBoot概述起步依赖自动装配切换web服务器 配置文件配置文件格式yaml格式yaml配置文件数据读取Value注解读取配置文件Environment对象自定义对象多环境配置 SpringBoot 整合 SpringBoot 简介 Sp…