【脚本】音频文本识别

很久以前就有类似的需求,但自己开发是不可能的,又没找到合适的库。最近终于从百度飞桨团队的开源库中找到一个合适的PaddleSpeech库,解决了这个需求。

简介

脚本主要做的事情是先调用PaddleSpeech对选中item进行语音识别,识别出文字以后在item位置建立一个标记并写入识别到的内容,然后配合自带的Marker manager可以从内容快速定位对应的item。应该还有其他别的用法,不过我能想到的比较通用的就是这样了

下面放一个演示视频,因为实际运行需要比较长时间,视频经过了剪接

有个问题是这样识别出来是不带标点符号的,纯是文字。官方虽然有恢复标点符号的例子,但有点复杂,意义不是很大,当前暂不加上

脚本在首次运行的时候,会自动下载一个他们家的模型文件,大概400多m,可能是百度自己的服务器,速度应该挺快的。你看到以下这个画面就是在下载,耐心等待就行
下载模型

相关文件

PaddleSpeech库我已经打包成可以独立运行的版本,加上一个ffmpeg一共是700多M,所以放到了百度云上。下载以后解压会得到一个 ffmpeg.exe 文件和一个 DSY_PaddleSpeech 文件夹,请把这两个都放到你的 userplugins 文件夹内,并且保持他们的名字不要改变。如果你不确定 userplugins 在哪,请在你的reaper里点击 Options菜单–Show REAPER resource path in Explorer,弹出来的窗口里找到

关于脚本,为了减少被人私下修改代码为己用这种恶心事情,这次采用了启动器+代码本体的形式,不再是明文发布。引起不便对不起了,我也是被逼的
DSY_音频文本识别 启动器.lua (183 字节)
DSY_speech2text.dsy (4.1 KB)
上面这两个文件请确保放在同一路径下,只需要在action list里导入启动器.lua这一个文件就可以,另一个不用理会,但不能改变他的名字

补充

脚本运行时然后没有限制reaper活动,你仍然可以做别的操作,但建议最好耐心等待脚本运行完毕,不要做太骚的操作,比如把这个工程关了什么的。然后脚本是识别语音的,不要尝试让他去识别音乐,音效类的item。还有是PaddleSpeech只能处理不超过50秒的音频,所以不要用在太长的音频上,轻则出错,重则我也不知道

Donation

毕竟用爱发电不易,如果我的脚本给你带来了便利,不妨buy me a coffee

如果有需要订制个人化的脚本,请添加以下QQ联系:86989558

我的Reapack源

可以在Reapack里添加这个地址来获取到更多我共享过的脚本

4 Likes

长知识了,原来还有 PaddleSpeech 这种东西,我一直以为好的 speech to text 要用收费服务。

之前免费的也有,但都是像网易见外这种要在线处理的,没法整合到reaper里用

对的,我之前也想过用在线服务,上传/下载/api。上传还需要特定采样率等格式,处理也分长短句,一看下来这太麻烦了 :sweat_smile:

视频看不了哦,我这里

在线播不了可以右击下载。我这也是有时无法播放

视频不支持在 QQ 本体或不那么新的浏览器上播放。

视频换成GIF了

1 Like

讲究~~:+1::+1::+1::+1::+1::+1:字数

谢谢分享~~请问一下出现这个提示之后就无反应是什么问题?reaper版本6.47,音频文件是15秒的wav文件格式

这个有点难判断,你确定那个文件夹已经完整复制进去了吗?如果是的话可能是我打包的问题,目前我只测试过win8和win10两个系统,暂时没在别的系统上试过

是win10系统


Scripts

这个有点难搞,按理说我应该已经把需要的文件都打包在里面了,但这个范畴的我不太了解,不知道里面是不是还有什么特殊情况我没遇到的

谢谢大佬!试了一段1分多的音频,没有问题发生,但字幕太长,屏幕太小显示不了全部,有莫有换行显示的可能?在标记管理器里,这段超长的标记乱码了,短的都没出错 :grinning:

谢谢回复。重新装了别的版本的reaper还是没法解决,可能确实有啥特殊未知情况吧,等以后等重装系统再看看吧~~ :joy:

太长我觉得意义不大,这个脚本主要用于通过文字定位音频位置,方便找到一个个零碎的语音,理论上看到头几个字就够了,不太需要看到完整的内容

Win11 最新版确认没问题。

想起来初次运行的时候有下载模型吗?有等待他下载完成吗?

明白了!多谢大佬!