Synth Forum

Notifications
Clear all

Part usage through sysex on montage m

6 Posts
4 Users
0 Reactions
126 Views
Posts: 3
Active Member
Topic starter
 

Is there a way, through a sysex, to know if a given part is actually in use?  Name-wise, I noticed they keep the name of whatever was in there even if it was deleted afterwards.

 
Posted : 21/01/2025 2:30 pm
Jason
Posts: 8355
Illustrious Member
 

There probably is.  My approach to figuring this out would be to:

 

1) Start with "Init Normal (AWM2)"

2) Place some 1-Part into Part 2.  Could be anything.  Like maybe "CFX Stage"

3) Read SysEx (including common, Part 1 and Part 2)

4) Delete Part 2

5) Read SysEx of Part 2 - compare with the undeleted Part 2 to see what's changed.  Zero-in on these and see if you can identify something useful for determining Part usage.

6) ... if that doesn't do it, take a look at the common and Part 1 areas comparing against the undeleted 1st read (step 3) for those respective areas and see if you can find something that changed that can be used.

 

Current Yamaha Synthesizers: Montage Classic 7, Motif XF6, S90XS, MO6, EX5R

 
Posted : 28/01/2025 5:40 pm
 Toby
Posts: 474
Honorable Member
 

Yes - p.237 Data List - 'Part Switch'

Name-wise, I noticed they keep the name of whatever was in there even if it was deleted afterwards.

Actually they keep the ENTIRE PART that was in there last. All that happens when you delete a part is the 'Part Switch' gets set to 0 (OFF). The contents of the part are still there and will get saved when you save the performance.

1. Load the 'Rd 2 Gallery' performance

2. Send     'F0 43 30 7F 1C 0D 15 00 01 00 F7' - note the '30' - in '15' the '5' is part 6 (0 based) 

3. Receive 'F0 43 10 7F 1C 0D 15 00 01 00 00 F7' - note the last '00' means OFF - part is NOT active

CAUTION - if you SEND the SysEx in #3 above the '10' acts as a 'parameter change' command (p.213 Data List) and the last '00' will turn part 6 OFF if it was on.

So you can turn on ANY of the 16 parts even if they aren't being used. Of course any part you turn on will have whatever garbage it had when it was deleted, assuming it was ever populated.

To check part 5

4. Send     'F0 43 30 7F 1C 0D 14 00 01 00 F7 - in '14' the '4' is part 5 (0 based)

5. Receive 'F0 43 10 7F 1C 0D 14 00 01 00 01 F7' - note the last '01' means ON - part IS active

Hope that helps.

 
Posted : 28/01/2025 8:09 pm
Posts: 2
New Member
 

1) Start with "Init Normal (AWM2)"

2) Place some 1-Part into Part 2. Could be anything. Like maybe "CFX Stage"

3) Read SysEx (including common, Part 1 and Part 2)

4) Delete Part 2

 
Posted : 31/01/2025 8:32 am
Posts: 3
Active Member
Topic starter
 

Accessing part switch works perfectly well, much thanks.  Been able to create a table of performances with which parts are used (and whether they're mono or poly) to use with midi generation software, very cool.

 
Posted : 14/03/2025 5:40 am
 Toby
Posts: 474
Honorable Member
 

Congrats on "Been able to create a table of performances"!

Sounds like you might be a programmer. If so you might consider expanding on what you are doing:

1. Use SysEx to extract each performance and save it in SysEx format

2. Write a simple utility to do your checking offline rather than having to connect to the instrument

3. The utitility can help you find/save more detailed info about various features you may be interested in knowing about

4. Which effects, if any, are used? Which controls have been assigned? Are Arpeggios beings used - if so, which ones? Are motion sequences being used? And so on

That offline info can be valuable when you want to use a specific performance as a base to build your own customized version. You will still need to throughly examine the performance on the instrument itself to find any hidden 'gotchas' until your utility covers all the areas you need.

 
Posted : 17/03/2025 4:00 pm
Share:

© 2025 Yamaha Corporation of America and Yamaha Corporation. All rights reserved.    Terms of Use | Privacy Policy | Contact Us