MidiREX is a small but versatile MIDI loop sequencer created for live performance. It is designed to provide basic multi track recording and playback capabilities with minimal distraction to your inspiration.
MidiREX records MIDI events received on its MIDI IN (except note off velocity and system real time data) and stores them in non-volatile memory for later playback. The recorded events can include notes, controllers, pitch bend, after touch, program changes, and system exclusive data. (Note: the latter is not yet supported in version 0.94).
MidiREX can play up to 4 tracks simultaneously. Its memory capacity is approximately 9,000 notes, however various MIDI controllers like after touch, pitch bend, mod wheel, etc. will take up more memory, so the actual amount of note storage capacity will vary depending on how much these controllers are used.
Each set of 4 tracks is called a ‘part’. There can be up to 50 parts in MidiREX memory. These parts can be combined into lists of parts, which are called ‘songs’. There can be up to 50 songs, and each can contain a list of parts of up to 99 steps long.
Each track can have different length. The longest track in part defines the part length. When track is played to its end it loops back to the beginning and keeps playing. The track length is set when the track is recorded and can be changed at any time, even during play back. Changing track length does not add or delete recorded track MIDI events, it merely defines a point at which track is looped back.
Each track has its own MIDI channel assignment that could be set to MIDI channel (1-16) or to OMNI. Track events are stored in memory with the original MIDI channel they were received on and will be played back as is if the track’s MIDI channel is set to OMNI. However, if track’s MIDI channel is set to specific channel number, the track events will be played back on the selected MIDI channel, essentially overriding original MIDI channel on the fly.
To record a track it needs to be selected. Only one track can be selected at a time. MidiREX cannot record on more than one track.
Incoming MIDI events could be filtered and quantized. Both note position and note length quantization is supported.
When MidiREX is not running, MIDI events received on MIDI INPUT are sent to MIDI OUT on the selected track’s MIDI channel allowing you to monitor what you’re going to record. If MidiREX is running but selected track is empty or muted, the incoming MIDI events are still sent to MIDI OUT allowing you to rehearse or jam along with the previously recorded tracks playing. Note that you can hit RECORD at any time and record that wonderful phrase you just came up with without stopping the playback.
When MidiREX is running and selected track is not empty or muted, the incoming MIDI note events transpose notes in the part being played.
Parts are identified by a number (00-49) and 12 character part name. When running, MidiREX plays currently selected part endlessly until stopped.
Parts can be switched at any time, even during playback, and the switch moment could be quantized to the next beat, next bar or part end.
Songs are identified by a number (00-49) and 12 character song name. Each song can have up to 99 steps. Each step specifies number of the part to play, how many times to play this part, which tracks to mute and a note to transpose the part to.
When MidiREX is in Song mode, it will play currently selected song’s steps endlessly until stopped.
Song steps can be specified manually or recorded live using MidiREX buttons or MIDI keyboard connected to MIDI IN.
Memory capacity: 64K
Parts: 50, each has 4 tracks
Songs: 50, each has up to 99 steps
Tempo range: 25-250 BPM
Clock resolution: 96 PPQN
Clock source: internal or external
Quantization: note and note length, 64th to 2 bar
Controls: RUN, REC, SW1-5, Clickable Encoder
Display: 16×2 character LCD
LEDs: MIDI IN, MIDI OUT, TRK1-4, SONG MODE
MIDI Connectors: MIDI IN, MIDI OUT
Foot switch connector: 3.5mm stereo, normally open or closed, momentary
Battery: CR2032, good for 10+ years
Power supply: 9VDC, center positive, 200mA
MidiREX is built around technology developed by Mutable Instruments: most of its hardware components can be found in various MI’s projects (mostly Shruthi-1 and Ambika), while software implementation uses quite a lot of code from MIDIpal. Not to mention the breakthrough Avril programming framework that brought modern C++ programming (read: productivity and sanity) to Atmel MCU world. Without this MidiREX project would not be possible, so thank you, Olivier, for sharing your talent with all of us!