查看原文
其他

连肝 5 天!目前最快语音转文字,没有之一

奔跑中的奶酪 奔跑中的奶酪 2023-08-23



许多年以后。


坐在电脑前看视频的奶酪,一定会想起年轻时自己手敲字幕敲到手抽筋的那个下午。

如何将 200G 的视频,压缩为 20M 的文字?

如何提取视频里说话人的台词?

如何将视频会议转录为文字?

如何一键语音转文字?



01


项目说明


在上一篇文章《A24 - 语音识别》中。

奶酪介绍了软件两款语音识别软件:WhisperDesktopWAC

它们都很好用,为什么又要开一个新的项目?
因为“命令行软件”更方便。


1.1、命令行软件


电脑里的大多数软件都是“图形化软件”,比如 Word、Excel、Photoshop,它们的一大特点是「所见即所得」。
软件里的所有内容,都放在我们眼前,只需要用鼠标点几下,就能完成任务,上手非常容易
还有一种软件,叫“命令行软件”,它们的特点是「所想即所得」。
它可以将我们大脑里想的内容「逻辑文本化」。

通过不同命令的组合,就可以实现任务的批处理,还有自动化
命令行软件的上手难度较高。
可一旦你掌握以后,你在这上面花费的时间,将无限趋近于零


1.2、安装 FFmpeg


要让本项目跑起来,虽然不需要用到 Python
但是会用到 FFmpeg,Whisper 需要用它来提取声音数据,不过不用担心,使用时不需要打开,它会自动调用。
下载地址:
Windows:https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip
Mac:https://evermeet.cx/ffmpeg/ffmpeg-6.0.zip


1.3、添加环境变量


下载完 FFmpeg 后,我们需要“添加环境变量
其目的,是为了在 CMD 窗口操作时,可以省去输入软件的具体路径,几乎所有的命令行工具都可以这样配置。
正因为如此。
我们可以将所有的命令行工具,都放在同一个文件夹下
只需要设置一次环境变量,那么以后所有的软件,比如 FFMpeg只要放在这个文件夹里,那么就会自动生效。
比如奶酪就将所有命令行软件放在了 D:\Commandline 里。
添加环境变量的具体操作如下:
最后,在 CMD 窗口或终端输入软件名,比如 ffmpeg,如果有返回内容,而不是 not found,则说明配置成功。
Mac 平台下也可以设置环境变量。
但更快更便捷的方法,是直接把所有命令行软件放在  /usr/local/bin 文件夹下,然后就会自动生效。




02


Windows 一键识别


当然,上面的这些内容还只是“前置安装”,真正的“爽点”,是接下来“一键识别”的操作实现。

2.1、WhisperCli


2022 年 9 月,OpenAI 发布 Whipser 多语言语音识别模型,超过 68 万小时的语音数据训练,支持 99 种语言。
但 Whisper 原版的 Python 项目速度缓慢。
于是,有一位叫 ggerganov 的网友用 C/C++ 语言重新编译了 Whisper,并成立了 whisper.cpp 项目。
它不依赖其它的库,直接就能在所有平台上运行,相比原版 Whisper 速度快了 4-45 倍。
支持 N卡/A 卡,支持核显,ARM 芯片也支持。
地址:
https://github.com/ggerganov/whisper.cpp

考虑到 Whisper.cpp 的安装难度较高。
GitHub 上又一位叫 Const-me 的网友,在 Whisper.cpp 的基础上进行了整合,使用难度大大减低。
WhisperDesktop 正是出自他的手比,而且他还发布了命令行的版本
我们可以在他的基础上进行一键化操作。
地址:
https://github.com/Const-me/Whisper


2.2、软件安装


作者提供的是命令行软件还是“毛坯房”,于是奶酪在他的基础上又进行了配置,现在你可以“拎包入住”。
奶酪前后花了五天时间,终于实现了目前最快的 Whipser 语音识别方法,没有之一。
而效果就是,只需要点击一下“开始.bat”。
从此,你的电脑就拥有了“语音一键识别”功能。

应该说,已经到了“有手就会用”的程度。
软件下载:
考虑到转录速度和准确性,奶酪的配置包分成了三个版本。
标准 版本:
首推版本,在速度和准确度上最均衡,大小 1.3G。
Small 版本:
给性能不那么好的老电脑和笔记本电脑用的,大小 420M。
Large 版本:
更加准确,但花费的时间大概是标准版本的两倍,大小 2.6G。
当然,三个版本你都可以安装上,按需使用。
实际测试:
我用的是 AMD 核显,一个 2:30 秒的文件,Large 模型用了 1:20 秒,Meidum 40 秒,Small 用了 11 秒。
如果你有 4060 以上显卡的话,估计也就几秒钟的事。

2.3、使用方法


经过连续的版本更新,现在"奶酪 Whisper 配置包"的使用方法,已经超级简单了。
安装方法:
首先,下载并解压到任意位置。
然后,点击“开始.bat”,语音识别的“中文、英文、日文”快捷操作,就会自动添加到右键的“发送到”菜单里。
最后,选择任意文件或者文件夹,即可进行一键或批量转录。
如果需要添加其它语言,可以打开“batch”文件夹,一键添加所有语言,同时还可以对“发送到”菜单进行编辑。
文件一键转录:
选择任意文件,右键菜单选择“发送到”,即可进行一键转录,生成的文件,就与原文件保存在同一个目录下。
文件夹批量转录:
选择任意文件夹,右键选择“发送到”,即可进行批量转录。
不用担心文件夹下有其它格式的文件,奶酪设置了自动过滤,命令只会对音频和视频有效。


3.4、软件兼容性


经过奶友们的反馈,目前项目还存在这些问题。
1、不支持 2012 年以前的 CPU。
支持 Win 7 系统,但模型渲染需要 F16C 指令集,因此不支持 2012 年以前生产的 CPU。
2、部分文件格式不支持。
已知 .flv 视频会报错不支持,.aac 音频也会报错,用任意转换软件,比如 FFmpeg,转换为 .mp3 格式即可。
3、文件名带有特殊符号的问题。
如果文件名里带有 ' 和 [ ],比如 Tom's.mp4 ,会导致命令行无法运行,等后续版本更新解决。
4、转录过程中 CMD 窗口显示为 ?问号。
是编码的问题,不影响实际转的结果,目前只能正常显示英语,等后续版本更新解决。




03


Mac 一键识别


Mac 平台能不能也实现 Windows 那样的一键识别呢?能!而且,思路也大致相同。

3.1、WAC


Mac 平台下也有一款基于 Whisper.cpp 开发的应用,叫 Whisper Auto Captions
支持 Intel 芯片和 ARM 芯片,它可以解决 Mac 平台下 Whisper 无法调用 GPU 的问题,转录速度大为提升。
同时,它还是目前唯一一款完全免费的 Whisper.cpp 应用。
地址:
https://whisperautocaptions.com


3.2、软件安装


不过,原版 Whisper Auto Captions 是一款图形化应用,但好在它基于 Whisper.cpp 开发。
所以,我们还是可以用它内置的“命令行程序”来实现一键操作。
安装方法:
首先,下载 Whisper Auto Captions
解压后,一定要将 Whisper Auto Captions 放到“应用程序”文件夹里。

这很重要,因为关系到我们后的续操作。


3.3、使用方法


Mac 平台下,同样也有类似 Windows 右键菜单的“发送到”功能,叫做“自动操作”。
具体实现方法。

是打开“自动操作”,新建一个“快捷操作”,输入以下代码。
for f in "$@"do/Applications/Whisper\ Auto\ Captions.app/Contents/Resources/main -f "$f" -m /Applications/Whisper\ Auto\ Captions.app/Contents/Resources/ggml-medium.bin -l auto -otxt -osrt --prompt 简体中文done
不想操作也没关系。
在公众号后台回复关键字 A25

奶酪已经把脚本准备好了,只需要双击安装,脚本就会自动存放在 ~/Library/Services 下。
之后,选择任意文件,右键选择“快速操作”,选择“使用 Whisper 转录” 即可一键转录。
要设置“快速操作”菜单的显示内容。

你可以在“设置—>隐私与安全性—>扩展—>访达”里修改。


3.4、软件兼容性


由于 whisper.cpp 的原因,Mac 系统下所以的音频和视频文件,需要先转为 f16 的 WAV 文件,否则会无法识别。
也不用担心!
在公众号后台回复 A25,奶酪也已经为你准备好了一键转换文件,你只需要双击即可导入。




04


语音识别总结


说了这么多,你可能会说"有必要搞这么复杂吗,我用飞书转录,它不香吗"?


4.1、免费且快速


首先,飞书并不完全免费。
飞书从原来的免费 100G 变成了现在的免费 2G,就足以证明,其它的在线语音识别应用也是如此。
而 Whisper 开源免费,离线可用,不需要上传网络,没有隐私的顾虑。
其次,使用奶酪的配置包,现在的 Whisper 语音转文字功能,已经变得十分简单

说是“有手就会”也毫无夸张。
下面是你实际需要操作的步骤,一共就 5 步。

4.1、Windows 总结


1、安装 FFmpeg,并添加环境变量。(如已安装,则可略过)
2、下载奶酪配置包 WhisperCli,并解压。
3、点击文件夹下的 .bat 文件。
4、选择任意文件或文件夹,到右键菜单里的“发送到”,进行一键转录。
5、等待转录完成。

4.3、Mac 总结


1、安装 FFmpeg。(如已安装,则可略过)
2、下载 Whisper Auto Captions,并放入“应用程序”文件夹里。
3、下载奶酪的 workflow 脚本,并导入。
4、选择任意文件,将它转换为 WAV 格式。
5、右键菜单选择“快速操作”,进行一键转录。
6、等待转录完成。



结尾



奶酪的这个项目。
前后花了五天时间,期间更新了多个版本,要说原理,其实也不难,难是难在它的可行性验证。
而它就是目前最快的语音转文字实现,

没有之一。
也许,你现在还感觉不到它的好。
但随着大家电脑性能越来越好,相信奶酪的配置包一定会成为了你装机必备。

而且,奶酪的配置包也一定会火。
你可以收藏本文,我们一年之后见分晓!

回复关键字
A
查看本系列的所有文章,
回复关键字
A25
获取本文提到的所有资源


近期文章:


专栏介绍:



看完文章:

1、点在看,可以帮助更多的人看到这篇文章。
2、写留言,有问题写评论,我会尽可能回复。
3、点关注,关注并星标,第一时间获取更新。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存