MIDI Tape Recorder

Categories: Software Prototypes/Non-Commercial Products

Submitted by:Geert Bevin

24 May 2023

Elevator Pitch

MIDI Tape Recorder

Perfectly and effortlessly record and play expressive MIDI

Product Description

MIDI Tape Recorder

MIDI Tape Recorder is an open source Audio Unit v3 plugin with a radically different approach towards MIDI recording. MIDI messages are recorded and played back with the same accuracy and precision as audio recordings. Most modern DAWs, even at their highest resolution, still change the timing of MIDI messages to accommodate for their editing features. These changes impact the playback of your performance as MIDI messages get reordered and delayed, causing changes in how they influence sound, sometimes in very significant ways. MIDI Tape Recorder records your performance exactly as you play it, just like an audio recorder, accurately reproducing every nuance of your performance. MIDI Tape Recorder purposefully has no MIDI note editing, no quantization, no individual CC tweaking, nothing that you wouldn't do with audio. Instead, very expressive and ultra-dense MIDI streams are perfectly stored and reproduced. MIDI Tape Recorder excels at capturing and playing back expressive performances with MPE controllers and MPE MIDI plugins. The controls are purposefully simple and intuitive, similar to a traditional four-track audio recorder, making it fun to record, play back and loop your MIDI performance. Even when recording non-MPE MIDI, MIDI Tape Recorder makes it easy to stay in the flow and be creative without being interrupted by the technical nature of most DAWs.

* Four independent tracks for recording MIDI channel voice messages
* Sample accurate MIDI recording and playback
* Real-time display of active recorded notes and other received messages
* MPE support
* Multi-level undo and redo
* Overdub recording
* Punch in and punch out recording for automated regional overdubbing
* Automated storage and recall of all recordings inside the AUv3 host project
* MIDI file import and export for the project or each individual track
* Repeated playback with start and stop locators
* AUv3 parameters for all controls
* Snap to beat option for positioning playhead and start/stop locators
* Detection of MPE configuration message (MCM) reception for each track
* Envoy of MCM at start of play or when pressing the track's MPE button
* Host transport and host tempo sync * Clear all recordings or clear a single track
* Crop session to new duration
* Fully resizable UI
* Activity indicators for MIDI input and output on each track
* Optional tool tips for every operation
* Optional per-track record enable, input monitoring, and mute
* Four virtual MIDI cable inputs if the AUv3 host supports it
* Support for AUv3 user presets if the host supports it
* Optional routing of first virtual MIDI cable to all tracks
* Fully open-sourced under Creative Commons Attribution 4.0 International, an approved Free Culture License

How It's Innovative

As opposed to quantizing MIDI message to an internal high resolution grid, MIDI Tape Recorder captures floating point timestamps for each message, which in AUv3 are at audio sample resolution. These timestamps are preserved throughout and no messages are ever rearranged. This allows MIDI Tape Recorder to perfectly record and reproduce expressive MPE performances where the order of dense MIDI messages plays a critical role in capturing the performance. Additionally, the simple 4-track inspired UI and UX with overdub and punch in/out makes recording MIDI just as convenient as recording audio with a tape recorder. No channels need to be configured, CC message lanes enables, duplicate message pruning disabled, and so on. A new visual representation was designed for MIDI Tape Recorder to provide musicians information about the density and phrasing of their performance. This makes it visually very easy to recognize parts and differentiate notes from controllers, without using a piano roll editor.

See MIDI Innovation In Action

Most Inspiring Use Cases

Using several Animoog Z instances being played live while perfectly recording the MPE performance. Then later tweaking the patches of each Animoog Z instance organically with the recorded MIDI performance data playing back. All done fluently without being interrupted by technical concerns.

Expansion Plans

I'm considering making a standalone version of MIDI Tape Recorder that doesn't require an AUv3 host, but that rather hosts plugins itself or can be used purely with MIDI.

I'm also planning to add support for the MIDI 2.0 protocol.


MIDI Tape Recorder is free and open-source under the Creative Commons Attribution 4.0 International License. https://github.com/gbevin/MIDITapeRecorder