See below for the solution to Changing the Active "Live Set" Bank using a SysEx message...
Firstly for context if anyone finds it intriguing: I'm still an avid user of the original Yamaha WX-5 Wind Synth Controller and desperately wishing Yamaha would release a new version some day soon - the new YDS-120 and 150 models are practice controllers for beginners and do not have lip control as the older professional WX series... a mandatory requirement for serious use. So I'm hoping a new version is on the horizon to replace the older WX series models with something designed for professional players (wireless midi, lip/breath sensors, realistic sax keys/fingering, additional buttons or even tilt sensors for sending various CC messages to control parameters on the fly). The competition have overtaken Yamaha in this market segment. [Hoping Yamaha is listenining and will soon grant me my Christmas wish!]
For me I don't need inbuilt sounds, but just want a simple controller. The reason is that I still use a WX-5 to drive my Montage M (I've used previous Motif's, MODX's as well as the VL-70m module and other softsynths) using Patchman Music libraries and other custom sounds I've built myself for both live and studio use. With the option of switching patches using Live Sets when I bring a physical board, I also love the ability to now take the ESP plugin and use it alongside my other softsynths as well and have a much more lightweight solution when I'm not needing to play keys as well. I've been doing a bit of programming with JUCE to build my own VST host to switch (enable/disable) patches and AU/VSTs, route MIDI and remap messages. I wanted something lighter than Mainstage but would also allow SysEx messages for a bit of deeper control (often blocked in Logic Pro etc.)... plus the ability to build my own is a bit of extra fun. But I need a front-end that enables me to change patches rather than having an AU/VST host with dozens of instances of ESP loaded (lighter on memory and CPU).
What was frustrating me though is that for the life of me I could not find out how to select the Live Set via SysEx or PC. There's nothing in the Manuals. Others have asked the question and/or have worked it out for the older MODX and Montage, but not the M since the formatting is entirely different - and it's still not mentioned in the manuals.
However, with much trial and error I've been able to figure it out. Posting it here since I'm sure that someone, somewhere is going to find this helpful.
Step 1: Select the Active "Live Set" Bank
Send the following Sysex Messages
- Bank 1: "F0 43 10 7F 1C 0D 02 00 00 00 01 F7"
- Bank 2: "F0 43 10 7F 1C 0D 02 00 00 00 02 F7"
- etc.
Step 2: Change the Page and Patch within a Bank
Now send the following MSB, LSB and PC Messages
- Page 1, Patch 1: "62", "0", "0"
- Page 1, Patch 2: "62", "0", "1"
- Page 1, Patch 3: "62", "0", "2"
- ---
- Page 2, Patch 1: "62", "1", "0"
- Page 2, Patch 2: "62", "1", "1"
- Page 2, Patch 3: "62", "1", "2"
- ---
No need to thank me... please just nudge Yamaha to make my day by releasing a new professional wind synth controller and I'll be as happy as ever!!! 😉
Michael
Why not do both? Thank you AND 'nudge' Yamaha. We have submitted two IdeaScale suggestions:
https://yamahasynth.ideascale.com/c/yamahasynth/idea/190922
That first one includes a detailed doc about what an AI 'thinks' about the library management problems on the Montage M and the recommendations it would make to Yamaha to address them. This is the doc, assumng the file doesn't get deleted
https://yamahasynth.ideascale.com/c/yamahasynth/idea/190925
The 2nd one is to alert the user that one, or more, performance reference a library they have selected for deletion.
The SysEx you found appears to reference a 'missing' table that isn't documented in the Data List.
Page 219 of the 'En_G0' doc shows that data table structures and the addresses used
The 'SYSTEM' section uses Adr1 of '00', 'CURVE' uses '01', 'LIVE SET' uses '03'
But there is no table listed for Adr1 of '02'.
The info the user posted uses an addresss of '02 00 00 00' which would be the first
entry in the missing '02' table. It suggests this table may have other params.
Step 1: Select the Active "Live Set" Bank
Send the following Sysex Messages
Bank 1: "F0 43 10 7F 1C 0D 02 00 00 00 01 F7" - address 1,2,3,4-> '02 00 00 00'
Bank 2: "F0 43 10 7F 1C 0D 02 00 00 00 02 F7" - 1 data byte
etc.
Bank 0-> preset bank
Bank 1-> user bank 1 - all 8 user banks can always be selected even if they are
Bank 2-> user bank 2 - empty since the user add to any banks they wish
. . .
Bank 8-> user bank 8
Bank 9-> library bank 1 - selecting a library bank number higher than the number
. . .
Bank 32-> library bank 24 - libraries installed will display a blank screen
Note: Libraries are always loaded into sequential banks so loading 2 libraries
will load them into library banks 1 and 2. A user can not select the bank
a library is loaded into. And a library doesn't always contain live set
entries. Deleting a library shifts all higher slotted libraries down a slot
so that there are no empty slots between libraries.
Step 2: Change the Page and Patch within a Bank
Now send the following MSB, LSB and PC Messages
Page 1, Patch 1: "62", "0", "0"
Page 1, Patch 2: "62", "0", "1"
Page 1, Patch 3: "62", "0", "2"
---
Page 2, Patch 1: "62", "1", "0"
Page 2, Patch 2: "62", "1", "1"
Page 2, Patch 3: "62", "1", "2"
---
For reference the PC info is listed on p.218 of the data list doc in the section 'Available LiveSet Select/Program Change box.
Thanks again for posting that info - many users in the past have been wanting a way to configure their external devices to change the bank as well as the page and slot.
Hi Toby,
Many thanks for posting that info. Just that little bit more documentation in the manual would be most helpful.
P.S. I don't know who the admin person is, but I would like to update my profile to hide my email address by default. As this was my first post under this account, it won't let me update my profile until I've made a certain number of posts first. Naturally, I'd prefer to show an alias rather than email and end up getting scraped by spam bots.
Thx, Michael
It looks like your email is no longer visible. In your exploring did you find any indication of what other table '02' params might be?
No, I didn't find anything else as yet, although admittedly when I found what I was looking for I didn't explore too much further. But perhaps this might be the place to search for any other settings that may not appear in the manual. Otherwise it's likely to be a bit of trial and error.
All I had observed (as you've also indicated) is that setting the last value to "00" retrieves the default live set bank, then "01" to "08" selects the relevant user defined live set banks. Out of interest I did also try to see if I could select the Patch using Sysex in case I didn't need to combine that with PC messages, but didn't have too much luck. Using the combo is no problem so happy with that.
(P.S. Yes, it seems that someone has updated the profile settings for me... thanks).
We posted an IdeaScale suggestion for Yamaha to publish the full details of the Data List table using address1 of '02'.
It seems unlikely that there would only be the one param to change the Live Set Bank so there could be more hidden 'gems'.
https://yamahasynth.ideascale.com/c/yamahasynth/idea/191039
I've just been trying this out, to see if it resolves a weird behaviour I've noticed.
An obvious test is [03 3p 0s 00] - Live Set Slot Color
If I send [03 30 00 00] = 4, it sets the color for the first slot of the currently-active user bank to blue, as expected.
But as soon as I change to a different bank and then return to the edited bank, the color change is reverted.
Am I missing a crucial step?
I was, and through guesswork I found out what:
02 00 00 01 Confirm slot changes (my name choice)
After sending any parameter changes to Live Set slots, you must send this command in order for the changes to be made permanent, otherwise the changes will disappear as soon as you change the active Live Set bank.
It's curious that manual changes don't require a 'save' action IF you leave the page. Making a change and then power off/on and the change is gone. But make a change and exit the edit screen and then the change stays.
You seem to be reporting the exact opposite.
If I send [03 30 00 00] = 4, it sets the color for the first slot of the currently-active user bank to blue, as expected.
Did you send it while the bank was being displayed on the screen? The above reads like you had a user bank displayed on the screen and then sent SysEx to change the color.
What happens if you change the color of a bank that isn't on the screen? Bring up a bank and view the live set page but then go to the performance home screen. The bank you brought up will still be the 'currently-active user bank' on the M models. They just won't be visible and you can use that new dial/inc/dec to change the live set selection.
But as soon as I change to a different bank and then return to the edited bank, the color change is reverted.
Seems odd that happens with SysEx but not with manual changes.
02 00 00 01 Confirm slot changes (my name choice)
Isn't that just the 'change to user bank 1' command the OP first posted? Or am I confusing it?
No, not the same: Set current bank is address [02 00 00 00] with value = bank number, whereas this is [02 00 00 01].
The sysex commands only ever work on the currently-active bank, which will be shown on the screen if viewing Live Set. It's not possible to send parameter changes to banks other than the currently-active bank - the addresses have no way to address non-active user banks, so you can't set the colour of a slot that isn't in the current bank (although you can set the colour of a slot from the current bank that is not on the current page shown on screen)