MIDI Designer Pro has been a go to app for many users who want or need to create bespoke interfaces for almost any MIDI purpose. It’s an app that continually gets improved on, so in some ways this update wasn’t a surprise. On the other hand, it’s a step forward that’s so big that I almost can’t believe it. Whilst it’s a big update, it’s probably going to be of most benefit to those users who are at the most advanced end of the spectrum. So what is it?

MIDI Designer Pro version 2.96 is now embedding the Stream Byter Plugin by Audeonic. This Plugin provides MIDI manipulation in two places: before MIDI Designer processes the MIDI, and before the MIDI produced by MIDI Designer gets sent to a Wi-Fi, Bluetooth, Virtual or Hardware target via CoreMIDI.

Stream Byter itself was initially released in May ’13 as a way to extend Audeonic’s MidiBridge 1.5 ‘out in the field’ for customers and has been continuously improved since then. The Stream Byter in Midi Designer is the ‘Stream Byter II’ version that exists in Audeonic’s MidiFire app (iOS/macOS).

What does Stream Byter do? It allows you to make custom MIDI processing modules that you design yourself using a concise programming language made up of rules. There are simple rules for matching and transforming MIDI events and more complex rules for writing modules that behave conditionally, set/examine variables, perform math/timing operations, and of course, generate MIDI messages themselves.

For example here is a very simple case: you are playing a keyboard and you decide that you want to turn a single knob (“reverb,” for instance). The higher (to the right) you go on the keyboard, the louder the reverb gets.

That’s a single line match/transform Stream Byter Input rule:

9X = BX 5B X2

The above rule can be summarized as follows: For every note event received, set the value of the ‘reverb’ controller number (on same channel as note) to the MIDI note number of the note.

Rules can be joined. Imagine you want to toggle the value of another knob from top to bottom every time you hit an A3 on the keyboard, but you don’t want the message to go out for 10 seconds? That’s another rule. Generally rules do one or more of these things, and often combine them:

  • decompose and recompose longer MIDI messages
  • filter MIDI messages
  • transform MIDI messages
  • produce more MIDI messages

The first case, decompose MIDI messages, will be useful for parsing incoming sysex dumps for hardware synths that produce parseable sysex dumps for patches.

Writing Stream Byter rules does require knowledge of the MIDI protocol and how to construct rules correctly. There is an introductory tutorial on the Audeonic site and the full Stream Byter manual is available there too. There is also a dedicated section to the Stream Byter on the Audeonic forum. Midi Designer customers are welcome to post questions or requirements there where the developer and other Stream Byter users will help out.

Stream Byter input and output rules are saved and shared with your layout. Any MIDI Designer Pro 2 user may open a layout with rules someone else has authored free of charge. There’s an in-app purchase to author or edit Stream Byter rules. This IAP will be available upon release of MIDI Designer Pro 2.96. It will be priced at $1.99 for the first three months, and then return to its normal price of $8.99.

In addition to the Stream Byter Plugin, Version 2.96 provides Slow Reset to Default. When a supercontrol button is set to “Reset to Default,” it can now also snap the subcontrol to its value over time. This gives you a slow reset and a precursor of what’s to come with presets.

MIDI Designer Pro 2 is available on the app store for $24.99, and the Stream Byter IAP will cost $1.99 for the next 3 months