跳转到内容
打开/关闭菜单
  • 346 条目
  • 1 用户
  • 368 编辑
motewiki
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

Ardour/Using-control-surfaces/Controlling-ardour-with-osc/OSC Control

来自motewiki

OSC Control:OSC 让合成器和其他设备与 Ardour 通信,可发送 playback、performance 及几乎任何其他 function 命令。OSC 控制自 Ardour 4.7 以来大幅变化:path 结构重做、引入 banking、controller 可告知 Ardour 它能处理的 feedback 类型(含 bank size),gain 控制改用新数学。

连接 Ardour:OSC 支持默认不启用,通过 *Preferences > Control Surfaces* 开启后,Ardour 默认监听端口 `3819`(可在 `$ARDOUR_CONFIG` 的 `<Config>` 节中加 `<Option name="osc-port" value="..."/>` 修改)。Ardour 把 feedback 发回发出 feedback 请求的 port,或 setup dialog 中手动设置的 port——port 不必与 Ardour 的相同,这样可以同时支持多个 controller(各自独立 bank、使用不同 fader 数学)。

Control Surface Set Up:`/set_surface *bank_size* *strip_types* *feedback* *fadermode* *send_page_size* *plugin_page_size* *port* *linkset* *linkid*` 让 controller 告知 Ardour 自身能力。发送 `/set_surface` 会重新计算当前 bank,并在 feedback 开启时刷新各 strip 控件值。

  • 不发 `/set_surface` 时 default:Bank Size 0(不 bank)、Strip Types 159(除 hidden/special 外全部)、Feedback 0、Fader Mode 0(dB)、Send/Plugin Page Size 0、reply port 8000、Link set/ID 0
  • `/set_surface` 可只发部分参数(其余保持不变);无参数发送会返回当前设置
  • bank_size:不 bank 时支持的 strip 数;0 = 无限(不 bank)
  • strip_types:位值整数,决定 bank 包含哪些 strip(Audio、MIDI、busse、VCAs、Master、Monitor、hidden/selected);也可用多个 button 切换模式(如 only inputs=3、only busses=12、selected=256、hidden=512、full mix=31)
  • feedback:位值整数,详见 Calculating Feedback and Strip-types Values
  • gainmode:0 = gain dB(float -193..+6,经 `/strip/gain`);1 = 位置(float 0..1,经 `/strip/fader`,调 fader 时 dB 值发到 channel name);2 = 位置 + 同时发 `/strip/gain`;3 = 仅位置
  • send_page_size / plugin_page_size:同时可控的 send / plugin 控件数(0 = 不 paging;Ardour 5.10+)
  • port:feedback 接收 port;`0` = auto 模式,或 >1024 的手动 port(建议不要用 3819)。Ardour 6.0 起 surface 可直接设 manual port 或 host `auto` 模式
  • linkset / linkid:见 Linking Surfaces

OSC message(摘要;完整列表见英文 manual):

  • Master/Global:transport(`/transport_play`、`/transport_stop`、`/toggle_roll`、`/set_transport_speed`、`/ffwd`、`/rewind`、`/goto_start`、`/goto_end`、`/jump_bars`、`/jump_seconds`、`/toggle_click`、`/marker`、`/add_marker`、`/remove_marker`、`/next_marker`、`/prev_marker`、`/locate`、`/loop_toggle`、`/loop_location`、`/midi_panic`、`/cancel_all_solos`)、recording(`/toggle_punch_in`、`/toggle_punch_out`、`/rec_enable_toggle`)、5.9+ 的 `/scrub`、`/jog`、`/jog/mode`
  • Editing:`/undo`、`/redo`、`/save_state`、`/session_name`
  • Master/Monitor strip:`/master/gain`、`/master/fader`、`/master/db_delta`、`/master/trimdB`、`/master/pan_stereo_position`、`/master/mute`、`/master/select`,以及对应的 `/monitor/*`
  • Strip-specific(*ssid* = Surface Strip ID,即 strip 在 bank 中的位置 1..bank size):`/bank_up`、`/bank_down`、`/use_group`、`/strip/spill`、`/strip/hide`、`/strip/name`、`/strip/group`、`/strip/mute`、`/strip/solo`、`/strip/solo_iso`、`/strip/solo_safe`、`/strip/monitor_input`、`/strip/monitor_disk`、`/strip/recenable`、`/strip/record_safe`、`/strip/polarity`、`/strip/gain`、`/strip/fader`、`/strip/db_delta`、`/strip/*/automation`、`/strip/*/touch`、`/strip/trimdB`、`/strip/pan_stereo_position`、`/strip/pan_stereo_width`、`/strip/send/gain`、`/strip/send/fader`、`/strip/send/enable`、`/strip/list`、`/strip/sends`、`/strip/receives`、`/strip/plugin/list`、`/strip/plugin/descriptor`、`/strip/plugin/reset`、`/strip/plugin/activate`、`/strip/plugin/deactivate`、`/strip/plugin/parameter`
  • Selected strip:GUI selection 与 local expansion(见 Selection Considerations in OSC);`/strip/select`、`/strip/expand`、`/select/expand`、`/select/*`(mute/solo/gain/fader 等)、`/select/group/*`(Ardour 6.0 的 group 操作)、`/select/spill`、`/select/vca`、`/select/vca/toggle`、`/select/send_page`、`/select/plugin_page`
  • Selected plugin:`/select/plugin`、`/select/plug_page`、`/select/plugin/activate`、`/select/plugin/parameter`(*paid* 是 controllable 参数列表中的 1-based 索引)
  • Menu actions:任意 GUI menu item 都可触发——`/access_action *Group/action*`,Ardour 5.9 起可 inline,可选 `*key_pressed*`;能用专门 OSC 命令时优先用专门命令

相关页面