I’ve been trying to help my keyboardist streamline his song setup during live performances. Currently, the Modx is functioning as a master keyboard sending note events through the midi out connector to another keyboard. All performance changes are currently being done manually on each device. For the Modx, these are being selected from a Live List. For the other keyboard, these are being cycled through using a control knob.
I have the ability to send program changes from OnSong to the keyboards independently using an Apple camera adapter to either USB or midi connectors. What I’d like to do is send program changes from OnSong to the Modx (ch1?) and then to the other keyboard (ch2?), while still maintaining the master keyboard function of the Modx out to the other keyboard. My understanding of this would be to configure the midi out connector on the Modx to include both midi thru (from OnSong) and midi out (note events from the Modx). I can use either the usb or midi in connector on the Modx but only have a midi connector on the other keyboard. Is the Modx midi out configurable to allow both midi thru and midi out simultaneously? This didn’t appear to be an option when looking at the flow diagram on the Modx. Or, do I need to find an ext device to split the program controls with one going to the Modx and the other to be combined with the Modx midi out and feeding the other keyboard?
Sorry for the long winded overview. I hope it is clear enough. I appreciate any feedback on how to proceed.
There are several ways to get the MIDI data you want to each device and still maintain the control you have working today outside of the "configuration" messages you presently do manually.
That said, I'll just offer one of the many ways. And not the most, IMO, straightforward way. However, something that seems to be more in the ballpark of what you're describing you want.
You must currently have your MODX keyboard in MIDI mode (as opposed to USB MIDI mode). This is where whatever notes you play will be sent out the 5-pin MIDI DIN round connector (MIDI OUT). And they make to that slave keyboard MIDI cabled to MODX.
You can leave that physical connection alone (as-is) and USB connect your device running OnSong. Port 1 MIDI messages to/from the device will target MODX's tone generator (and not the external slave) and Port 3 MIDI messages will target the slave keyboard connected to MODX's MIDI IN/OUT (maybe in, but certainly out) connectors.
You would place MODX in USB MIDI mode. Now you've "cut off" automatically sending MIDI data from MODX to the keyboard. Instead now MODX is sending that data to the connected device. You would then use software on the device to route incoming Port 1 MIDI data to Port 3 outgoing.
It's the software configuration that's the hard part.
Ports are a driver thing. Not the same as MIDI channels. Each port (1 and 3) is comprised of 16 channels but targets a different place. One is for addressing what's inside MODX and three is addressing what's outside connected to MODX's MIDI ports.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Thanks, I remember seeing 3 ports in OnSong when connecting to the Modx via usb. I will see my keyboardist over the weekend and use the usb connection to the Modx with the midi out going to the other keyboard. I just need to figure out the MSB, LSB, PC to get to the correct performances and programs on each keyboard. Since my keyboardist uses live set on the Modex, I understand that the MSB is 62 and the LSB is the live set page and the PC is the slot on the page.
Can’t wait to try this.
Thanks again
Don't forget Live Set Bank can NOT be changed via MIDI. And keep in mind the difference between MSB/LSB for Live Set vs. performance.
I just need to figure out the MSB, LSB, PC to get to the correct performances and programs on each keyboard.
May I add a couple of points that sometimes cause confusion?
1. Live Set Bank - you need to MANUALLY select the proper Live Set Bank at the start. It isn't possible to change the bank via MIDI so if you start on the wrong bank things won't work right.
2. The MSB/LSB/PC for a Live Set slot references the Page (1-16) and Slot (1-16) of the CURRENT Live Set Bank (see #1 above). That MSB/LSB combo has NOTHING to do with the MSB/LSB of whatever performance the slot references - they aren't related at all.
3. #2 above means that when you use Live Sets, and their MSB/LSB/PC, it doesn't matter where the performance itself is actually located so it could be in a library, the preset area or the user area.
4. #3 means you do NOT have to change your MSB/LSB/PC references if you want to change the version of a performance you are using. You just need to point the Live Set Slot to the right version. Then the Live Set MSB/LSB/PC you always use will still work. That is a lot easier than if your 'setup' process references performances directly - because then you have to keep changing, and testing, your setup code.
If you have a piece of software tasked to switch performances (and not non-Performance live set slots) then it would be better to go directly to the Performance since switching Performances using MSB/LSB/PC allows access to all Preset, User, and Library Performances in the entire keyboard. The limitation on Live Set addressing is not necessary to deal with - just don't use Live Set addressing and use direct Performance MSB/LSB/PC addressing instead.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
OP said their use case is to use Live Sets
Since my keyboardist uses live set on the Modex
I don't see any reason to change that to use performances directly or why it 'would be better' to do so.
Live Set Slots have access to 'all Preset, User, and Library' performances as well.
Naturally it all depends on the actual use case and the role each person has for the gig.
Let's assume that OP (Risg) is the one dealing with the task of coordinating ALL of the various components and that his 'keyboardist' is responsible' for the Modx itself.
1. OP is responsible for creating the Set List and sending change commands to the Modx
2. Keyboardist is responsible for mapping actual Modx 'performances' to the items on the Set List
Using Live Sets makes OPs job managing the Set List easier since he only has to store one set of MSB/LSB/PC values for each item on the Set List. Those values will map to the Page/Slot of the Live Set list. It doesn't matter what Modx Performance is actually used to fulfill that obligation or if it changes later - OPs work is done.
The keyboardist will use Risg's Set List to determine which Modx Performance (preset, user, library) should be used for each item. They will then create a Live Set Slot entry for each of those in the proper order.
The keyboardist is free to change the performance a slot uses and doing so won't impact the MSB/LSB/PC that Risg uses at all.
This makes it much easier for the keyboardist to make any last minute 'tweaks' or adjustments without impacting Risg or anyone else.
It is always nice to have options to choose from!
Direct is better because it has no caveats. Currently they use live set because it's easy to do manually. When you use software there's not a reason to force Live Set addressing unless you really have to support the "extended" features of Live Set that go beyond recalling a Performance (perf with song, audio, etc). But if it's just to recall a Performance I would discourage using Live Set addressing.
Due to bank addressing as you pointed out but also because it's an extra step. And also if you want to have your live set continue as a backup then you can't reorder it unless you keep coherency (matching) with the software. If you use Perf addressing then you don't have to add Live Set entries if you don't want that. And if you do want a backup using Live Set then it allows you to reorder the Live Set list without consequence.
The path of least resistance and least chance for gotchas is direct addressing.
As a bonus you can use the perf Info tab that tells you what the MSB LSB and Program Number is for each Perf (PC would be one less than the program number). So there's no doc lookup. The instrument tells you what to plug in.
You can use live set. It will work under certain constraints but the original use case is based off of the best tool for the job and the task changes when you're no longer manually fiddling with the interface.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Thanks for the advice. Re Live Sets, I’m dealing with a good player, but one with limited midi knowledge and a bit uncomfortable with change. I figured he has been using Live Sets for a while and don’t want to push him too far at once . I understand the limitation of dealing with addressing a location rather than an actual performance.
On the positive side, he is now asking more questions. One item that came up relates to the sustain pedal on the Modx. Both his keyboards have sustain pedals. He asked is there a way to prevent the Modx from sending the Modx sustain pedal events to the external device. In other words, he wants to continue to send notes but not the sustain pedal events. He doesn’t use parts in his performances to limit what and when midi is sent to the external device. There are three ways he uses his keys. He plays the Modx by itself (the modx still feeds the external keyboard but the volume on the external keyboard is down so it is not heard.) He plays the Modx and it feeds notes to the external keyboard (Here is where he wants to prevent the sustain pedal events from going to the external keyboard.) He plays the external keyboard by itself.
Re my background, I’m the bass player and sound guy. I have basic midi knowledge and have worked with simple keyboards through a DAW. I’m just starting to understand the sophistication of the Modx.
Are you using Zones? See the Part Settings->Zone Settings graphic on p.71 of the Reference doc.
If the 'Zone' switch is ON then on the Zone Transmit screen you can set the 'Sustain' to OFF. See the Part Settings->Zone Transmit graphic on p73. That screen has switches for all of the things you can control for the part.
He doesn’t use parts in his performances to limit what and when midi is sent to the external device.
I could be wrong but I believe he will need to do that for each relevant part that sends externally.
Naturally he should ALWAYS work with a copy of the performance and make a new version to avoid losing your good version. Then when you get a version that works the way you want just update the Live Set slot to use the new version instead of the old one.
Since you already know the correct MSB/LSB/PC for the Live Set slot you want to use you don't need to change that.
He plays the Modx by itself (the modx still feeds the external keyboard but the volume on the external keyboard is down so it is not heard.)
Question - do the parts that are sent to the other keyboard also make sound on the Modx? Or do they just make sound on the remote keyboard?
Look at the graphic on p.71 again. See that 'Int SW' is set to ON? That means that part will create sound on the Modx AND will be sent to the other keyboard. If 'Int SW' is set to OFF then the part will NOT sound on the Modx but will be sent to the other keyboard.
If, for example part 2 has the Int SW set to OFF that part is only sent to the other keyboard. So when 'He plays the Modx by itself' you could just use a 'scene switch' to Mute part 2 so it won't send anything.
See the graphic on p.57. Each part has a 'Mute' switch that can be saved in any scene.
If you mute the part you won't need to turn the volume of the external keyboard down when he solos on the Modx.
He could use 2 scenes - one with external-only parts MUTED and one with no parts muted. Then he could just put the 'scene 2' button when he plays solo and when he is done press the 'scene 1' button to unmute the external parts again.
I’m just starting to understand the sophistication of the Modx.
To be more specific, here's what I recommend:
1) Use Live Set to change to the Performance you want to enter into OnSong
2) Once the Performance is loaded up, follow the FAQ to gather the MSB LSB and PC
Source: https://faq.yamaha.com/usa/s/article/U0009187
Montage (AND MODX): Determining Performance MSB, LSB and Program Change Numbers
3) Press the Performance [Home] button
4) Press the [Enter] button
5) In the display, tap 'Property'
You will see:
6) Copy the MSB/LSB/PC and enter this into OnStage as your values to switch to this Performance. It is likely you will have to subtract one from the Program Change No. (so in the above, 39 would become 38). "Program Change No." is MIDI PC value plus 1.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Thanks so much for your help. Re your question, yes, right now all parts are “on” for the internal sound engine. If I understand correctly re the sustain, the fact that he does not use a separate part right now for the notes sent to the external keyboard, the sustain would need to be turned off in the zone transmit for each part in the performance. I’m guessing there is no way to do this with a CC message so, if he uses the same performance on another song where he would wants the sustain pedal to feed through, the best way is to simply create another performance that does not filter the sustain out and use that performance.
Again, thanks so much.
Yes - use a 'clone' performance for the sustain issue.
the sustain would need to be turned off in the zone transmit for each part in the performance.
Correct.
I’m guessing there is no way to do this with a CC message
Also correct. You can use SysEx but not CC. See the table on the right side of p.210 of the Data List doc if you REALLY want to see the bit-fiddling you need to do for that. You have to set/reset a particular bit so it gets really messy.
so, if he uses the same performance on another song where he would wants the sustain pedal to feed through, the best way is to simply create another performance that does not filter the sustain out and use that performance.
Yes - that is the simplest way. There aren't really any side effects to doing that. He doesn't even need to include that 'solo' clone perf in a live set entry if he is just going solo.
There are other ways but they entail more risk. He could just unplug the cable going to the other instrument and then plug it back in when he is done. Or he could change the 'MIDI IN/OUT' parameter from MIDI to USB (or vice versa) - see the graphic on p.191.
Neither of the last two is recommended since you generally want don't want to be changing things like cable connections and signal flow once you get them set up and tested.