Articulation Map(技法映射器) 是一款轻巧而高效的音符映射工具,专为无缝将 keyswitch(键位切换键)音符转换为PC事件而设计。它的设计理念在于简化操作,确保用户可以不经过复杂的学习过程即可使用。
本工具的核心功能是将 Band MSB/LSB 和 Program number (Bank/Program Select) 转换为 keyswitch 音符的 Note number, Velocity, 和 Off-Velocity,使之成为 keyswitch 音符的一种替代形式。这种转换既可靠又直观,因为 Bank/Program Select 事件保留 keyswitch 音符的特性,从而可以无缝还原,确保您的工程不受影响。
功能亮点:
- 可以完全替代官方的Bank/Program Select功能。
- 支持两种Reabank虚拟乐器音色的显示模式,便于用户快速切换并找到所需音色。
- 提供 PC to Note Toggle 功能,实现 PC 和 keyswitch 音符的双向转换。
- 通过专有的键位映射配置文件,将一个键位映射为双键位或多键位。
- 支持以不同的 keyswitch (键位切换键) 力度触发不同的技法。
- 支持 Keyswitch CC (KSCC/UACC/CC Stack) 映射。
- 通过 Short-Mode Duration (ms) 控制器,实现 keyswitch 音符的时值控制。
- 通过 Long-Mode Controller 控制器,实现 keyswitch 音符的延音控制。
- 采用路由通道控制器来灵活管理 MIDI 事件通道分配。
- 简易操作的界面,包括一键切换JSFX的悬浮状态和Bank/Program消息的即时发送。
- 用户友好的定制选项,包括字体、字号以及其他控制界面设置。
- 多种界面风格可选,包括ImGui、Lokasenna Gui和默认风格,以适应不同用户的偏好。
- 支持批量插入音色。
- 脚本界面占用空间小,并具有固定功能,允许将技法映射界面固定在顶部。
基础文件:
Lua:Articulation Map.lua - 主脚本,用于加载 Reabank,插入Patch,编辑MIDI数据等
JSFX: Articulation Map.jsfx - FX插件,用于接收并处理MIDI事件
JSFX: pre_trigger_events.jsfx - FX插件,用于提前触发MIDI事件
Reabank:用于在 Articulation Map.lua 加载的 .reabank 文件
如何加载脚本:
- 使用 Articulation Map 之前,您需要新建一条轨道并加载一个虚拟乐器;
- 打开 REAPER 的操作列表(Action list),在过滤栏中输入 Articulation Map,找到 Articulation Map.lua 脚本并加载;
- 点击 Articulation Map.lua 脚本界面右上角的 [JS] 按钮加载必要的 JS 插件。插件将被放置在效果链的最顶层,以等待接收处理事件。
- 点击 Articulation Map.lua 脚本界面左下角的加载文件 [Load File] 按钮,选择并打开一个 reabank,确保 reabank 正确加载。
如何使用 Articulation Map.jsfx:
Articulation Map.jsfx 是技法映射的核心插件,它支持两种模式(Mode)的映射,一种是将PC映射为键位(Keyswitch),一种是将PC映射为 CC(Keyswitch CC/UACC/CC Stack)。以下是两种模式的使用方法:
PC to Keyswitch 将 PC 映射为键位(Keyswitch):
– 当虚拟乐器支持 Keyswitch 时,请在 Articulation Map.jsfx 面板上选择该模式。
- 打开 Articulation Map.jsfx 插件,确保模式(Mode)选项为 Short+Long(默认设置,按照需要你可以选择单独的 Short-Mode 或者 Long-Mode);
- 打开 Articulation Map.lua 脚本,点击界面中的[加载文件]按钮,加载一个 reabank 音色表;
- 点击 Articulation Map.lua 界面的 Patch 列表选择一个音色并点击OK,该音色将插入到 MIDI 编辑器的 PC 车道中;
- 播放该事件,你将听到 PC 被映射为 Keyswitch。
PC to CC,将PC映射为CC(Keyswitch CC/UACC/CC Stack):
– 当虚拟乐器支持 Keyswitch CC/UACC/CC Stack 时,请在 Articulation Map-JSFX 面板上选择该模式。
- 打开 Articulation Map.jsfx 插件,确保模式(Mode)选项为 KSCC (UACC);
- 打开 Articulation Map.lua 脚本,点击界面中的[加载文件]按钮,加载一个 reabank 音色表;
- 点击 Articulation Map.lua 界面的 Patch 列表选择一个音色并点击OK,该音色将插入到 MIDI 编辑器的 PC 车道中;
- 播放该事件,你将听到 PC 被映射为 CC。
Reabank编写指南:
Articulation Map 采用 REAPER 标准的 Reabank 格式,意味着它可以直接加载和处理标准的 Reabank 文件。
1. Reabank 格式要求:
Bank MSB(0-127)
Bank LSB(1-127)
Program number(0-127)
2. 技法映射 Reabank 说明:
Bank MSB: 乐器分组编号
Bank LSB: 对于PC to Keyswitch 模式为Velocity,对于 PC to CC 模式为CC编号。
Program number: 对于PC to Keyswitch 模式为Keyswitch编号,对于 PC to CC 模式为CC值。
3. 一个特定键位映射为多键位说明:
在reabank中,可以定义将一个特定的键位映射关联到一个或多个不同的键位上。每行定义一个映射,格式为:
原始键位=目标键位1,目标键位2,…
其中,技法键位由 [分组编号-力度值-音色编号] 的形式表示。例如:
//! 127-100-100=127-100-67, 127-100-74, 127-95-79
表示 127-100-100 映射到三个不同的键位:127-100-67、127-100-74和127-95-79。
请注意,每行开头必须包含 “//!”。
PC to Keyswitch - reabank 示例:
Bank 121 96 ReaSynth
//! 121-96-60 = 121-96-72, 121-96-76
60 do-mi
//! 121-96-61 = 121-96-79
61 so
//! 121-96-62 = 121-96-72, 121-96-77
62 do-fa
//! 121-96-63 = 121-96-81
63 la
//! 121-96-64 = 121-96-84
64 do˙
//! 121-96-65 = 121-96-79
65 so
PC to CC - reabank 示例:
Bank 100 0 LASS 3 Full (CC Stack)
1 Legato
2 Sustain
3 Sordino
//! 100-0-4=100-0-6
4 Shorts
//! 100-0-5=100-0-7, 100-58-9
5 Pizzicato
//! 100-0-6=100-0-9
6 Bartok Pizz
//! 100-0-7=100-0-12
7 Tremolo
//! 100-0-8=100-0-13
8 Trills
//! 100-0-9=100-0-14
9 Harmonics
//! 100-0-10=100-0-32
10 Staccato
此外,Articulation Map Bundle 还包括一份示例 Reabank 文件,作为您的参考。
快捷键说明:
- F1 打开音色表(修改音色表后按F5更新reabank)
- F2 编辑配置表
- F3 向左移动MIDI事件 10 ticks
- F4 向右移动MIDI事件 10 ticks
- F5 刷新音色表(右键点击界面中的reabank名称也可用于刷新reabank)
- F6 音符-PC模式切换
- F7 设置PC事件
- F8 切换音色表显示模式
- F9 切换JSFX插件浮动状态
- F10 将Reabank写入reaper.ini以作为默认音色表
- F11 恢复界面原始尺寸(默认未锁定GUI界面,需要恢复界面尺寸时按F11)
- F12 打开键位映射表
按钮说明
- A:音色表显示模式 1(通用的显示方式,比如具备GS/XG规格的Roland/YAMAHA硬件音源)
- B:音色表显示模式 2(将每个乐器的所有技法显示到一起,似乎更适合keyswitch或UACC的显示)
- ‘<’:选中MIDI事件向左移动 10 tick(按住Shift 点击按钮微移 1 tick)
- ‘>’:选中MIDI事件向右移动 10 tick(按住Shift 点击按钮微移 1 tick)
- PN: PC to Note toggle按钮
- PC: 设置bank/program select(按住Shift 点击按钮触发 PC to CC toggle功能)
- ER: 编辑当前的reabank(按住Shift 点击按钮以编辑同时多技法映射文件:simul-arts.txt)
- JS: 点击以加载JS插件。如果插件已加载则用于浮动或取消浮动articulation_map.jsfx(按住Shift 点击按钮浮动或取消浮动:pre_trigger_events.jsfx)。默认显示当前使用的延音控制器的CC编号。
特别鸣谢:
在此特别感谢REAPER英文社区 Tale 对 Articulation Map.jsfx 的贡献,尤其是其在延音控制器方面的核心代码,极大地增强了本工具的功能性。
现在,只需打开 Articulation Map.lua 并加载 Articulation Map.jsfx,您便可开始进行MIDI创作。我诚邀您体验这一全新工具,期待您的反馈和建议。
下载脚本:
添加我的 Reapack 源(两个源只能选一个使用):
https://github.com/zaibuyidao/ReaScripts/raw/master/index.xml
https://group.reaget.com/mirrors/zaibuyidao/ReaScripts/index.xml (Tee佬提供的国内专线,不需要梯子)
在 ReaPack 搜索:zaibuyidao Articulation Map
找到脚本后右键点击下载。