【脚本】让REAPER支持OMF/AAF的【免费】方案

群里隔三差五就有人问REAPER如何读写OMF/AAF文件,其实几年前因为公司有部分工程交接的需求,我已经实现了这个需求。但是实操起来需要别的软件配合,且也不是个完美的方案,写出来可能不一定全部人都能理解,所以一直懒得写。现在看需求多了,尝试分享一下,能理解的就操作一下看看吧

一个前置声明:这一套方案本体是一套极其复杂的代码,经过大概两年的迭代,其中能找到的bug基本都已经修复过了。但最终只是为了我个人服务,只满足我个人需求,你有额外需求的话只能寻求别的方案了。另外前面说了这是一套极其复杂的代码,加上年代久远,还有我自己一直用着也好好的,所以无(lan)法(de)维护了,如果你幸运地找到新的bug,那只能说声抱歉了

必要准备

1、首先你必须拥有 Nuendo/Cubase 软件(无论是否正版),因为输入/输出 OMF/AAF靠的就是他们。脚本做的并不是直接让REAPER支持这两种格式文件,而是把你的工程转换成Nuendo/Cubase能识别的格式。所以先准备好这俩中的一个是基本前提,当然这里不讨论盗版信息,所以请自行想办法

2、你需要新建一个空白的工程,保存,退出。然后运行下面这个脚本
DSY_设定中转工程位置.lua (374 字节)
定位到刚刚这个工程的位置,点击“打开”,把他设定为一个中转工程。这步只需要做一次。请你牢牢记住这个中转工程的位置,后面将会经常在这里找你从工程里输出的内容

过程简介

前面说过,读取/写入 OMF/AAF 这一步是通过C/N来实现的,脚本做的是把工程转换成C/N能识别的格式,和把C/N工程里的内容导入到reaper内。这个C/N能识别的格式,叫做《轨道存档》(Track Archive)。整个流程如下:

导出OMF/AAF:
REAPER-->导出轨道存档脚本-->轨道存档-->Nuendo/Cubase-->OMF/AAF

导入OMF/AAF:
OMF/AAF-->Nuendo/Cubase-->轨道存档-->导入轨道存档脚本-->REAPER


导出OMF/AAF

涉及脚本、文件:
DSY_导出轨道存档.lua (1.1 KB)
DSY_main.lua (17.6 KB)
DSY_after.lua (17.4 KB)
DSY_copy.lua (7.2 KB)
fileops.dll (65.5 KB)

请严格按照以下方式摆放和操作:

  • 4个lua文件必须放在同一个纯英文路径下
  • 只需要在动作列表导入 DSY_导出轨道存档.lua这一个文件
  • fileops.dll 放到资源路径下的 userplugins 文件夹下,重启REAPER

使用方法:将你要导出成OMF/AAF的部分,用一个region框起来,加上适当的命名。一个region对应一个轨道存档。如果只有一个region的内容需要导出,就将光标放到这个region范围内;如果有多个region内容需要批量导出,就画一个time selection框住这些region。然后运行:DSY_导出轨道存档.lua

之后屏幕会一顿闪,有大量的glue操作在自动执行,只需要耐心等待即可,处理完毕后会自动返回原工程

这里用到的就是之前建立的中转工程。因为REAPER有很多C/N不支持的内容,具体就不细说了,所以需要用大量的glue操作把这些不支持的内容固定下来,这就是为什么屏幕会一顿闪。也为了不影响原工程,所以这部分操作就转移到这个中转工程来进行

完成后回到上述的中转工程位置,你会看到一个文件夹,名字是《你的工程名字_你的region名字_时分秒》,这就是转换出来的轨道存档文件
image

接下来去C/N上,依次点击:File--Import--Track Archive,定位到上述文件夹里的一个xml文件,打开即可得到REAPER导出的内容,再按需要导出成OMF/AAF
image

这里Nuendo有一个严重的bug,在打开了xml文件后,切记不能选中《Copy To Active Project Folder》选项,不然导入来的音频位置会全部错乱。只测试过Nuendo10,11和Cubase有没有这个问题不清楚

上面说过为了让C/N能识别REAPER内各种不支持的内容,使用了大量的glue操作,最大限度保证了跟原工程里素材的听感一致,而不是文件一致,这也是为什么我前面说这是不完美的方案,也请不要问“能不能保留原文件” “为什么原来的音频尾巴拉不出来” 这类问题

导入OMF/AAF

涉及脚本:
DSY_导入轨道存档.lua (2.1 KB)
DSY_importmain.lua (9.6 KB)

请严格按照以下方式摆放和操作:

  • 两个lua文件必须放在同一个纯英文路径下
  • 只需要在动作列表导入 DSY_导入轨道存档.lua这一个文件

使用方法:将OMF/AAF导入到C/N中,然后选中这些内容,依次点击:File--Export--Selected Tracks
image
同样得到一个轨道存档的文件夹。回到REAPER,运行脚本 DSY_导入轨道存档.lua,定位到刚刚得到的轨道存档文件夹,打开里面的xml文件,即可导入到REAPER中

以上即是我在用的,能让REAPER支持OMF/AAF读写的方案,当然愿意花钱的话还有更理想的方案,但这个是目前来说成本最低的

Donation

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

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

3 Likes

以前群里看到略略提过一嘴,这个完全版很赞。