一、前言
大家好啊,最近chatgpt比较火啊,我也体验了一把,文章标题就是它给起的,有点标题党了哈,但是意思也大差不差。
之前发表过一篇"免费离线语音识别神器whisper安装教程",因为whisper安装比较费时间,本篇介绍几款其它的免费语音转文字工具,方便大家选择。
我也对这几款工具做了测试,对它们的识别准确率做了对比。文章第五部分会给出识别准确率排名。基于测试结果对语音识别工具的选择在文章最后也给了几条建议。
二、工具用途语音转文字,可方便快捷的将会议、讲座、课堂录音整理成文字稿。
三、工具推荐:第一款:Buzz(windows和Mac OS都支持)Buzz是一款可以离线运行的语音识别软件。它有两个功能,一个是录音转文字,一个是实时语音识别。它的底层还是使用的whisper的语音识别功能。不过它的优点是你只需要下载一个安装包,安装好之后就可以直接运行,不像配置whisper那样麻烦。
使用方法我们这里简单介绍下它的录音转文字功能。在进行第一次转录的时候会下载模型,下载完后即可离线运行。
点击"File",再点击"Import Audio File...",导入你需要转文字的录音文件。
之后会弹出一个设置框,
如上图所示:
左边框选的是让你选转写的质量,从上往下,质量逐渐增高,转写的准确率会上升,但是相应的耗费的时间也会变长。左边框框选的这五个选项,对应whisper的“tiny,base,small,medium,large”五种模式。
右边框是两种任务类型,我们一般选"Transcribe(转录)"模式,"Translate(翻译)"模式是将语音文件翻译成英语文本。图中的"Export As(导出为)"则是选择导出格式。
第二款:飞书妙记、剪映电脑版这两种方式都需要联网才能使用。为啥把这俩放在一起,因为都是抖音旗下的产品。下图中左边是飞书的公司,右边是剪映的公司。
虽然都是抖音旗下的,但是识别出来的结果还是有所不同的。识别准确率也不相同,文章第五部分给出了识别准确率排名。
使用方法:飞书妙记:
注册登陆后,直接上传文件就可以了。
飞书妙记可以区别音频中不同的说话人,可以导出txt格式和srt格式。
剪映电脑版:
需要下载安装剪映电脑版。这个功能是为了方便大家剪视频配字幕存在的,联网运行,目前免费。
使用方法:新建项目>导入音频>将音频拉到下方轨道>点击“文本”>“智能字幕”,生成后直接点导出字幕文件即可。
第三款:网易见外工作台
网易出品,需要联网。目前每天有2小时免费识别额度。
使用方法:登录网易见外工作台,新建语音转写项目,上传文件即可。
第四款:windows系统自带语音识别
win10和win11系统自带语音识别,不过这个不支持音频转文字。只支持实时语音识别,需要联网运行。
使用方法:win10或win11系统下,打开一个txt文件,鼠标点击文件空白处使光标处于待输入状态,按快捷键win h调出语音输入工具,此时开始说话,工具就会实时识别你说的话,在txt文件中自动输入文字。
第五款:其它阿里云、腾讯云、百度云、讯飞听见等都有提供录音转写服务,除了讯飞听见也有网页端的服务(新用户赠送15min免费时长)外,都需要会编程调用接口,对不会编程的人不友好。当然你要是会编程的话可以尝试下这几家公司的服务,不同公司多少都会赠送一定的免费额度。
以录音转写服务为例,百度每个账号赠送10小时时长,腾讯每月赠送10h时长,阿里新客有3个月试用期,讯飞赠送15min免费额度。规则可能随时变化,具体请以相关服务商的官方网站为准。
四、不同工具识别准确率对比我使用了3段音源,一段是我自己录制的一段Excel小技巧视频,大概30s,一段是某播客的聊天音频片段大概5min,一段是主席的2023年新年贺词大概13min。
将三段音频,分别使用whisper的tiny、base、small、medium、large-v1、large-v2、large这7种不同的模型以及飞书妙记、网易见外工作台、win11自带语音识别工具、剪映和必剪这5种免费语音识别工具来转写,比较它们之间的准确率。因为buzz语音识别的核心就是whisper,但是buzz的语音转录模式才有5个选项,而whisper有7个,猜测应该是少了large-v1和large-v2这两种模式,所以我就使用了whisper,而没用buzz。
文本相似度比较方法:使用了python中difflib库的SequenceMatcher类,可以实现一个用于计算文本相似度的函数。
计算值在0-1之间,如果比较的两段文本相似度越高,则计算值越大。
代码:
from difflib import SequenceMatcher
def similarity(a, b):
return SequenceMatcher(None, a, b).ratio()
以下是2个运行示例:
>>> similarity('我是文本A', '我是文本A')
1.0
>>> similarity('我是文本A', '我是文本B')
0.8
因为有些工具转换出来的文本含有标点符号,有的含有空格和回车,避免中文标点、空格和回车影响文本相似度的对比结果,我使用python将它们全部去除。
去除中文标点代码:
from zhon.hanzi import punctuation
import re
striped_txt = re.sub("[{}] ".format(punctuation),"",txt) #txt为待处理文本
去除回车和空格:
dealed_txt = txt.replace(" ","").replace("\n","") #去空格、去回车
由于数字识别的时候有些会识别成中文,有些则会识别为阿拉伯数字,但是并不代表识别错误,所以对于语音转写后数字多的文本,我统一改成了中文的数字。
另外whisper转录时有可能会有繁体中文,我就使用在线工具将其转换为简体。
五、对比结果
补充说明:因为buzz的底层是whisper,所以我用的whisper测试,没用buzz,whisper能实现buzz也能实现,所以大家没安装whisper的,觉得whisper表现不错想尝试下也可以用buzz替换哈)
六、结果分析这几个音源其实都有其特点。
30s的视频是一个Excel小教程,文本量少,总共也才100多字,没有生僻词汇,几个工具识别的都差不多,除了whisper的base和tiny两种较小模型识别效果不好,所有识别结果与文稿的相似度都能达到96%以上。
5min的音源是一个聊天播客的片段,内容都是一些日常生活用语,语气词比较多,“嗯啊呃”这些,像这种其实对于飞书妙记来说,我的这个比较方式就不太公平了,因为它的识别结果里去除了语气词这些,和正确文稿相比少了很多语气词,自然相似度比较低。
13min的音源是主席2023年的新年贺词,里面使用到的成语和古语引用比较多,比如说“艰难困苦,玉汝于成”、“栉风沐雨、披荆斩棘”、“犯其至难而图其至远”、“路虽远,行则将至;事虽难,做则必成”、“愚公移山”、“积跬步以致千里”等,对于这些的whisper识别起来效果不是很好,而其它工具比较不错。但是即使如此,我们也可以看到whisper识别后文本与源文本的相似性达到了95%以上,对于一个开源、离线运行的软件来说已经很不错了。
观察测试结果,我们发现。
- 对whisper来说,说模型越大识别准确率越高并不绝对(至少对中文不是)。比如5min音源的识别,small模式比更高级的模式准确率要高。whisper高级模式的语音识别准确率在日常语境(成语典故较少)可以做到比一些在线服务要强大。
- 剪映和必剪在三次测试中识别准确率都位于前三名。微软语音识别和whisper分别进入了两次测试的前三名,不过whisper的两次分别是不同识别模式。飞书妙记进入一次前三名。
通过文章第五部分三组音源的数据,可以给出一些建议:
- 剪映和必剪的识别准确率相对而言比较高,大家可优先选择,但是剪映支持直接导出字幕,必剪需要你自己找到json文件再处理才能得到文本,所以推荐剪映。
- 对一些成语和古语引用比较多的音频,对隐私不敏感的话,不建议使用whisper(buzz),其他在线平台识别准确率都比较高。日常语境下whisper(buzz)表现还是不错。
- 随时间发展免费的在线语音识别服务可能收费,或者突然关停(之前网易见外工作台有段时间停止对外开放,后来又恢复了),建议大家下载个buzz(你要是愿意花时间安装whisper更好),开源软件、离线运行不受制于人,处理一般的语音转写完全没问题,隐私也有保障。
小伙伴们,都看到这里了,点个赞鼓励下呗~
,