
(本文档可能会随着插件版本更新而变动)
我和很多做音MAD的朋友一样,工作流里同时用着 REAPER 和 AviUtl2。
REAPER 里剪好音频、排好物件,然后……就要在 AviUtl2 里对着时间轴,一个一个地手动创建物件、对齐位置、复制效果链。一首曲子几十上百个音符,真的会累死!还好,有像 RPPtoEXO 这样的外部软件辅助,可这依然很麻烦,步骤实在繁琐……
于是有了 AutoZWJ 自动转(Z)物(W)件(J),真土的名字! ——它会读取你的 REAPER 工程或 MIDI 文件,以你选中的物件为模板,自动把所有素材批量生成到 AviUtl2 时间轴上。

开源免费,MIT 协议。 项目地址:TNOTawa/AutoZWJ
核心思路很简单:你已经在时间轴上做好了一个"样板"物件——那就用它当模板。
插件会读取你选中的物件,以及它的效果链(滤镜效果这些),然后为 REAPER/MIDI 里的每一个素材生成一个同样的物件,只是位置、时长、速度这些内容自动替换。

流程图大概是这样:
选中模板物件 → 右键 → [AutoZWJ] 配置导入
↓
在弹出的窗口中调整参数
↓
点击"确定" → 批量生成!
我挑几个我觉得最实用的功能来说,大家也可以自行探索!
假设你的模板物件上挂了一个"色度键"滤镜,还调了"亮度/对比度",甚至绑了一些复杂的运动曲线。
AutoZWJ 会把这一整套效果链原封不动地复制到每一个新物件上。

你只需要做一个样板,剩下交给它。
有些数值你不想照抄模板。比如模板里"亮度"设了 50,但你想让每一帧根据 MIDI 力度动态变化。
打开效果链编辑器,勾选你想改的参数,就能单独改写它的值。

这个面板是三列抽屉式布局,点击导航栏上的"效果链编辑"按钮就会从右边滑出来。

如果你想让每个物件的参数根据它自身的属性自动计算,可以写表达式。格式和平时写数学公式差不多:
$note.velocity$ / 127 * 200
意思是:取这个音符的力度值,按比例映射到 0~200 的范围。
支持的变量非常多,点击输入框旁边的下拉箭头就能看到全部列表:

内置了 rand、clamp、round 等计算函数,做一些随机抖动或者边界限制都很方便。
表达式写错了也妹有关系,插件会静默跳过这一项,不影响其他参数的生成。
你可以在时间轴上同时选中多个模板物件(比如一个"圆形"、一个"方形"、一个"三角形")。
AutoZWJ 支持三种多模板分配策略:

你可以玩出很多花样来。终于可以不用羡慕 OtomadHelper 用户了!
AutoZWJ 内置了层分配算法,会自动为每个新物件找到合适的图层:

有三种分配策略可选:
优化模式 — 能塞就塞,图层最少
持续累加 — 优先生成在新图层,新的音符总是最高图层
交替换行 — 我说实话没啥用,纯粹是因为 RPPtoEXO 也有我才加的(
正常使用默认的"优化模式"就很好了。
给物件加翻转效果,在效果链编辑器里是可视化的。翻转预设可以像卡片一样在效果列表里拖拽,放到你想让它生效的位置。

还有很多功能,就不多说啦,看名字你大概就知道是干什么的:
交替翻转:物件自动交替左右翻转(左右抽) / 上下翻转 / 旋转
音符对齐:生成物件的时长自动对齐音符长度
间隙生成:只在音符间空白处生成物件
时间偏移:整个工程统一提前或延后
轨道树筛选:勾选你想要的轨道
反转轨道顺序:生成的物件图层倒序排列
目前支持这些:RPP、MID、LRC
以后可能会加更多格式,比如 UST、USTX 这些的,有需要可以在 Issue 里提哦!
在 AviUtl2 时间轴的空白处右键 → [AutoZWJ] 选择音频工程... (也可以直接执行第二步,会自动引导你到这里)→ 选你的 .rpp 或 .mid 等文件。

加载后会自动解析轨道结构,在界面的轨道树里就能看到了。

在时间轴上选中你想当模板的物件。选一个也行,选多个也行。
右键选中的模板物件 → [AutoZWJ] 配置导入... → 弹出配置窗口。

调整好参数后,点一下"确定"——生成就完成了!恭喜www
AutoZWJ 是使用 Vibe Coding 进行 C++ 编写的,基于 AviUtl2 的 .aux2 插件系统。界面用的是 Dear ImGui。
这个插件的灵感来自 RPPtoEXO,站在前人的肩膀上,我做了一些我觉得能让工作流更顺滑的改进——比如效果链编辑器、变量系统、多模板映射这些。
整个开发大概花了几个月的摸鱼时间。如果你对 AviUtl2 插件开发感兴趣,项目是开源的,欢迎来提 Issue 和 PR ヾ(•ω•`)o
不得不坦诚交代这些缺陷,不然我绝对会挨喷的:
i18n 未完成:整个插件只有中文,对不起了外国友人!
UI 还在打磨:有些交互细节还不够顺手,而且现在用的还是丑丑的 ImGUI 默认样式,我会慢慢优化!
如果你在使用中碰到问题,去 GitHub 提 Issue,我尽量去修!(滑跪
完善各方面的稳定性
补上英文和日文翻译
添加更多辅助功能,如和弦物件快捷创建
优化 UI 交互体验
有什么想法也欢迎在评论区或 Issue 提出来——虽然我不一定都能实现,但我会认真看每一条的!
从 GitHub Releases 下载 AutoZWJ.aux2
放进 AviUtl2 的 Plugin 目录
启动 AviUtl2,搞定
未来 i18n 完善后,也会登录 Aviutl2 catalog 的,届时还能体验到插件的自动更新!
如果你会用 CMake,也可以自己编译——不过除了开发者和贡献者,谁会这么做呢(
目前还是早期测试版,各方面都粗糙得很。
其实写这篇文章一个很大的原因,就是太缺用户反馈了。一个人闷头开发,真的很需要大家的意见来帮这个插件长成它该有的样子。
做这个插件最开心的事,就是听到有人说"这个省了我好多时间"。!
如果你也是 REAPER + AviUtl2 的工作流,试试看 AutoZWJ。觉得好用欢迎去 GitHub 点个 Star ⭐,有问题就来评论或 Issue 交流。
感谢阅读(づ ̄3 ̄)づ╭❤~
TNOT 2026 / 6 / 23