Skip to content

idea - MOD KEY Keys2CCs Mode #45

@jdiercks

Description

@jdiercks

Any thoughts/suggestions on this?

SETUP CTR > MOD KEY: KCC (Keys2CCs mode)

  • if MOD key is pressed with no other keys held, send LEVEL CC = 127
  • While MOD key is held
    • if another key is pressed, send (LEVEL CC + offset) = 127
    • if another key is released, send (LEVEL CC + offset) = 0
  • if MOD key is released with no other keys held, send LEVEL CC = 0

notes

  • to use MIDI Learn, first hold MOD, then enable MIDI Learn, then press key
  • key sequence is significant; for example, if LEVEL CC = 102 (+=press,-=release):
    • +MOD+RH1-RH1-MOD = CC102=127,CC104=127,CC104=0,CC102=0
    • +MOD+RH1-MOD-RH1 = CC102=127,CC104=127
    • +RH1+MOD-RH1-MOD = CC104=0,CC102=0
    • +RH1+MOD-MOD-RH1 = (nothing)
  • setting LEVEL CC to 102 uses a relatively “safe” range of non-reserved CCs (102-117)

CC offset map

Key CC offset Key CC offset
RHs 1 LHb 8
RH1 2 LH1 9
RH2 3 LH2 10
RH3 4 LH3 11
RHp1 5 LHp1 12
RHp2 6 LHp2 13
RHp3 7 LHp3 14
specialKey 15

benefits

  • enables up to 16 unique CC trigger messages with quick one-shot fingerings
  • friendly to synths/DAWs with MIDI Learn functions
  • possible to send messages as momentary on/off or one-shots for toggles
  • infinite combinations of complex multi-key sequences possible with host scripting
  • receiving host can detect relevant press and release events
  • could be combined with PbUp/Dn or other sensors to intuitively adjust values
  • could be useful for testing/troubleshooting hardware
  • does not require modifying NVRAM data structure for storing settings

use case examples/ideas

  • patch changes - faster than “fastpatch” :-)
  • control effects like reverb & delay
  • toggle internal patch settings/features
  • host transport start/stop / looper controls
  • quick host-side transpose (octave/semitone)
  • host-based harmonizer/rotator
  • “drum machine” mode
  • sheet music / chord chart page-turner
  • lighting cue triggers

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions