Skip to content

MIDI

MIDI stands for Musical Instrument Digital Interface. It allows devices such as computers, synthesizers, effects and drum machines to exchange performance and control messages.

The P-1 can play multichannel Type 0 MIDI files alongside audio. MIDI carries instructions rather than sound, so connected equipment can be configured to respond only to the channels intended for it.

The Idoru software recognises MIDI files with the .mid extension. If your file uses .midi, rename the extension to .mid before importing it.

Ableton Live exports MIDI with some limitations, including single-channel files and a fixed 120 BPM export in some workflows. Use a tool such as Reaper to combine individual clips, retain multiple channels and set the intended tempo before exporting a Type 0 MIDI file.

Changing the song BPM on the P-1 does not change MIDI-file playback speed. A MIDI file contains its own tempo data, which the P-1 follows during playback. The song BPM is used before playback for the visual metronome.

MIDI clock keeps connected devices in time. With Send MIDI Clock enabled, the P-1 sends a Start message when playback begins and then sends clock messages at regular intervals. Pause or stop sends Stop, and resuming a paused song sends Continue.

  • For an audio-only song, firmware v3.27 generates MIDI clock from the song BPM.
  • For a song containing a MIDI file, the P-1 follows the tempo embedded in that file during playback.
  • Enable or disable outgoing clock under Settings → MIDI Settings → Send MIDI Clock.
  • Enable incoming Start, Continue and Stop control under Settings → MIDI Settings → Receive MIDI Clock.

Connect your controller or other MIDI source to the P-1 MIDI input. The remote-control channel is configurable under Settings → MIDI Settings → MIDI In Channel and defaults to channel 15. The controls below are normal incoming MIDI controls; internal P1 Sync messages are separate.

Setlist and song positions are numbered from 1. Firmware v3.27 supports setlist positions 1–10 and song positions 1–100; invalid combinations, including 0, are ignored. MIDI octave labels vary between controllers, so use the note number as the definitive reference.

MIDI message Value Action
CC 0 – Bank Select Setlist position Arms a setlist for the next CC 19, CC 20 or Program Change message. Nothing changes immediately.
CC 18 – Setlist Select Setlist position Immediately selects the setlist and defaults to song 1 without playing.
CC 19 – Select Song Without Playing Song position Selects a song in the current or armed setlist without starting playback.
CC 20 – Select and Play Song Song position Selects a song in the current or armed setlist and starts playback.
Program Change Song position Selects a song in the current or armed setlist and starts playback.
CC 21 – Previous Song 127 Moves the browse selection to the previous song.
CC 22 – Next Song 127 Moves the browse selection to the next song.

To select setlist 2, song 10 with one controller button:

  • Send CC 0 value 2, followed by CC 19 value 10 to select without playing.
  • Send CC 0 value 2, followed by CC 20 value 10 to select and play.
  • Send CC 0 value 2, followed by Program Change 10 to select and play using Program Change.

For cross-setlist selection without playing, CC 0 followed by CC 19 is recommended. CC 18 followed by CC 19 can be configured, but CC 18 immediately selects song 1 before CC 19 arrives. This can be less reliable while a setlist is loading or playback is transitioning.

CC 23–26 are triggered using value 127.

MIDI message Action
CC 23 – Play / Pause Starts playback when idle, pauses when playing, or resumes when paused.
CC 24 – Stop Stops playback and returns the player to idle.
CC 25 – Forward Scrub Toggles forward scrubbing on or off; send CC 25 again to end.
CC 26 – Backward Scrub Toggles backward scrubbing on or off; send CC 26 again to end.
CC 28 – Virtual PLAY footswitch Values 1–127 press the switch and value 0 releases it. Short and long presses follow the selected Control System.

Most actions occur on Note On. Note Off is required to end note-controlled scrubbing and to release the virtual PLAY footswitch.

Note number Common label Note On action Note Off action
24 C1 Previous song Ignored
26 D1 Next song Ignored
28 E1 Play, pause or resume Ignored
29 F1 Stop Ignored
31 G1 Previous setlist, wrapping from first to last Ignored
33 A1 Next setlist, wrapping from last to first Ignored
35 B1 Exit: returns the selection to the currently playing song, or song 1 when idle Ignored
36 C2 Begins forward scrubbing Ends forward scrubbing
37 C♯2 Begins backward scrubbing Ends backward scrubbing
38 D2 Presses the virtual PLAY footswitch Releases the virtual PLAY footswitch

For momentary scrubbing, configure the controller to send Note On 36 or 37 when pressed and a genuine Note Off message (0x80) for the same note when released. Some controllers send Note On with velocity 0 instead; the current P-1 parser does not interpret that as the scrub-release command. While scrubbing, most other incoming MIDI commands are ignored until scrubbing ends.

MIDI message Controlled level
CC 9 Headphone output
CC 85 Output 1
CC 86 Output 2
CC 87 Output 3
CC 88 Output 4
CC 89 Output 5
CC 90 Output 6

Values 0–100 set the corresponding level. Values 101–127 are limited to 100. Linked stereo outputs move together. MIDI level changes affect the current session only and are not saved to the song or setlist.

These messages only have an effect when Receive MIDI Clock is enabled.

MIDI message Hex value Action
Start FA Starts playback when idle. When paused, restarts the browsed song from the beginning.
Continue FB Resumes when paused or starts playback when idle.
Stop FC Pauses playback when currently playing.

Incoming MIDI Clock timing messages (F8) and Song Position Pointer (F2) are currently ignored.

You can use any MIDI controller, app, instrument or sequencer that can send the messages above.

P1 Sync links two P-1 units so one can mirror the other. Its internal traffic uses MIDI channel 16. When P1 Sync is set to Follower, channel 16 is reserved and cannot also be used for normal MIDI remote control. See P1 Sync for setup and operating details.

Sending MIDI System Exclusive messages from the P-1 is not currently supported.