使用FunASR处理语音识别

ops/2024/9/20 4:02:29/ 标签: 语音识别

FunASR是阿里的一个语音识别工具,比SpeechRecognition功能多安装也很简单;

官方介绍:FunASR是一个基础语音识别工具包,提供多种功能,包括语音识别(ASR)、语音端点检测(VAD)、标点恢复、语言模型、说话人验证、说话人分离和多人对话语音识别等。FunASR提供了便捷的脚本和教程,支持预训练好的模型的推理与微调。

网址:FunASR/README_zh.md at main · alibaba-damo-academy/FunASR · GitHub

安装直接用:pip install funasr  -i https://pypi.tuna.tsinghua.edu.cn/simple

读取音频需要(我没ffmpeg):pip install torchaudio  -i https://pypi.tuna.tsinghua.edu.cn/simple

官网说:如果需要使用工业预训练模型,安装modelscope(可选)pip install modelscope  -i https://pypi.tuna.tsinghua.edu.cn/simple

如果按照官网的代码直接使用model名,第一次使用这个model时,会自动下载对应的model,会在C:\Users\你的用户名\.cache目录里新建modelscope文件夹,将所用到的model下载到里面;

model = AutoModel(model="paraformer-zh",  vad_model="fsmn-vad", punc_model="ct-punc", # spk_model="cam++")

所用到的model会在/modelscope/hub/iic/目录里找到,可以拷贝出来使用,代码里直接指定model目录;

也可以自己去他们网站下载model拿来用:FunASR/model_zoo at main · alibaba-damo-academy/FunASR · GitHub

model直接搞出来用:

语音转文字demo:

#!/usr/bin/env python3
# coding = utf-8
"""
# Project: workspace_py
# File: test_funasr.py
# Author: XWF
# Time: 2024/4/15 16:14
"""from funasr import AutoModelprint('test')model_path = 'models/modelscope/hub/iic/speech_seaco_paraformer_large_asr_nat-zh-cn-16k-common-vocab8404-pytorch'
vad_path = 'models/modelscope/hub/iic/speech_fsmn_vad_zh-cn-16k-common-pytorch'
punc_path = 'models/modelscope/hub/iic/punc_ct-transformer_zh-cn-common-vocab272727-pytorch'
model = AutoModel(model=model_path,  # model_revision="v2.0.4",vad_model=vad_path,  # vad_model_revision="v2.0.4", vad_kwargs={},punc_model=punc_path,  # punc_model_revision="v2.0.4", punc_kwargs={},# device='cuda:0',device='cpu',ncpu=4,# spk_model="cam++", spk_model_revision="v2.0.4",disable_log=True,disable_pbar=True)res = model.generate(input='test_24000_16.wav', batch_size_s=300)
print(res)
print(type(res), type(res[0]), res[0].get('text'))# res = model.generate(input='test_8000_16.pcm', batch_size_s=300)
# print(res)
# print(res[0].get('text'))with open('test_24000_16.wav', 'rb') as f:wav_data = f.read()
res = model.generate(input=wav_data,batch_size_s=1)
print(res)with open('test_8000_16.pcm', 'rb') as f:pcm_data = f.read()
res = model.generate(input=pcm_data, batch_size_s=1)
print(res)

运行结果:

弄到model后直接使用model目录指定model就行,不用再下载了,也不用指定版本;

也可以使用各个model_version指定版本,下载的时候会使用指定的版本下载;

在AutoModel里使用disable_log=True和disable_pbar=True可以关闭那些红红的打印日志,不然满屏幕就会这样:

但是不知道input='test_8000_16.pcm'为啥老是找不到文件报错,跑不通,设置了fs好像也不行;

官网还有许多其他的功能可以去看看;


http://www.ppmy.cn/ops/15118.html

相关文章

Android 水滴屏、全屏适配

Android 水滴屏、全屏适配 何谓刘海屏?何谓水滴屏? 上述两种屏幕都可以统称为刘海屏,不过对于右侧较小的刘海,业界一般称为水滴屏或美人尖。 目前国内流行的手机厂商主要有:vivo、oppo、华为、小米。各厂商对刘海屏的…

GHO文件安装到Vmware的两种姿势

1、使用 Ghost11.5.1.2269 将gho转换为vmdk文件(虚拟机硬盘),Vmware新建虚拟机自定义配置,然后添加已有的虚拟硬盘文件。 注意ghost的版本,如果你是用Ghost11.5备份的gho文件,再用Ghost12把gho文件转换为vmdk,则vmdk文…

深度学习之视觉特征提取器——VGG系列

VGG 提出论文:1409.1556.pdf (arxiv.org) 引入 距离VGG网络的提出已经约十年,很难想象在深度学习高速发展的今天,一个模型能够历经十年而不衰。虽然如今已经有VGG的大量替代品,但是笔者研究的一些领域仍然有大量工作选择使用VG…

vue2响应式 VS vue3响应式

Vue2响应式 存在问题: 新增属性,删除属性,界面不会更新。 直接通过下标修改数组界面不会自动更新。 Vue2使用object.defineProperty来劫持数据是否发生改变,如下: 能监测到获取和修改属性: 新增的属性…

服务器数据恢复—存储硬盘坏道,指示灯亮黄色的数据恢复案例

服务器数据恢复环境&故障: 一台某品牌EqualLogic PS系列某型号存储,存储中有一组由16块SAS硬盘组建的RAID5磁盘阵列,RAID5上划分VMFS文件系统存放虚拟机文件。存储系统上层一共分了4个卷。 raid5阵列中磁盘出现故障,有2块硬盘…

安全评估报告 项目安全风险评估报告 信息安全评估报告

一、安全评估报告的意义 安全评估报告是对特定环境、设施或系统安全性进行全 面分析、评估和预测的重要工具。它通过对潜在风险的识别、分析和评价,帮助决策者了解当前安全形势,制定科学的安全策略,从而有 效预防和减少安全事故的发生。安全…

Hive安装与配置实战指南

Hive安装与配置实战指南 在大数据领域中,Hive以其类SQL的查询语言HQL、可扩展的数据仓库能力和对Hadoop生态系统的良好集成,成为了数据分析和处理的重要工具。本文将指导您完成Hive的安装与配置,帮助您快速搭建起自己的Hive环境。 一、环境…

C++静态变量

C语言中与“静态”相关的词包括,静态全局变量,静态局部变量和静态函数,关键词是static。C语言中的变量从作用域分,可以分为全局变量和局部变量;从存储方式分,可以分为静态存储方式和动态存储方式。 1. 静态…

C语言工程调用C++库解决方案

本文为C语言工程调用C库的解决方案。 应用场景: 需要C程序编译成的库提供函数接口,来解决C语言工程的需求。 人的出场顺序真的很重要,很多人如果换一个时间认识,换一个时间共处,一切都将是不一样的场景,不…

鸿蒙原生应用元服务-访问控制(权限)开发应用权限列表二

ohos.permission.ACCELEROMETER 允许应用读取加速度传感器的数据。 权限级别 :normal 授权方式 :system_grant ACL使能 :TRUE ohos.permission.GYROSCOPE 允许应用读取陀螺仪传感器的数据。 权限级别 :normal 授权方式 &a…

C++高级特性:异常概念与处理机制(十四)

1、异常的基本概念 异常:是指在程序运行的过程中发生的一些异常事件(如:除数为0,数组下标越界,栈溢出,访问非法内存等) C的异常机制相比C语言的异常处理: 函数的返回值可以忽略&…

Mongodb支持事务吗?

一、概念 1.1、MongoDB事务简介 MongoDB 是一个非关系型数据库管理系统,最初并不支持事务。然而,随着时间的推移,MongoDB 在其4.0版本中引入了多文档事务支持,使得在单个集合中执行多个操作成为可能。 In MongoDB, an operation…

C#面:阐述什么是泛型,泛型的优点有哪些?

泛型是 C# 中的一种特性,它允许我们编写可以在不同类型上工作的可重用代码。 通过使用泛型,我们可以编写更加灵活和通用的代码,而不需要为每种类型都编写重复的代码。 泛型的优点有以下几个方面: 代码重用:使用泛型可…

装饰器模式

一、实现原理 装饰器设计模式(Decorator)是一种结构型设计模式,它允许动态地为对象添加新的行为。它通过创建一个包装器来实现,即将对象放入一个装饰器类中,再将装饰器类放入另一个装饰器类中,以此类推&am…

nginx反向代理

简介 Nginx反向代理是一种服务器架构模式,它允许Nginx服务器接收客户端的请求,然后将这些请求转发到上游服务器(例如应用服务器)进行处理,并将处理后的响应返回给客户端。在这个过程中,Nginx充当了客户端和…

如何提交已暂存的更改到本地仓库?

文章目录 如何提交已暂存的更改到本地Git仓库?步骤1:确认并暂存更改步骤2:提交暂存的更改到本地仓库 如何提交已暂存的更改到本地Git仓库? 在Git版本控制系统中,当你对项目文件进行修改后,首先需要将这些更…

前端开发攻略---用原生JS在网页中也能实现 文本转语音!

1、原理 语音合成 (也被称作是文本转为语音,英语简写是 tts) 包括接收 app 中需要语音合成的文本,再在设备麦克风播放出来这两个过程。 Web API中对此有一个主要控制接口 SpeechSynthesis,外加一些处理如何表示要被合成的文本 (也被称为 utte…

(避雷指引:管理页面超时问题)windows下载安装RabbitMQ

一、背景: 学习RabbitMQ过程中,由于个人电脑性能问题,直接装在windows去使用RabbitMQ,根据各大网友教程,去下载安装完之后,使用web端进行简单的入门操作时,总是一直提示超时,要么容…

2024年华为OD机试真题-考勤信息-Python-OD统一考试(C卷D卷)

题目描述: 公司用一个字符串来表示员工的出勤信息: absent:缺勤 late:迟到 leaveearly:早退 present:正常上班 现需根据员工出勤信息,判断本次是否能获得出勤奖,能获得出勤奖的条件如下: 缺勤不超过一次;没有连续的迟到/早退;任意连续7次考勤,缺勤/迟到/早退不超过…

GaussDB轻量化运维管理工具介绍

前言 本期课程将从管理平台的架构出发,结合平台的实例管理、实例升级、容灾管理和监控告警的功能和操作介绍,全面覆盖日常运维操作,带您理解并熟练运用GaussDB运维平台完成运维工作。 一、GaussDB 运维管理平台简介 开放生态层 友好Web界面…