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

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 进行转换成文字。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python之Web开发中级教程----搭建SSH环境

Python之Web开发中级教程----搭建SSH环境 SSH 的全称是 “安全的 Shell(Secure Shell)”,它功能强大、效率高,这个主流的网络协议用于在两个远程终端之间建立连接。让我们不要忘记它名称的“安全”部分,SSH 会加密所有的通信流量&#xff0c…

详解float函数类型转换

函数描述 float([x]) 函数将数字或数字的字符串表示形式转换为与它等效的有符号浮点数。如果参数x是一个字符串(十进制表示的数字串),数字前面可以添加符号来表示正数,或负数。符号和数字之间不能出现空格,但是符号前…

spring-jpa

一、介绍 1.1ORM 1.2 Java Persistence API 放在javaee版本 优点 支持持久化复杂的Java对象,简化Java应用的对象持久化开发支持使用JPQL语言进行复杂的数据查询使用简单,支持使用注解定义对象关系表之间的映射规范标准化,由Java官 方统一规…

两天学会微服务网关Gateway-Gateway简介

锋哥原创的微服务网关Gateway视频教程: Gateway微服务网关视频教程(无废话版)_哔哩哔哩_bilibiliGateway微服务网关视频教程(无废话版)共计17条视频,包括:1_Gateway简介、2_Gateway工作原理、3…

Vue2+3

vue相关介绍 Vue的两种使用方式: 1、vue核心包开发 场景:局部模块改造 2、vue核心包&vue插件工程化开发 场景:整站开发 概念:vue是用于构建用户界面的渐进式框架 创建vue实例 创建Vue实例,初始化渲染步骤&am…

DAWG库下载出现的问题

今天配置一些环境出现了报错需要下载DAWG-0.8.0-cp38-cp38-win_amd64, PyPi官网https://pypi.org/project/DAWG/#files 只找到了mac版本,没发现windows版本 于是找到了非官方网址: https://www.lfd.uci.edu/~gohlke/pythonlibs/#dawg 下载DA…

字节后端实习 一面凉经

心脏和字节永远都在跳动 深圳还有没有大厂招后端日常实习生啊,求捞~(boss小公司也不理我) 很纠结要不要干脆直接面暑期实习,又怕因为没有后端实习经历,面不到大厂实习。死锁了

专访|云安全攻防:从理论到应用的全面探索

2023年11月,美国核研究实验室(INL)遭遇数据泄露。同年10月,索尼的员工数据在MOVEit攻击事件中被泄露。2024年2月,某知名制造商因云存储服务器的配置错误导致了敏感数据泄露。 这些事件表示企业必须重视云安全建设&…

前端性能优化 | CDN缓存

前言 CDN(Content Delivery Network)是一种分布式的网络架构,通过在全球各地部署节点服务器来快速传输和分发网络内容。CDN的主要目标是提供快速、可靠的内容传输,以提升用户体验。 本文主要从以下方面讲解CDN 什么是CDNCDN的作…

npm ERR! code ERR_INVALID_URL报错解决

这个报错是URL错误&#xff0c;要排除两个点 npm的registry有没有搞错&#xff0c;也就是npm源有没有搞错 打开文件C:/User/<用户名>/.npmrc查看npm设置查看registry的设置有没有格式错误正确设置格式&#xff1a;registry"https://registry.npmmirror.com"或…

Mysql案例之GROUP_CONCAT函数详解

Hello&#xff0c;大家好&#xff0c;我是灰小猿&#xff0c;一个超会写bug的程序员&#xff01; 今天这篇文章记录一个最近开发中遇到的mysql实战场景&#xff0c;觉得还挺典型的&#xff0c;就在此做一下记录。 先看一下举例场景&#xff1a; mysql中学生表与学科表通过关…

数据库-ODBC操作

承接Qt/C软件开发项目&#xff0c;高质量交付&#xff0c;灵活沟通&#xff0c;长期维护支持。需求所寻&#xff0c;技术正适&#xff0c;共创完美&#xff0c;欢迎私信联系&#xff01; 一、ODBC 数据源配置 打开ODBC数据源管理器&#xff1a; 在Windows搜索栏中键入“ODBC数…