Skip to main content

MIDI

phix supports MIDI input for hardware controller integration. You can map MIDI messages (notes, control changes, program changes) to any phix command.

Supported devices#

phix has built-in support for the following devices, with optimized LED feedback:

  • Akai APC40 mkII โ€” full host LED control (Mode 2)
  • Akai APC Mini mkII โ€” RGB pads with SysEx custom colors
  • Generic MIDI controllers โ€” note on/off, control change, program change

Enabling MIDI#

midi enable
midi disable

Check status:

midi status

Configuring the MIDI port#

Set the input port (leave blank for auto-detect):

midi port input "APC40 mkII"midi port output "APC40 mkII"

List available MIDI ports:

midi list ports

Device profiles#

Set the device profile to enable proper LED feedback:

midi profile apc40mk2midi profile apcminimk2midi profile generic

Creating MIDI mappings#

Map a MIDI message to a phix command:

midi map note 0 48 "go 1"midi map cc 0 7 "master 0 value {value}"midi map program 0 1 "group 1"

Syntax:

midi map <type> <channel> <number> "<command>"
TypeDescriptionNumber
noteNote On messageMIDI note number (0โ€“127)
ccControl ChangeCC number (0โ€“127)
programProgram ChangeProgram number (0โ€“127)

Value substitution:

Use {value} in the command to pass the MIDI value (0โ€“127 normalized to 0.0โ€“1.0):

midi map cc 0 7 "master 0 value {value}"

Listing and removing mappings#

list midi            -- show all mappingsmidi unmap note 0 48 -- remove a specific mappingmidi clear           -- remove all mappings

Example โ€” APC40 mkII setup#

midi enablemidi port input "Akai APC40 MkII"midi port output "Akai APC40 MkII"midi profile apc40mk2
-- Map launch buttons to executorsmidi map note 0 0 "go 1"midi map note 0 1 "go 2"midi map note 0 2 "go 3"
-- Map faders to mastersmidi map cc 0 48 "master 0 value {value}"midi map cc 0 49 "master 1 value {value}"