Transpose Midi


I am working on a huge Piano Patch with 96 single samples.
is there an easy way to transpose the Midi-Notes from the built in keyboard over several ocataves?


After [r notes] you can unpack the note / velocity pair and then add some transposition amount to the note number, then pack it again:

[r notes]
[+ 12] <-- transpose 1 octave

But this will transpose permanently, which is maybe not what you want? you could do something more like filter the last two notes of the keyboard and use them to transpose the other keys up / down…

Thank you very much,

what would be the best place in the (mother-patch), if I need an global offset? the example I posted above does not really fit to the use-case, because it shows only one “voice”.

If you really need a global offset, you could modify the mother.pd patch. The operating system looks for mother.pd in 3 places: default (/home/music/fw_dir/mother.pd), /sdcard or usbdrive/System/mother.pd, and inside your patch folder. The one inside your patch folder gets priority, followed by the one in mother.pd, and default one is used if none of those are found. So if you want to override for all patches, put a copy of mother.pd inside /sdcard/System folder. (of course it won’t work for any patches that have their own version, but is best you can do without modifying the default one)

1 Like

Ok, now I got it. Thanks

Ah, that could be super helpful for me. I’m trying to figure out how to modify midi note #'s and send them out of the organelle. A simplistic example would be to play a scale on an external keyboard and then be able to use the Organelle keyboard to change the root of the scale and send that to the Midi out to a diff module. (I want to do more than that but that’s kind of the hello world version)

btw another option for stuff like this is just to disable the default MIDI handling in mother.pd. This is probably the way to go, then your patch can do whatever it likes with the normal Pd MIDI objects and you don’t have to change mother.pd. You can stop mother.pd from sending any MIDI by putting this in your patch:

[s midiOutGate]

You can also send a 0 to midiInGate to stop mother.pd from doing anything with MIDI input.

1 Like