许多年以后。
坐在电脑前看视频的奶酪,一定会想起年轻时自己手敲字幕敲到手抽筋的那个下午。
如何将 200G 的视频,压缩为 20M 的文字?
如何提取视频里说话人的台词?
如何将视频会议转录为文字?
如何一键语音转文字?
项目说明
在上一篇文章《A24 - 语音识别》中。
奶酪介绍了软件两款语音识别软件:WhisperDesktop 和 WAC。
它们都很好用,为什么又要开一个新的项目?
1.1、命令行软件
电脑里的大多数软件都是“图形化软件”,比如 Word、Excel、Photoshop,它们的一大特点是「所见即所得」。软件里的所有内容,都放在我们眼前,只需要用鼠标点几下,就能完成任务,上手非常容易。还有一种软件,叫“命令行软件”,它们的特点是「所想即所得」。它可以将我们大脑里想的内容「逻辑文本化」。
通过不同命令的组合,就可以实现任务的批处理,还有自动化。可一旦你掌握以后,你在这上面花费的时间,将无限趋近于零。
1.2、安装 FFmpeg
但是会用到 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,则说明配置成功。但更快更便捷的方法,是直接把所有命令行软件放在 /usr/local/bin 文件夹下,然后就会自动生效。
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.cppGitHub 上又一位叫 Const-me 的网友,在 Whisper.cpp 的基础上进行了整合,使用难度大大减低。WhisperDesktop 正是出自他的手比,而且他还发布了命令行的版本。地址:
https://github.com/Const-me/Whisper
2.2、软件安装
作者提供的是命令行软件还是“毛坯房”,于是奶酪在他的基础上又进行了配置,现在你可以“拎包入住”。奶酪前后花了五天时间,终于实现了目前最快的 Whipser 语音识别方法,没有之一。从此,你的电脑就拥有了“语音一键识别”功能。
应该说,已经到了“有手就会用”的程度。考虑到转录速度和准确性,奶酪的配置包分成了三个版本。标准 版本:
首推版本,在速度和准确度上最均衡,大小 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、软件兼容性
支持 Win 7 系统,但模型渲染需要 F16C 指令集,因此不支持 2012 年以前生产的 CPU。已知 .flv 视频会报错不支持,.aac 音频也会报错,用任意转换软件,比如 FFmpeg,转换为 .mp3 格式即可。如果文件名里带有 ' 和 [ ],比如 Tom's.mp4 ,会导致命令行无法运行,等后续版本更新解决。是编码的问题,不影响实际转的结果,目前只能正常显示英语,等后续版本更新解决。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,奶酪也已经为你准备好了一键转换文件,你只需要双击即可导入。
语音识别总结
说了这么多,你可能会说"有必要搞这么复杂吗,我用飞书转录,它不香吗"?
4.1、免费且快速
飞书从原来的免费 100G 变成了现在的免费 2G,就足以证明,其它的在线语音识别应用也是如此。而 Whisper 开源免费,离线可用,不需要上传网络,没有隐私的顾虑。其次,使用奶酪的配置包,现在的 Whisper 语音转文字功能,已经变得十分简单。
说是“有手就会”也毫无夸张。4.1、Windows 总结
1、安装 FFmpeg,并添加环境变量。(如已安装,则可略过)2、下载奶酪配置包 WhisperCli,并解压。4、选择任意文件或文件夹,到右键菜单里的“发送到”,进行一键转录。4.3、Mac 总结
2、下载 Whisper Auto Captions,并放入“应用程序”文件夹里。前后花了五天时间,期间更新了多个版本,要说原理,其实也不难,难是难在它的可行性验证。但随着大家电脑性能越来越好,相信奶酪的配置包一定会成为了你装机必备。
而且,奶酪的配置包也一定会火。
回复关键字
A
查看本系列的所有文章,
回复关键字
A25
获取本文提到的所有资源1、点在看,可以帮助更多的人看到这篇文章。
2、写留言,有问题写评论,我会尽可能回复。