更新
10月17日:增加了专用于REAPER 7的版本
4月16日:修复了如果要检测的item过多会无响应的问题。注意这次更新不需要重新下整个包,只需要下载两个lua主体文件覆盖一下,然后下载 DSY_PaddleSpeech.py,放到 DSY_PaddleSpeech 文件夹内就可以
1月4日:增加了对英语音频的支持。优化了对识别失败时的处理方式。优化了出错信息提示
11月29日:修改了源代码里一个会导致写入日志失败的地方,现在安装版的reaper也能正常使用。另外之前的打包过于精简,在一些太干净的系统上运行会提示缺少库文件,所以重新补充了进去。请重新下载 DSY_PaddleSpeech.zip 文件,解压后把原来的 DSY_PaddleSpeech 文件夹删除再把新的放进去
10月16日:更新了打包方式,精简掉了一些无用的包,现在解压后体积1G多点。然后不需要再通过启动器运行,直接加载和运行 audio2text.lua 就可以。但仍然要保持路径不包含中文
10月11日:更新了算法,批量识别需时大幅下降。同时去掉了烦人的警告信息,只显示识别结果。模型文件也附带在里面,不再需要等待下载
简介
很久以前就有类似的需求,但自己开发是不可能的,又没找到合适的库。最近终于从百度飞桨团队的开源库中找到一个合适的PaddleSpeech库,解决了这个需求。
脚本主要做的事情是先调用PaddleSpeech对选中item进行语音识别,识别出文字以后在item位置建立一个标记并写入识别到的内容,然后配合自带的Marker manager可以从内容快速定位对应的item。应该还有其他别的用法,不过我能想到的比较通用的就是这样了
下面放一个演示视频,因为实际运行需要比较长时间,视频经过了剪接
识别出文字以后使用自带的marker manager即可快速定位文本对应的音频块
有个问题是这样识别出来是不带标点符号的,纯是文字。官方虽然有恢复标点符号的例子,但有点复杂,意义不是很大,当前暂不加上
相关文件
PaddleSpeech库我已经打包成可以独立运行的版本,加上一个ffmpeg一共是700多M,所以放到了百度云上。下载以后解压会得到一个 ffmpeg.exe 文件和一个 DSY_PaddleSpeech 文件夹,请把这两个都放到你的 userplugins 文件夹内,并且保持他们的名字不要改变。如果你不确定 userplugins 在哪,请在你的reaper里点击 Options菜单--Show REAPER resource path in Explorer,弹出来的窗口里找到
关于脚本,为了减少被人私下修改代码为己用这种恶心事情,这次采用了加密的形式,且不能放在带中文的路径上。脚本现在分成 zh 和 en 两个版本,分别对应识别中文和英文音频。因为原程序识别中文和英文是需要调用不同的模型文件,不能混合识别,因此脚本也需要分别做成两个版本
DSY_audio2text_zh.lua (4.5 KB)
DSY_audio2text_en.lua (4.5 KB)
10月17日更新
由于REAPER 7.0开始,其期待的lua版本从5.3更新到5.4,之前的脚本由于加密过的原因,只能用于5.3版本下的lua环境,也就是无法用于REAPER 7.0及往后版本。所以重新上传了一个适配REAPER 7的版本。如果需要在7及往后版本使用的话,请用下面的脚本来代替。注意它们也无法用在REAPER 7以前的版本,请自行根据自己的REAPER版本下载)
DSY_audio2text_zh.lua (3.2 KB)
DSY_audio2text_en.lua (3.2 KB)
4月16日的更新需要下载下面的py文件
DSY_PaddleSpeech.py (1.3 KB)
使用方法
请确保三个条件成立,否则脚本无法启动:ffmpeg.exe和DSY_PaddleSpeech文件夹必须放对位置,且至少有一个item被选中
补充
脚本运行时没有限制reaper活动,你仍然可以做别的操作,但建议最好耐心等待脚本运行完毕,不要做太骚的操作,比如把这个工程关了什么的。然后脚本是识别语音的,不要尝试让他去识别音乐,音效类的item。还有是PaddleSpeech只能处理不超过50秒的音频,所以不要用在太长的音频上,轻则出错,重则我也不知道。另外经过测试,程序不能运行在Win8以下的系统上, 程序可以运行在 Win7~Win10上,但特别提醒Win7用户,必须要安装一个编号为 KB2533623 的补丁,否则运行会出错
使用反馈
根据部分用户的反馈,主要遇到了以下这些问题:
运行后完全没有反应
这是由于放到userplugins里的内容没有按照规定的路径放置,比如多套了一层文件夹
运行后看到一个黑色窗口一闪而过
程序在运行时会在某个位置建立一个日志文件记录运行过程,就是说需要做一个写入的操作。如果用户是在安装版的REAPER上运行的话,因为安装版位于系统盘比较敏感的路径下,会遇到权限问题导致写入引起报错。假如你用管理员模式来启动REAPER后可以解决这个问题,就证实是这个原因导致。但非常不建议用管理员模式来使用reaper,会产生一些问题。最佳办法还是及早转换成便携版的REAPER,方法参考 【保姆级教程】REAPER安装版无损转换成便携版
在便携版或者管理员模式下的安装版运行也会弹出黑窗
暂时收到一个用户反馈这个问题。对照报错信息大概是CPU型号太旧不支持avx指令集导致。解决方法是下载以下两个文件
然后他们放到以下路径
\userplugins\DSY_PaddleSpeech\Lib\site-packages\paddle\fluid
再尝试运行脚本即可
Donation
毕竟用爱发电不易,如果我的脚本给你带来了便利,不妨buy me a coffee
如果有需要订制个人化的脚本,请添加以下QQ联系:86989558
我的Reapack源
可以在Reapack里添加这个地址来获取到更多我共享过的脚本