During a recent hardware beta test, production documentation was not available to the testers, such as the details of the patches and multis/programs and associated settings. The beta testers could go individually through all patches and multis/programs to see what is of interest to test, but with a SysEx enabled synth, why not automate the process?
In this case, MDP2 provides the “macros” to send the SysEx queries to the synth, a midi monitor captures the output, which is processed in a Numbers spreadsheet to provide the desired output.
Previously, we used “snap to grid” to provide a control that can send a measure string of multiple command. Now we have the Ableton Link, which we are mis-using as a driver for a measured number of commands.
What we need to do is scan through a number of presets (patches, multis, etc) and extract specific data. We could use named ticks with Bank and PC to get to the specific memories needed, but this changed from a low of 35 to a high of 158. For flexibility (and since this is just data collection), we set it up for a maximum of 128 values at one time (one program bank). Bank (MSB, LSB) is preselected on the target hardware. If we need to scan over a Bank change, we stop, manually change the Bank, then restart.
We have different queries set up, depending on what parameters are being examined.
The Link drive goes via the pedalboard, so only the current shown query is operative. For queries with fewer values, we use the Link beat buttons directly to drive the query. One query with more values we use the beat buttons to drive a second knob, with more buttons.
Accuracy is more important than speed, most important is that the responses from the board are always in the same order, so no manual intervention is required in data analysis.
Finally, we have a stepper where the desired number of programs is entered.
The query responses are captured in a MIDI Monitor. (I like the one from Snoise, works well, and price is good.)
From the monitor, the data is pasted directly in a spreadsheet.
Each query gets two tabs in the spreadsheet. The first processes the data (pulling out patch or program name, looking up a specific control value text.). The second formats the data for display and printing. Another tab contains all the lookups, to translate a numerical value into the display value. For example, we know all the prior factory patch names, so we just look them up by Bank & PC.
In this board, some setting displays can depend on up to six different patch and program values. In this case, it is easier to repeat the program value query multiple times, so each patch data lookup has the same configuration.
Once set up, is easy to run multiple queries, reformat output, etc. Choose query, configure board, start Midi Monitor, start query, cut and paste data from Midi Monitor to spreadsheet input tab, see formatted results on output tab.
This shows the flexibility of MDP2.
I guess this could be deployed for this specific hardware if owners want to print a list of their custom patches and programs. (No need to print the factory patches and programs, since those are now fixed.). If there is interest, I may do this.