【脚本】导入AAF文件

严格来说这不是一个原创的脚本,属于站在大佬的肩膀上做的二次开发。之前有人做了一个可以读取AAF文件并导入reaper的脚本

项目地址
skysphr / Reaper AAF · GitLab

但这个脚本因为是python写的,普通用户不一定有装python不说,装了还需要配置环境,对新手不太友好。所以我进行了一些改写,让大部分用户(Win平台)都能直接使用而不需要额外安装任何内容。

原来的脚本主要做了两件事:读取和解析AAF文件内容,根据读取到的内容导入到reaper内。
我做的事情是把他们拆开,导入到reaper的部分转写成lua格式,这样所有用户都能运行。读取和解析部分保留py格式,然后封装成单独的exe文件(抱歉其他平台的用户,我不知道怎么封装你们平台的可执行文件),这样即可完全脱离python环境而运行。

使用方式
如上所说,脚本分成两部分,一个lua文件,一个exe文件,lua文件按照惯例处理加载即可,exe文件需要放在安装路径下的userplugins文件夹里,名字请保持原始的不要改动。然后运行lua脚本,按提示选择要导入的AAF,等待加载即可

注意
以Nuendo来举例,导出AAF有两种方式,《所有媒体文件嵌入到一个AAF文件》和《媒体文件和AAF文件分开存放》,请必须使用第二种。第一种方式现在原版脚本支持得不好,我自然也没法解决。所以当前请先使用媒体文件分开存放的方式来导出

相比原版,我改进了一个地方,导入的时候采用相对零点的方式,并且是以光标所在位置作为相对零点。比如说,AAF文件里一个音频块在5秒的位置,然后你导入前,把光标放在reaper工程里10秒的位置,那么导入后,这个音频块将会出现在工程里的15秒的位置,如此类推

重要说明
原版的脚本能获取的信息很有限,列举如下:

轨道信息包含:

  • 名字
  • Pan
  • 音量
  • Pan包络
  • 音量包络

音频块信息包含:

  • 文件路径
  • 内容偏移位置
  • 位置
  • 长度
  • 音量
  • 淡入淡出

标记信息包含:

  • 名字
  • 位置
  • 颜色

我没时间去了解是本来AAF只支持这么一点信息,还是脚本作者偷懒只选取了这部分。反正原来脚本能读取的信息,我全部都会导入到reaper里。不在上面列举出来的部分就不用问为什么没有导入进来了。

然后AAF是一个通用的格式,但是各家DAW/非编软件对他的导出处理都是各不一样。比如我测试用的Nuendo,他导出的轨道信息就没有音量和Pan的,然后也不支持导出标记信息的,那么虽然脚本支持,但Nuendo从一开始就没有给出来,那这些信息也没法导入到reaper里

最后说一下,支持导出AAF的有Nuendo、Cubase12、PT、Adobe Premiere、Final Cut Pro、达芬奇等等,可能还有别的我不知道。但我手上只有Nuendo可供测试,所以可能别的平台导出的AAF会产生新的问题也说不定,所以请有兴趣的人用你手上常用的软件去帮忙测试一下,有问题请回帖反馈

Lua脚本
DSY_导入AAF.lua (5.3 KB)

EXE文件

链接: https://pan.baidu.com/s/1lzoVVmzxxcu65EQGIsqv8Q?pwd=e3s7 提取码: e3s7
因为封装的文件太大,只能放在百度云上,请自行下载

Donation

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

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

我的Reapack源

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

4 Likes

有哪些途径可以下载到全信息的 aaf 示例文件吗?

很怀疑有没有“全信息的aaf”这样的东西存在,他本身也只是一个标准。然后各家怎么执行执行多少就是自己自由了

牛逼呀,支持挪大!