Preface: Transform is a bit special
Many Midihub pipes manipulate the data a MIDI message carries with it.
Some MIDI message types use three blocks of data called “bytes”
These examples describe a Control Change (#3) and a Note On (“middle C”):
(most others use just one or two “bytes” – only Sysex uses more)
Several of Midihub’s pipes use just one of these pieces of data to change messages of a certain type:
(all these pipes “stay in their column”, as it were)
The Transform pipe can also use information a message carries in its bytes to create a different message…
…but, instead of scaling or shifting the numbers, it does this by swapping data around (or using stored values) to make new messages…
…often of a completely different type:
In addition, whereas other pipes can deal with just a few message types, Transform can handle nearly all of them (Sysex escapes its reach but not much else).
Before going into the details of this seriously powerful tool, let’s look at a few examples