Skip to content

idea - MOD KEY Keys2CCs Mode #45

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

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions