Multis - real-time part editing

= = Mutli - real time editing of parts ==

Introduction
Recent posts on Ion, Micron, Miniak (IMM) yahoo groups have centred around whether it is possible to create a multi, then "edit" the individual part parameters "on the fly". Sure, we know from reading the manual you can assign 5 dynamic controls [X, Y, Z, M1, M2] to individual parts, but how about altering the wave shape, FM amount, Drive levels etc. Is it possible to control all parameters per midi channel?

The aim of this wiki topic is to collate the individual findings gleened from IMM messages into a collaborative "how to". Where possible, I try to give credit to those folks who have helped piece together this "how to". And naturally, please edit this topic to correct / refine.

Prior Art
Recent message (#22701) initiated topic "edit programs while in setup mode? ".&nbsp Primary contributors are zakarydoo, moogmodular, shooking, iman_jl

And a plethora of other topics regarding NRPNs, software editors, control surfaces.

Aim
To create a Multi (collection of parts on independent midi channels) and control their parameters on independent channels. Recall, a Multi is a collection of individual parts. From now on, let's assume you are not using the panel knobs on your an Ion - mostly because new owners probably have a Micron or a Miniak. Instead, let us assume instead you are using either a software editor (hypersynth, one you wrote yourself) or a hardware control surface (Behringer BCR2000, BCF2000, other).

Further let's assume you have somehow found all the undocumented NRPNs [see forum and Common_FAQ - MIDI implementation -- NOTE Ion starts at 0x0, Micron and Miniak are identical but if a Y or Z control sends the NRPN, you have to add 0x2 and 0x4 to the NPRN MSB (the X is unchanged).] and programmed your surface to send the required NRPNs v parameter, or coded your software to achieve this.

The aim therefore is to be in Multi X, with say 4 parts : MultiX[{Part A, ch1}, {Part B, ch2}, {Part C, ch 3}, {Part D, ch4}] and send, say, Osc1 shape change down Ch1, Transpose Osc2 down Ch2 with Part A, B reacting, other parts remaining constant.

Algorithm v 1.0

Thanks to iman_jl for spotting the primary trick, and moogmodular for confirming on his Ion (via hypersynth) for teasing out the primary details.
 * 1) Set up brand new multi from scratch
 * 2) Be sure to carefully assign the voices you want, panning etc
 * 3) Note the "beginning midi channel", and ensure you have multi channel midi and ability to accept part change
 * 4) Using your software control, or [to be confirmed] control surface
 * 5) Tweak params on beginning midi channel (without loss of generality let's assume ch1)
 * 6) IF you do not hear any changes ...
 * 7) Edit the multi (from synth front panel), part A and add knob setting (ie ensure they are not OFF).
 * 8) If this still doesnt work, stick a midi sniffer (like Midi-Ox) and examine what is being sent between your controller and your synth
 * 9) You may need to use a midi-yoke trick for this
 * 10) out -> midi-yoke 1 from control
 * 11) midi-ox "in" from midi-yoke in, examine midi
 * 12) map midi-yoke in to midi out
 * 13) midi out to synth midi in.
 * 14) IF you hear changes,
 * 15) Change the midi channel from your surface, and influence other params on the remaining parts
 * 16) IMPORTANT ... you need to ensure knob [part N] settings are enabled!!
 * 17) Enjoy!
 * 18) Notice these dynamic changes are not persisted.
 * 19) Adding a new part seems to "revert to unsaved". This could be a clue to the mechanism that is being exploited?
 * 20) Sending sysex bundle confirms changes were not "saved".
 * 21) Since there is an ability in Part editing to "revert/commit" it is speculated that perhaps sending that control message (if possible) per part/channel might allow these dynamic changes to be captured into the individual parts.

Summary
An exploit has been found to allow independent real-time control of individual parts of a Multi from a software editor. It is yet to be confirmed if this can be achieved with hardware [EDIT and change this when we know for sure]. The changes are dynamic, and unpersisted, so consider this a "performance" enhancement.

It is mused that a DAW suite might be able to record these performance controls and apply them [Cubase can do this for my control surface on other synths].

Thanks

To everyone on this forum who helps to reverse engineer the closed Alesis/Akai synths.

To everyone on this forum who is benevolent to share their experience.

To everyone on this forum who simply uses the knowledge to get enjoyment in life!!

And to Dale for "keeping the forum/wiki clean".

Regards

Steve H

Addendum: 2019/June/25th

I was able to use a BCR2000 syx for the Micron mapped to channel one, to edit individual setup parts on my Alesis Micron, once the knob setting above was set. Then using the RecM MIDI Thru setting on my Yamaha RM1x (I believe the QY70 has similar) I was able to remap on the fly to channels two, three and so forth.