全新的技法映射插件

Articulation Map(技法映射器) 是一款轻巧而高效的音符映射工具,专为无缝将 keyswitch(键位切换键)音符转换为PC事件而设计。它的设计理念在于简化操作,确保用户可以不经过复杂的学习过程即可使用。

AM-JSFX

本工具的核心功能是将 keyswitch 音符的 Note number, Velocity, 和 Off-Velocity 转换为 Band MSB/LSB 和 Program number,使之成为 keyswitch 音符的一种替代形式。这种转换既可靠又直观,因为转换后的PC事件仍保留 keyswitch 音符的特性,从而可以无缝还原,确保您的工程不受影响。

AM-NP

Articulation Map 采用 REAPER 标准的 Reabank 格式,意味着它可以直接加载和处理标准的 Reabank 文件。对于 Windows 用户在 UTF-8 编码显示下出现乱码的情况,这提供了一种更为便捷的解决方案。

功能亮点:

  • 支持两种Reabank虚拟乐器音色的显示模式,便于用户快速切换并找到所需音色。
  • 提供 PC to Note Toggle 功能,实现 PC 和 keyswitch 音符的双向转换。
  • 通过专有的键位映射配置文件,将一个键位映射为双键位或多键位。
  • 支持 Keyswitch CC (UACC) 映射。
  • 利用延音(CC)控制器,实现keyswitch音符的延音效果。
  • 通过路由(CC)控制器,灵活管理MIDI事件通道的分配。
  • 简易操作的界面,包括一键切换JSFX的悬浮状态和Bank/Program消息的即时发送。
  • 用户友好的定制选项,包括字体、字号以及其他控制界面设置。
  • 多种界面风格可选,包括ImGui、Lokasenna Gui和默认风格,以适应不同用户的偏好。
  • 支持批量插入音色。
  • 脚本界面占用空间小,并具有固定功能,允许将技法映射界面固定在顶部。

高级功能展示:

AM-SUS
Articulation Map 支持 keyswitch 音符的延音转换,以保证在 Blend 模式下的 AM JSFX 更为高效。

AM-2
可以同时运行两个技法,并且此过程由脚本自动执行。

AM-INSERT
批量插入音色。

Reabank编写指南:

Reabank 格式要求:
Bank MSB (0-127) LSB (1-127)
Program number (0-127)

技法映射 Reabank 说明:
Bank MSB: 乐器分组编号 (一个reabank最多可以容纳128件乐器)
Bank LSB: 键位切换键的力度值. 建议: 96 (默认), 127 (开), 1 (关)
Program number: 键位切换键的音符编号

使用标准的 Reabank 格式,您可以轻松创建和管理128种不同的音源。
此外,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 的贡献,尤其是其在延音控制器方面的核心代码,极大地增强了本工具的功能性。

AM-SCRIPT-01
zaibuyidao_Articulation Map.lua

AM-SCRIPT-02
zaibuyidao_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
找到脚本后右键点击下载。

2 Likes

看起来很不错,可以导入现成的reabank吗?

可以的。在脚本界面中 按住 Shift+右键单击 音色库 MSB/LSB 和 程序编号的文本框,还可以更改音色定位。

simul

最新版支持将一个PC事件转换为多个PC事件,通过插入一个音色即可触发双键位或者多键位(无音符数量限制),并且同样可以完美支持 PC-to-Note 来回切换。

要使用同时多键位触发功能,需要打开AM界面,按快捷键 F12 打开键位映射定义文件:simul-arts.txt

simul-arts.txt 使用说明:

该设置文件用于存储同时多键位映射信息,即将一个特定的键位映射关联到一个或多个不同的键位上。每行定义一个映射,格式为:
原始键位=目标键位1,目标键位2,...
其中,技法键位由 [分组编号-力度值-音色编号] 的形式表示。例如:

127-100-100=127-100-67, 127-100-74, 127-100-79

表示 127-100-100 映射到三个不同的键位:127-100-67、127-100-74和127-100-79。
请注意,技法键位对应的 [分组编号-力度值] 必须保持一致。

更新版本以支持 UACC,现在 Keyswitch CC 和 UACC 完全兼容 Articulation Map。

我在为 Articulation Map 插件编写 UACC 标准的 reabank 时发现,Reaticulate 默认的 UACC 音色表基本上是可以直接加载使用的。因此,我整合了一份 Reaticulate 在 Github 上支持 UACC 的 reabank 给 Articulation Map 插件使用(只是删除了所有 '//!' 开头的行)。我对其中的 Cinematic Studio Strings 音色表进行了全面测试,完美触发。

来自 Github AM 音色表集合:reabanks

请注意:使用 UACC 模式时,需要将 Articulation Map-JSFX 插件界面的 Mode (模式)设置为 Keyswitch CC (UACC),并确认 Keyswitch CC 的控制器编号是否设置为 32(这是喷火 UACC 默认的控制器号,对于 Cinematic Studio Strings 则默认是 CC58)。

在 keyswitch CC/UACC 模式下,数据库的显示方式一般使用按钮 [B] 模式(将一套音源的所有技法显示到一起),按钮 [A] 模式主要适合传统音源的显示(如 GS/XG 标准的 Roland/YAMAHA 硬件音源)。

现在的 Articulation Map,包含了基于键位映射的常见功能:

  • 短按:模拟按下琴键后立刻抬手。
  • 长按:模拟按住琴键直到下一个琴键按下时立刻抬手,类似连奏的功能。
  • 混合的短按+长按(JS插件默认):启用 CC119 时,激活长按功能(模式二),可随时控制键位音符的长度。不启用 CC119 时,则默认为短按(模式一)。
  • Keyswitch CC (UACC) 功能支持。
  • 通过专有的键位映射配置文件,将一个键位映射为双键位或多键位。

对于新增功能,AM 仍然具备简单易用的特性,并且不会影响过去的任何操作。

音色表需要有对应的音源来编写,如果有人恰好编写了库中没有的音色表,可以发我整合到这套插件中。

最新版: v1.0.28

更新到 1.0.40

新增功能:自动切换 AM-JSFX 插件模式,基于当前选中的 bank 名称,实现更智能的模式管理。

要设置自动切换 AM-JSFX 模式,只需要在 reabank 文件中 bank 名称的下一行增加一行模式定义行 //! mode=xxx,例如:

Bank 100 0 LASS 3 Full
//! mode=kscc
1 Legato
2 Sustain
3 Sordino

AM-JSFX 的 Mode 切换当前共有 4 个选项可写:short, long, short-long 以及 kscc。