MIDI

Praxis supports both sending and receiving MIDI for transport control, song-based automation, Helix integration, and timed cues.

MIDI

Praxis has a complete MIDI workflow for both sending and receiving MIDI. You can control transport from a pedalboard, send automatic messages on song events, drive Helix Simple Pitch, and embed timed MIDI cues directly in lyrics tabs.

What MIDI Praxis Receives

In Settings > MIDI > Receive MIDI, Praxis listens for MIDI Control Change (CC) messages only. It does not respond to Note On/Off, Program Change, Pitch Bend, or other message types in the receive-mapping section.

Listen on Channel

  • Off: MIDI receive is disabled.
  • 1–16: receive mappings are active only on that channel.

If your controller sends on Channel 16, set Listen on Channel to 16 or mappings will not trigger.

Receive Mappings (Actions Praxis Can Trigger)

Each mapping assigns one CC number (0–127) or Disabled.

  • Previous Track
  • Skip Backwards
  • Play / Pause
  • Skip Forward
  • Next Track
  • Increase Font Size
  • Decrease Font Size
  • Toggle Repeat
  • Volume Up (1% step)
  • Set Volume (Value-Mapped) (0–127 mapped to 0–100%)
  • Reset Volume (to 100%)
  • Volume Down (1% step)
  • Increase Tempo (+0.01x)
  • Reset Tempo (1.00x)
  • Decrease Tempo (-0.01x)
  • Increase Gain (+1 dB, up to +12 dB)
  • Reset Gain (0 dB)
  • Decrease Gain (-1 dB, down to -12 dB)

Trigger Mode Per Mapping

Each mapping has a trigger mode:

  • Any: triggers on any received CC value (including 0).
  • Value > 0: triggers only when CC value is greater than 0.

This is useful for devices that send both press and release messages. If your switch sends value 127 on press and 0 on release, set mode to Value > 0 to avoid double-trigger behavior.

Learn Workflow

  • Click Learn on the action you want to map.
  • Praxis listens for up to 8 seconds for an incoming CC.
  • While learning, other Learn buttons are temporarily disabled.
  • When learned, Praxis fills the CC number automatically and exits learn mode.
  • If no CC arrives, Learn times out and no mapping is changed.

Learn is channel-aware and uses your current Listen on Channel setting.

What MIDI Praxis Sends

Praxis can send MIDI to all available output ports for automation and rig coordination.

Default Send Channel

Set a global default send channel in Settings > MIDI. Features that support “Default” channel will use this value.

Default Song MIDI

Default Song MIDI lets you define messages sent automatically on song events:

  • Load: when a song is loaded
  • Play: when playback starts
  • Stop: when playback stops

Each entry can be Program Change (PC) or Control Change (CC), with channel/number/value fields.

Important: if a song has embedded MIDI in its lyrics, that song uses embedded MIDI behavior and default song MIDI is not used for that case.

Embedded MIDI in Lyrics

Embedded MIDI is authored directly inside lyrics tabs and supports load/play/stop/timed triggers. This is ideal for song-specific automation.

  • [midi:PC10,CC69.0]
  • [midi@play:CC20.127]
  • [midi@stop:CC20.0]
  • [midi@1:23.45:CC69.0]

See Lyrics for full embedded MIDI syntax and examples.

Helix Simple Pitch Integration

Helix Simple Pitch mode can automatically set pitch-related parameters on song load using the song’s tuned value in the library.

  • Enable/disable Helix Simple Pitch in MIDI settings.
  • Choose send channel (or use Default send channel).
  • Configure CC targets for Bypass, Interval, and Cents.
  • Store each song's tuning correction in semitones in the song's tuned field.

This is designed for players who need automatic tuning offsets per song without manual patch edits.

Test MIDI

Use Test MIDI in Settings to send a single PC or CC message to all available output ports. This is the fastest way to confirm port visibility and basic signal flow before rehearsing.

Troubleshooting Checklist

  • Verify Listen on Channel matches your controller’s transmit channel.
  • Verify each mapping is set to a CC number (not Disabled).
  • If actions trigger twice, switch trigger mode to Value > 0.
  • Use Learn to confirm Praxis is receiving the CC you think it is.
  • Use Test MIDI to confirm Praxis can send to your device outputs.
  • If song-specific automation is expected, check whether embedded MIDI exists in the active lyrics tab.