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

Ardour/Using-control-surfaces/Generic-midi/Working-with-encoders

来自motewiki

Encoders(编码器)在 controller 上越来越常见。它们复用 CC 的 MIDI event,但没有标准方式表示自身信息。本页讨论发送 direction + offset(增量)的 encoder,而不是发送绝对值的(后者用 `ctl` 即可)。

7-bit encoder 支持四种类型(选错会导致正向或反向一侧行为异常,无法自动检测,需查设备规格或试错):

  • `enc-r`:Relative Signed Bit——最高位为 sign(正向),低 6 bit 是 offset(`0svvvvvv`)
  • `enc-l`:Relative Signed Bit 2"——最高位为 0 时正向(方向与 enc-r 相反);Mackie Control Protocol 用这种
  • `enc-2`:Relative 2s Complement——正 offset 1–64,负 offset 用 2's complement 编码(signed 7-bit int)
  • `enc-b`:Relative Binary Offset——正 offset = offset+64,负 = 64-offset;64 为零

14-bit encoder:

  • `rpn-delta`:值为 signed 14-bit,加到当前值上
  • `nrpn-delta`:同上(NRPN 版本)
  • 许多 controller 有多种 encoder 编码可切换,请以设备 manual 为准

相关页面