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 enablemidi disableCheck status:
midi statusConfiguring 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 portsDevice profiles#
Set the device profile to enable proper LED feedback:
midi profile apc40mk2midi profile apcminimk2midi profile genericCreating 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>"| Type | Description | Number |
|---|---|---|
note | Note On message | MIDI note number (0โ127) |
cc | Control Change | CC number (0โ127) |
program | Program Change | Program 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 mappingsExample โ 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}"