Ardour/Using-control-surfaces/Generic-midi/MIDI Binding Maps
来自motewiki
更多操作
MIDI binding map(MIDI 绑定 map)为某个控制设备预定义任意多个物理控件与 Ardour 内部可控对象的绑定,让 commercial MIDI controller "开箱即用"。它是对 MIDI learn 的扩展。
- binding map 通过 *Edit > Preferences > Control Surfaces > Generic MIDI* 双击进入选择;Ardour 会记住你的选择
- 内置 preset 覆盖大量设备/模式:AKAI MPD/APC/MidiMix/MPK、Alesis Q 系列、Arturia KeyLab/MiniLab、Behringer BCF2000/DDX3216、Devine VersaKey、Donner、E-MU Xboard 61、Korg nanoKONTROL/Taktile、LAudio EASYCONTROL、M-Audio Axiom/Oxygen、Nektar、Novation Impulse/Launch Control XL/LaunchKey、Roland、Yamaha 等
- 新的 binding map 需用文本编辑器手写:文件后缀为 `.map`,放在 Ardour 配置目录下的 `midi_maps` 子目录
- 每 track/bus 用 unique remote control ID 标识,MIDI/OSC 消息据此判断目标
绑定语法(XML,`<Binding ...>`):
- 三种基本结构:`uri=`(track/bus 控制)、`function=`(transport 等 function)、`action=`(任意菜单 action)
- 消息规格:`channel` + `ctl`/`note`/`pgm`(channel message),或 `sysex=`(hex 字节串)、`msg=`(任意 hex 字节串;4.6 起支持多 event 字符串);`sysex`/`msg` 只能配合 `function`/`action`
- CC 类型:`ctl`、`ctl-toggle`、`ctl-dial`、`rpn`、`nrpn`、`rpn-delta`、`nrpn-delta`,以及 7-bit encoder 的 `enc-r`、`enc-l`、`enc-2`、`enc-b`
- control address(`uri`):`/route/gain`、`/route/trim`、`/route/solo`、`/route/mute`、`/route/recenable`、`/route/panwidth`、`/route/pandirection`、`/route/plugin/parameter`、`/route/send/gain`;地址形式:数字(remote control ID)、`B<n>`(bank 相对)、`S<n>`(selected)、或多词 track/bus 名
- solo/mute 可加 `momentary="yes"`:NoteOn 触发、NoteOff 撤销
- `function=` 列表:`transport-stop`、`transport-roll`、`transport-zero`、`transport-start`、`transport-end`、`loop-toggle`、`toggle-rec-enable`、`rec-enable`、`rec-disable`、`next-bank`、`prev-bank`(无 feedback)
- `action=` 绑定任意菜单项(去除 keybinding 中 `<Action>` 前缀即可,如 `Editor/temporal-zoom-in`)
- MMC transport:设备连到 `ardour:MMC in` port,并在 *Transport > Chase* 勾选 Respond to MMC commands 且 Inbound MMC device ID 一致
- banking:`<DeviceInfo bank-size="8"/>` 指定每 bank track 数;control address 用 `B<n>`;给 `next-bank`/`prev-bank` 绑定按钮
- selected strip 用 `S1` 指定