romatona Posted July 31, 2022 Share Posted July 31, 2022 Hi - I'm bringing in midi trigger info on 8 different midi channels from an external sequencer into a software instrument midi track in logic pro x and want to assign each midi channel to a different note on the selected software instrument (especially the drum kits like ultrabeat and dmd). Anyone know the the best way of doing this? Thanks! Quote Link to comment Share on other sites More sharing options...
Solution polanoid Posted July 31, 2022 Solution Share Posted July 31, 2022 (edited) 44 minutes ago, romatona said: Hi - I'm bringing in midi trigger info on 8 different midi channels from an external sequencer into a software instrument midi track in logic pro x and want to assign each midi channel to a different note on the selected software instrument (especially the drum kits like ultrabeat and dmd). Anyone know the the best way of doing this? Thanks! Do your MIDI triggers all send the same note pitch? If they don't (or if you can configure them not to), it is probably easier to use the note pitch instead of the note channel for instrument assignment. If you don't want to dive into MIDI Scripter programming or the MIDI Environment, at least for Ultrabeat and Drum Kit Designer AFAIK this is the only way. For DMD, if you are on Logic 10.7.x already, you can set the MIDI input port for the DMD Track Stack's sub tracks. Or create a Summing Track stack with 8 instances of e.g. Ultrabeat and use each instance to just play the notes generated by one of your MIDI triggers, and set each Ultrabeat track's MIDI input channel accordingly (possible in 10.7.x only as well). Edited July 31, 2022 by polanoid 1 Quote Link to comment Share on other sites More sharing options...
polanoid Posted July 31, 2022 Share Posted July 31, 2022 (edited) To clean this up a bit, here's the 5 approaches that come to my mind in a list: 1) Don't use the MIDI channel for separation, use the MIDI note pitch 2) Write a MIDI Script that only events from a certain channel pass through 3) Do something similar in the MIDI Environment (haven't thought of how exactly this would be done, but it would certainly involve one or more Transformers) 4) Upgrade to 10.7.4 and use DMD and the MIDI Input Port of the DMD sub tracks 5) Upgrade to 10.7.4 and use a dedicated track in a summing track stack for each of your MIDI triggers, set their MIDI input port appropriately Edited July 31, 2022 by polanoid 2 Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted August 1, 2022 Share Posted August 1, 2022 (edited) Here you go: function HandleMIDI(event) { if(event instanceof Note) { let p = GuiParameters.get(event.channel); if(p>0) event.pitch = p-1; } event.send(); } /******************************************** * Setup the GUI ********************************************/ var allPitches = ["(disabled)"]; for(let pitch=0; pitch<256; pitch++) { allPitches.push(MIDI.noteName(pitch)); } var PluginParameters = []; PluginParameters.push({ type: "text", name: "Channel to Pitch Map" }); for(let chan=1; chan<=16; chan++) { PluginParameters.push({ type: "menu", name: "Channel " + chan, valueStrings: allPitches, defaultValue: 0 }); } var GuiParameters = { data: [], set: function(id, val) { this.data[id] = val; }, get: function(id) { if(this.data[id] == undefined) { this.data[id] = GetParameter(id); } return this.data[id]; } }; function ParameterChanged(id, val) { GuiParameters.set(id, val); } Edited August 1, 2022 by Dewdman42 1 1 Quote Link to comment Share on other sites More sharing options...
romatona Posted August 2, 2022 Author Share Posted August 2, 2022 Hi - thanks so much for these suggestions which I've been working through and I've worked out how to adjust the note pitch rather than relying on the default channel separation which is working a treat. So useful to know the other options too which I'm sure will come in handy another time. Thanks again! 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.