MIDI Program Change –> MIDI Notes –> MIDI Program Change ?
I am a user of Ableton Live. MIDI Program Change works fine "through" Ableton Live during recording, but is not retained during recording for playback. This is a well-known fact, but I have found what I believe to be an elegant little solution in the form of a Max Standalone with two virtual MIDI I/O port pairs.
MIDI Program Change comes in with the rest of the MIDI controller’s data, but is separated out and transformed into MIDI note data. Notes 0 – 15 represent the 16 MIDI Channels, and the velocity value represents the Program Change number.
Passed through Live, the MIDI notes can then be recorded, then upon playback (and record, for that matter) passed back through the standalone for de-coding back into MIDI Program Change commands to be forwarded on to the tone generators. Elegant ? Who uses notes in that range anyway, right ? :-)
Before I begin this project, I would like to know if this is already something out there, or not. If not, would anyone be interested in having the same tool for themselves, and care to work with me on it ? Collaboration is good.
Looking forward to some responses on this.
I’ve once made a similar patch and here is an adapted version which may be useful.
-- Pasted Max Patch, click to expand. --Copy all of the following text. Then, in Max, select New From Clipboard.----------begin_max5_patcher---------- 789.3oc2XtzbaBCDG+r8mhc3ZcxnG7rmRamom5wdqSlNTrRhZ.ACfaRal7cu BI7XmDiQdHrsSNXiQHY+e+sOzJ+vxEd+n7dQiG7d3avhEOrbwByPcCrn+9Ed Eo2mkm1XllmRbW4O9o2J6iZE22ZF9LftcL0lBoJWzZlOqevqJUsMx+H5FiRN mratkaZ2NYZ+nUosY2HUW+8ZQVqUbQL8Z.FO1bI47fU.U+Y3x9kX+VZ+ckvN eOoRuxsOUt1HRsvOiF3smjToElE38gZYZN7wx70dcO8wkK6da0zfx6lYnvRr 3fGzcgyl.UvCJEx0RstNHXnmBXHCCFZHuiHTt4hej4l8AydlNmgqs2Hx05Dt H6FHMOGtn55hABSNIZDOLM7svfPrLI4Ez3EgIdq18pKj4XWNHSQNdRplN.oi AvPSxlOYb7MHVHusRyB7isgTrwSyXIuoBIXQl3fvfoFSvhwiKaTUoY2NctvF kKaq7F5FXNRoDl++1xypxVAP.Jv.N3CAPHDAwPhlN.kBTl1VApOrquhYoFdO WSRr8+DM+0vY7Y.7YkEEBU6KH+WKgOo+UpKyyE0yZMKVD0hPCIiIGqlEEYD7 E4uDypwa2Hq21CSNpsyPz1+bcYw7a884P1tkiOt0Sw15QJ72FAXOF0HH.wlU z8.OTuJrWWmOKLZ7dUPbK4l6RqltcO9FxLhuwwO8MjiPDNs0xptMfwfPTa+8 A7ISnP7HTGbFJyg+ZcXZpsoCKlNdlClMqkdqXayYjoC.1n+2SDStSjCGe9p7 xTSDh8CG7nfugJwX4Cse20WgV9OA1XVuWtT87+ESiN6F+o.qobSc1Vcz+iA6 j5ZQSqTk1JKU6MG9SlyMx0qEp8SZzmanpTaM8R.t7fNuSQQTGTDEMEwcfQcm +AQHwc.R9nBotCxOJkX3FJ8LmxvXBQGmtyZ8YnGWRL77btDeyvESFMEMllRv 20wGSS++EMwvsXI0AOGGWLE4P.dLpJJzg52Q3V+12AIEhujHNHIb8aDG7a3F aOlaih6ttNlsgXMIhKc4NEJou4wk+EP.ZGmm -----------end_max5_patcher-----------
Wow ! That’s great, and a timesaver, of course. I thank you very much. I’ll give it a shot and build on it from there.
Thanks for the seed.
The problem I am running into with something similar is obtaining a program change value over 127… Any help? I’m using a CC to program change insert from max for live.
You can’t. The program change message only has 1 Data-Byte = 7bit(1st bit is always 0 for data-bytes) = 128 different programs you can adress. Not only in live, but in any midi-application.
Usually synths/sound-modules organize their programs in "banks" that can be switched via a control-change-message (bank select).
- This reply was modified 2 years by David.
Forums > MaxMSP