评测本地部署的语音识别模型

1 引言

最近,朋友给我发来了一段音频,想转录成文字,并使用大型润色文本。音频中的普通话带有一定的口音,并且讲解内容较为专业,所以一般的语音识别工具很难达到较高的识别率。

于是试用了两个大模型。Whisper 是目前最好的多语言语音识别技术(ASR),之前的文章已经介绍过它的原理和部署方法;FunAsr 是阿里巴巴智能计算研究院语音实验室在 ModelScope 上开源的深度学习语音识别模型,在海量数据上对中文进行了优化,可谓国产之光。本次评测的 ASR 均能在本地部署,之前测试使用效果都不错。

本次评测将针对相对困难的语音进行真人评估,看看语音识别哪家强。

2 安装及资源占用

2.1 使用说明

这里未使用音频切分降噪进行前处理,直接将音频放入模型进行识别。

2.2 测试环境

FunAsr 使用了 GPT-SoVITS 提供的 docker 镜像中的库和模型,镜像大小 7.09G,外加模型 1.4G。

识别命令如下:

SHELL

1
$ /usr/local/bin/python tools/asr/funasr_asr.py -i /opt/xieyan/tmp/audio/litao/ -o output/asr_opt/new_record.txt -s large -l zh -p float32

Whisper 使用的是 onerahmet/openai-whisper-asr-webservice:latest-gpu 镜像,含模型,约 11.5G。

启动 docker 镜像后,在浏览器 9000 端口打开,通过网页调用。

2.3 转换时长

  • 音频长度约 75 分钟
  • FunAsr 转换时间 2 分钟(含加载模型)
  • Whisper 转换时间 4 分钟

3 识别效果评价

3.1 Whisper

3.2 FunAsr

3.2.1 人工翻译

3.2.2 人工翻译 +GPT-4 润色

3.3 总结

公平地讲,音频内容有点像文言文,使用了很多专业词汇。而在训练语料中,这样的文本比较少见,所以语音识别效果比较差。最近我收集了一些声优的视频来进行语音合成(仔细听声优每个字都吐得非常清晰),以及我自己录制 B 站视频,(我师范毕业时通过了普通话水平测试,而且在录制时也刻意注意了发音吐字语速),这样的音频识别实际能达到 95% 以上的准确率。

如果需要使用语音识别工具,对于中文来说,FunAsr 明显优于 Whisper(毕竟 Whisper 支持多种语言)。与手动输入相比,我觉得这种识别效果还可以接受。但是目前就大家的平均录音效果来看,处理时仍然需要人工干预。

实际上就是这样:我们普通人写不过 GPT,播音不如 TTS,画画不过 Stable Diffusion,做视频赶不上 Sora,最近出了太多太多工具,秒杀了我们之前努力的成果。但是还好我们也可以用,也许我们该重新定义“努力”。

(本文全文经 GPT 润色)

4 一些后处理方法

这里还有一些后处理方法,当使用各个 ASR 效果都不佳的情况下,如何使识别结果更好。

针对音素(拼音)各家识别效果都还可以,主要问题是对专业词汇的理解,有一些人名和不常见的专业术语可能并没有进入词汇库。在这种情况下,可以考虑使用自然语言大模型(简称 LLM)进行补充,具体方法如下:

  • 多个 ASR 识别出结果给 LLM,让它来做合并。
  • 人工校对后的结果制作成错误映射表,并与转换后的文字一起传给 LLM 进行校对。
  • 将识别后的文本转换成音素表,然后发送给 LLM 进行转换成文字。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/437552.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AIOps常见问题

AIOps的自动化通常指什么? AIOps 平台的自动化一般包括以下几个方面: 数据收集和整合:AIOps 平台可以从多个 IT 基础架构组件、应用需求与性能监视工具以及服务工单系统等数据源中收集并整合运维数据,形成一个全面的数据平台。数…

Access AR Foundation 5.1 in Unity 2022

如果已经下载安装了ARF但版本是5.0.7 可以通过下面的方式修改 修改后面的数字会自动更新 更新完成后查看版本 官方文档 Access AR Foundation 5.1 in Unity 2021 | AR Foundation | 5.1.2

YOLOv9中train.py与train_dual.py的异同!

专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,主力高效涨点!!! 首先,train.py(左)与train_dual.py(右)中的损失函数是不一样的,这也解释了为什么使用train.py除了填入…

Visual Studio 2022之Release版本程序发送到其它计算机运行

目录 1、缺少dll​ 2、应用程序无法正常启动 3、This application failed to start because no Qt platform plugin could be initialized. 代码在Debug模式下正常运行,然后切换到Release模式下,也正常运行,把第三方平台的dll拷贝到exe所在…

Chrome浏览器好用的几个扩展程序

Chrome好用的扩展程序 背景目的介绍JsonHandle例子未完待续。。。。。。 背景 偶然在往上看到Chrome有很多好用的扩展程序,比较好用,因此记录下比较实用的扩展程序。 目的 记录Chrome浏览器好用的插件。 介绍 JsonHandle下载以及无法扩展插件的解决…

Vue3_2024_6天【回顾上篇watch常见的前三种场景】另两种待补

第一种情况:监视【ref】定义(基本数据类型) 1.引入watch2.格式:watch(基本数据类型数据,监视变化的回调函数) 注意点: 2.1.watch里面第一个参数,是数据~~【监视的基本类…

基于深度学习的三维重建MVSNet系列

2019年4月15日下午6时50分左右,一场大火席卷了法国巴黎圣母院,持续长达14小时。幸而巴黎圣母院有着高分辨率的3D模型,研究人员可以了解圣母院本身的建造结构,以便修复工程的开展。 多视图立体几何(Multi-View Stereo&a…

unity-urp:视野雾

问题背景 恐怖游戏在黑夜或者某些场景下,需要用雾或者黑暗遮盖视野,搭建游戏氛围 效果 场景中,雾会遮挡场景和怪物,但是在玩家视野内雾会消散,距离玩家越近雾越薄。 当前是第三人称视角,但是可以轻松的…

Linux:kubernetes(k8s)探针LivenessProbe的使用(9)

他做的事情就是当我检测的一个东西他不在规定的时间内存在的话,我就让他重启,这个检测的目标可以是文件或者端口等 我这个是在上一章的基础之上继续操作,我会保留startupProbe探针让后看一下他俩的执行优先的一个效果 Linux:kuber…

【QT】QDialog/ QMessageBox/提示对话框/颜色(文字)------对话框

QDialog—对话框 什么是对话框,如下样式 非模态对话框,即打开以后,我还可以对其他框进行操作。 模态对话框,打开以后,其他框都不能再操作了 模态对话框是阻塞对话框 QDialog dig(this);//显示模态对话框dig.exec();…

ROS2中nav_msgs/msg/Path 数据含义及使用

目录 ROS2中nav_msgs/msg/Path数据含义及使用ROS官方消息说明使用ros2中Path生成路径并显示案例使用ROS2命令创建功能包修改创建功能包中的CMakeLists.txt如下创建发布话题的main函数编译与运行rviz可视化发布的路径 ROS2中nav_msgs/msg/Path数据含义及使用 ROS2官方关于nav_m…

vue面试--9, 1 ObjectProperty与vue3Proxy区别。2 MVVM的理解 3 双向绑定原理?

1 ObjectProperty与vue3Proxy区别 2 MVVM的理解 3 双向绑定原理?

Spring源码:手写AOP

文章目录 一、概念1、AOP是什么?2、相关概念1)目标对象Target2)通知Advice3)连接点Joinpoint4)切点Pointcut5)切面Aspect6)织入Weaving 二、分析三、实现1、实现Advice1)前置通知2&a…

Jmeter高效组织接口自动化用例

1、善用“逻辑控制器”中的“简单控制器”。可以把简单控制器像文件夹一样使用,通过它来对用例进行分类归档,方便后续用例的调试和执行。 2、同编写测试用例一样,这里的接口测试用例应该进行唯一性编号,这样在运行整个用例计划出现…

wince+gprs拨号上网总结

一、硬件连接 本次调试的GPRS模块引脚定义 三星主板全功能扩展串口2引脚定义 因GPRS模块可以和pc机直连进行数据通讯,那么收发肯定内部交叉,故主板和GPRS的连接也采用直连方式。如果接线不对则出现没有回应现象,拨号时出现端口不可用&#xf…

【C++】十大排序算法之 桶排序 基数排序

本次介绍内容参考自:十大经典排序算法(C实现) - fengMisaka - 博客园 (cnblogs.com) 排序算法是《数据结构与算法》中最基本的算法之一。 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序…

吴恩达deeplearning.ai:机器学习项目的完整周期伦理

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏 文章目录 语音识别部署公平、偏见、伦理 这节博客中,我们主要看看构建一个机器学习的完整周期是什么,也就是说,当你想构建一个有价值的机器学习系统时&am…

vsphere虚拟机迁移是灰色如何解决

vsphere虚拟机迁移是灰色如何解决 问题描述: 在vsphere中,迁移虚拟机时迁移按钮是灰色,无法迁移,关机之后也无法迁移 虚拟机按钮为灰色 找到虚拟机存储对应的位置,查询是否有.vmx虚拟机文件 查询中发现有.vmx文件存…

史上最全的大数据开发八股文【自己的吐血总结】

自我介绍 我本硕都是双非计算机专业,从研一下开始学习大数据开发的相关知识,从找实习到秋招,我投递过100公司,拿到过10的offer,包括滴滴、字节、蚂蚁、携程、蔚来、去哪儿等大厂(岗位都是大数据开发&#…

System Verilog学习笔记(十八)——线程控制

线程控制 发生器把激励传给代理时,环境类需要知道发生器什么时候完成任务,以便及时终止测试平台中还在运行的线程,这个过程就需要借助线程间的通信来完成。常用的线程间通信有事件控制、wait语句、SV信箱和旗语等。 Verilog对语句有两种分组…