摸鱼日记之我在公司接私活
私活没给钱, 帮老板的忙...呜呜呜, 我好可怜...
写这篇文章三个目的.
- 感觉挺好玩, 可以给鱼油增加一些奇奇怪怪的技能. 怎么开脑洞, 就看各位了.
- 吐槽一下老板 (
主要为了凑够三条. 阿达说说明不够三条总感觉不顺!) - 为
积分往圣继绝学 - 三条够了, 这个是自动换行.
需求
视频 -> 语音 -> 文字. 要求离线完成!
需求分析
百度+必应+谷歌
实战
keyWord: 视频转音频 离线
No.1 格式工厂. 我MAC...pass
No.2 修改后缀名为.MP3
离谱...
....
此处省略N多无用功... 请自行了解神器 FFmpeg
庆幸我用了这个. 后面有惊喜
keyWord: 音频转文字 离线
信息杂乱无章...无从下手, 不是下载APP就是要付费使用, 免费限制转的时长...
keyWord 使用失败, 使用秘密武器. 问狗子. 他给我了个这个 whisper.cpp
芜湖. 美妙~ 看完readme. 庆幸我上一步选了ffmpeg. 嘻嘻. 因为whisper只能支持指定编码的wav格式音频.
步骤
- 克隆仓库, 你自己位置自己选 cd {uPath}
- 进去文件夹
cd {uPath}/whisper.cpp(如果你没有自定义文件夹名字的话)
- 找到models
cd models
- 下载训练模型数据. 越大越好. 准确率越高. 你懂的
- tiny 大小: 75M 内存: ~125M
- base 大小: 142M 内存: ~210M
- small 大小: 466M 内存: ~600M
- medium 大小: 1.5G 内存: ~1.7G
- large 大小: 2.9G 内存: ~3.3G
bash download-ggml-model.sh large
- 返回上级目录 其实就是为了执行main. 你用全路径也随你
cd ..
- 音频转文字吧. gogogo
./main -m models/ggml-large.bin -f {uPath}/音频.wav
📢Tips : wav是whisper指定的语音格式. readme里有提示. 需要16-bit的wav文件. ffmpeg 完美搞定
ffmpeg -i {uPath}/xxx.mp4(.mp3) -ar 16000 -ac 1 -c:a pcm_s16le {uPath}/音频.wav
- 这里默认language 是 en 所以要加上指定参数 -l zh . 当然我没有看支不支持别的语言, 什么 kr, jp的
./main -m models/ggml-large.bin -f {uPath}/音频.wav -l zh
✿✿ヽ(°▽°)ノ✿ 观察屏幕! 嘻嘻 带时间戳, 带文字. 很好~
[00:00:00.000 --> 00:00:01.680] 这么高的地方
[00:00:01.680 --> 00:00:03.680] 哪个玩滑板的不腿软
[00:00:03.680 --> 00:00:06.680] 都是些敢上不敢下的
[00:00:06.680 --> 00:00:09.680] 踩了块板就以为自己能上天
[00:00:09.680 --> 00:00:10.680] 来来来
[00:00:10.680 --> 00:00:11.680] 新开的骨科
[00:00:11.680 --> 00:00:12.680] 送你一副管
[00:00:12.680 --> 00:00:28.680] 都想上天了
[00:00:28.680 --> 00:00:30.260] 小上天啦
很好, 不要问我原理. 作为合格的摸鱼人, 能实现需求已经是我对工作最大的尊重了.
脱帽致谢
Tips. 有感兴趣的可以去追下bula院士和跳佬来安排下, 原理解析
⚠️ 打赏区什么都没有, 不存在欺骗. 你如果打赏, 则视为对我的遭遇表示同情, 仅此而已
你这个流程我还真做过一套,不过我是用腾讯的语音转文字
这就是大佬!