Hello!
I need a little help ..
I have a midi keyboard and I want to use it with montage.
But I thought of using it differently.
I am able to trigger CC commands and convert them as needed via midi app on the ipad.
I've already done this with the scene buttons converting the use of them to turn on / off the kdb ctrl of the parts of a performance.
What I thought to do was this:
when a CC "X" command is triggered this signal will be converted to MSB / LSB / PC referring to the sound I am looking for.
I want this command to be received in part 09 of the performance, because I never use this part to not lose the SSS function.
And that's where the problem is .. Since part 09 is always empty, it's no use sending this MSB / LSB / PC command.
What I would like to know is what information I should send to the mount to enable part 9 via an external controller.
With this I will configure the buttons of the external controller to trigger different sounds according to my need regardless of the sounds loaded in any performance.
Do you understand my intention?
Examples:
Button External Keyboard via Midi Channel 09 - CC: 61 => convert CC via Ipad for MSB / LSB / PC => 63/0/006 = Piano
Button External Keyboard via Midi Channel 09 - CC: 62 => convert CC via Ipad for MSB / LSB / PC => 63/6/044 = Rhodes
Button External Keyboard via Midi Channel 09 - CC: 62 => convert CC via Ipad for MSB / LSB / PC => 63/32/045 = EP
.....
I tell you one more time with your help.
Thank you!
You cannot turn On a Part with a “channel message”. You must address the “system” (the instrument as a whole) tell it to activate Part x.
If a Part already exists you can change that Part with a channel message.
Control Change messages are Channel messages.
Bank Select/PgmChange messages are Channel messages.
You need to send a Parameter Change message to tell the MONTAGE to set the Part Switch = On for one of its sixteen Parts (00-0F hex)
The MIDI command to activate a MONTAGE Part Switch is
F0 43 10 7F 1C 02 31 0p 16 01 F7
where ‘p’ = the Part (0-F)
Part 9 would be ‘8’
F0 43 10 7F 1C 02 31 08 16 01 F7
This will place the “ConcertGrand Piano” in slot 9
Now that slot 9 is occupied you can use (channel messages) Bank Select/PgmChange to select a sound.
Wow!
This worked perfectly!
A doubt..
In which part of this SysEx command is the MSB / LSB / PC information?
I ask because I think it will be much more practical for me to configure a single message since it is possible to load with the piano, I suppose I can carry any sound, right?
And thank you! As always helping a lot !!
In which part of this SysEx command is the MSB / LSB / PC information?
It is not included in the message. That is the default first sound. As explained earlier Bank Select/PgmChange are Channel messages.
F0 — Start of System Exclusive
43 — Yamaha (manufacturer ID)
10 — Parameter Change message for Device 1
7F 1C 02 — MONTAGE (product ID)
31 0p 16 — High, Mid and Low address for “Part Switch” parameter
01 — On (Data byte)
F7 — End of System Exclusive
No problems Bad Mister!
Sorted out!
I converted the CC into two commands and the second one containing the sound data has a delay of 1second, working perfectly here.
Anyway thanks again !! 😀
You can also create a user Performance that has a "template" for changing PARTs. Something that has anything in PART 9. You can set the note range to be outside of your external controller so it will not sound until after you load the new PART - which should update the note range to something valid.
This would remove the need to send the sysex.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
Hi Jason!
Sorry, but I could not understand your suggestion. Please, detail better.
The programtion I'm using regardless of the perfomance I select I'll have the option to load those sounds in the external controller in part 09, you're telling me to create a performance model that already contains something in part 09, but and the performances I already have ready? And the SSS?
The way I'm doing, I do not have to worry about it, and the idea of the external controller is to have easy access to the most common tones, such as piano, ep, strings, organ.
But I am clear open to suggestions! Thank you!!;)
Random access to any programs would dictate carving out PART 9 first with SysEx.
If you have a set of Performance "starting points" that you want to pick-and-choose different PART 9's, then the suggestion was add a "dummy" PART 9 to these Performances (pre-program something in PART 9) to alleviate the need to use SysEx. If this doesn't work for you, then it doesn't. The idea is that if you knew what PARTs 1-8 should be and just wanted to swap out PART 9 - then you could pre-program this without needing SysEx. If you want any random PART 1-9 starting point - then it would be unreasonable to create around 3,000 performances to duplicate the presets with PART 9 (dummy) added. This is not the suggestion.
Some (not all) people generally use around 20 Performances. If this was the case, then you could add a dummy PART 9 to these to allow you to MSB+LSB+PC swap out PART9 without the need for SysEx. Certainly if you do this and these Performances do not already have anything in slots 9-16, then this will affect SSS.
Part 9 will defeat SSS. At least for coming out of this performance. I suppose if you started with a PART1-8 Performance, switched to a PART1-8 only performance - then SSS would be valid. Then adding PART9 (Sysex) would mean that you could not SSS out of this Performance. So pre-loading PART 9 may have a detrimental effect on SSS if you rely on SSS to work when entering this PART-9-to-be-later-added Performance.
The general notion here is that if someone really didn't to use Sysex (for whatever reason - limitations in master controller as one possibility) - then you could program around this by having the target (2nd) Performance pre-loaded with a dummy PART 9. Then use bank switching to pick any preset/user/library PART into PART9.
Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R
I understood Jason.
But in my case I use several performances in a show. The term "LiveSet" is meant literally to min, work with several Gigs, each with a musical genre the result of that for me are many and many performances;)
I have perfomances that use up to 8 parts. I distribute the parts with the sounds corresponding to the parts of a song (Intro, Verse, Chorus, Bridge, etc ...) and alternate those tones by converting the scene buttons to on/off kbd ctrl, so I have transitions between those sounds without no cut in sound. This is fundamental to me since the tones have feedback effects and use mute/unmute as the scene buttons work without any conversion would result in dry cuts in the sound interoperating including the feedback of the effects.
I have some performances that could even leave the part 9 preconfigured, but since I will have to send a command to select the sound I want in the external controller, for me it makes no difference to send 2 and to be able to load that sound in the external controller in any performance.
I understand that, in doing so, I will lose the SSS function and I will already prepare my setlist, predicting when it will be important to have this function and create a performance already solved even with the controller.
The great truth is that with what we have features, both in the Montae and complementary devices (computers, ipad ...) we can do anything, just know what you want and adjust the equipment to get the expected result.
I would like to once again tell friends the experiment of using Montage together with an Ipad. I have a lot of fun with the results obtained with this combination, for example: when I open a score corresponding to a song in the SetlistMaker app on the ipad, I at the same time I load the score, the corresponding performance for this song is loaded in the Montage, the timbre of my novation ultranova is also loaded and now I have the condition to load a timbre in the external controller, besides I have the buttons of scenes converted in kdb ctrl on/off by the app MidiFire or MidiFlow. All this with a single command.
This is amazing to me! But thank you very much anyway for the suggestion!;)