Synth Forum

Notifications
Clear all

SYSEX for MODX? Same as MOTIFXF?

9 Posts
4 Users
0 Reactions
3,966 Views
Posts: 0
Active Member
Topic starter
 

from the yamaha site. would this work for MODX or MONTAGE by changing model/device ID perhaps?

1. For Voice mode, use the sysex string: F0.43.10.7F.12.0A.00.01.00.F7

2. For Performance mode, use the sysex string: F0.43.10.7F.12.0A.00.01.01.F7

3. For Pattern mode, use the sysex string: F0.43.10.7F.12.0A.00.01.02.F7

4. For Song mode, use the sysex string: F0.43.10.7F.12.0A.00.01.03.F7

5. For Master mode, use the sysex string: F0.43.10.7F.12.0A.00.01.04.F7

 
Posted : 17/10/2018 4:28 pm
Posts: 820
Prominent Member
 

If a mode does not exist on the Montage/MODX, you're not going to be able to get to it via sysex. πŸ˜‰

 
Posted : 17/10/2018 4:38 pm
Posts: 0
Active Member
Topic starter
 

My bad, I phrased the post incorrectly.
Question should be: Can I control Performances and LiveSets (modes) via SYSEX?

 
Posted : 17/10/2018 5:51 pm
Jason
Posts: 8238
Illustrious Member
 

Since your examples were a bit left-field, it's not readily apparent what you're trying to do. MODX has SysEx. It's different than Motif XF in many respects. What SysEx is open for the public is documented in the MODX Data List. The data list link is currently:

https://usa.yamaha.com/files/download/other_assets/2/1192592/modx_en_dl_a0.pdf

This will change frequently as firmware updates are released as there are frequently changes to the Performance presets and/or effects as part of the potential firmware changes every release.

Page 184 of the Data List linked above has a table showing the MSB/LSB (aka "bank" ) and PC (aka "program change" ) for selecting Performances out of the Library slots, Preset slots, User slots, and also Live Set slots. In Preset/Library/and User areas - you can either load just one PART (the 1st part) out of the Performance - this is "single part" or you can load all PARTs (same as entire performance). If you use the "single PART" Performance bank/PC switch - then the current PART which matches the MIDI Channel you send this MIDI message to will change to the 1st PART of the targeted library or user or preset Performance. I would say 9 times out of 10 you would want to load an entire Performance and not just a single PART - so favor "Multi Part" for bank/PC switching for library or user or presets. Live set will always recall the entire Performance that the Live Set slot selected is pointing to.

This is not SysEx - it's standard MIDI.

I'm still not solid on what you mean by "control". Take a look at the data list. It shows parameters for all aspects of the keyboard. They are listed by high,medium, and low addresses. These addresses for the parameters are accessed by using SysEx (you can use parameter change SysEx to change parameters).

Also documented on page 184 (left-hand half of page) - all values in hex

F0 43 10 7F 1C 07 ah am al dd ... F7

Where "1n" is set to 10 above because I assume you device number is 0 (or set to omni). 1,000 times out of 1,001 times this is the case. Something other than "0" may be appropriate if you have more than one MODX on the same MIDI bus and need to differentiate between one or the other. Not typical.

ah = address high (of the parameter)
am = address medium
al = address low
dd = data byte (whatever you set)
... means there can be more than one byte. Each parameter has a definition in the PDF of how many bytes the parameter needs. Usually it is one byte. The documentation lists the number of bytes as "size". Address ah/am/al of 00/00/02 (Tone Generator Tune) shows a size of 4. So there would be 4 bytes to enter (4 "dd" values). Most others, such as Tone Generator Volume 00/00/00 show a size of 1, so there is only one byte to enter before the terminating F7.

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

 
Posted : 17/10/2018 9:31 pm
Posts: 0
Active Member
Topic starter
 

Thanks Jason! I'll check the manual... but I would like to use SYSEX(vs MSB/LSB) commands to go to a Live Set Slot.

 
Posted : 17/10/2018 9:54 pm
Jason
Posts: 8238
Illustrious Member
 

There's not an easy way.

You would have to read the MSB/LSB+PC from the live set slot first

(values in hex - given with "0x" prefix to drive that point home)

Sysex address 0x04/ps/0x15 = MSB
" 0x04/ps/0x16 = LSB
" 0x04/ps/0x17 = Perf Number (PC = Perf Number - 1)
also save the Live set volume while you're at it for later.

Note: ps = Page number 0x0-0x7 for "p" and Slot number (0-0xf) for "s".

Page 1 (out of 8) and slot 15 (out of 16) would be ps=0x0E

Because 0x0 (upper nibble)=page 1 and 0xE (lower nibble) = Slot 15.

Once you have the MSB/LSB/PC of your performance inside Live Set, you could do a bulk dump of the correct user performance or library performance or preset performance from the bulk table. Which would be Sysex address 0x0E/##/PC

Where PC = the PC calculated from above (Perf Number -1) and ## is a bank number calculated by offsetting the LSB appropriately.

## = 0x00-0x1F for presets, 0x20-0x24 for User, 0x28-0x4F for library.

Then, you would take the contents of what is dumped from this dump read and dump write back into 0x0E/0x25/0x00 (the edit buffer) those contents.

After all this, you should override the Performance's volume with the one you saved from the Live set (in order to get full Live Set emulation).

In order to do this, you'd need something on the other end that could process what is returned from the Live Set MSB/LSB/Program Number and convert that the bulk control header address. You'd need a buffer to store sysex dump results. It would take time so expect a delay because MIDI-for-data is inherently a slow process (serial, not the fastest data rate).

I would strongly advise using bank/program changes unless there's some limitation where that method could absolutely not be used.

I'm not aware of a way to "load" a Performance as the current working one outside of bulk dump the Edit Buffer (read from perf, write to edit buffer) or using the more straight-forward Bank/PC switching.

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

 
Posted : 18/10/2018 7:49 pm
Posts: 0
Active Member
Topic starter
 

Thanks Jason again! You really provided so much detail here and I still can't grasp it.

Here's the step by step use case, I use an IPAD app to send sysex commands, currently to my MOXF, but want to do the same for MODX.
1) I will manually switch to Live Set but if possible would like to send a sysex command that takes me from Performance mode to Live Set mode.
2) Once in live set mode, i am assuming, that there are sysex commands to switch, not just between slots in a specific live set, but different live sets.

I was able to do all of this with the pre-Montage/Modx models. Was just hoping to do the same.

 
Posted : 19/10/2018 8:51 pm
Jason
Posts: 8238
Illustrious Member
 

The facility gives you 16 pages of 16 slots (256 possible Performances). Is there a reason you need more?

62/0/0-15 through 62/15/0-15. Where 0-15 is one of 16 slots on each page. The LSB (62/LSB/0-15) is set to 0-15 or 16 pages worth of slots.

MOXF you had to switch between modes because there were different "things" to load (voices in voice mode, performances in performance mode). MODX does not have these. Everything is a Performance. There's one mode - so you do not switch between modes. Live Set is merely a short-cut to your Performances.

You can reach every single Performance through MSB/LSB/PC - and there is no mode to switch. There is no reason to do things like you did before - because those requirements no longer exist in MODX. It's simplified. Use the simplified methods.

The purpose for Live Sets is primarily to organize, on your touch screen, Performances together in any order you want. If you're using an iPad to do essentially the same thing - there is absolutely no reason to use Live Set. Your organization would be made on the iPad and you can point to the Performances directly instead of having your iPad point to Live Sets which themselves point to Performances.

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

 
Posted : 20/10/2018 7:48 am
Bad Mister
Posts: 12303
 

Here's the step by step use case, I use an IPAD app to send sysex commands, currently to my MOXF, but want to do the same for MODX.

If you have an iPad, go to the App Store and download Yamaha Soundmondo.

The usefulness of the App as a local utility is profound. The file sharing thing is still in its β€œgrowing pains” era... but the usefulness of the App to keep and organize your MODX Performances is Off the chart. You can use this app to organize and instantly recall setups on your MODX or MONTAGE via USB. Even move data between models!

Each Performance can be cataloged using β€œCapture”. This creates an icon for each Performance. You can create β€œSet Lists” by tapping the icon and organizing your sets. Rearranging the set list can be done offline by simply dragging and dropping the Performance icons in the order you desire. Easy-peazy!

Tap the icon to recall it... it bulks the Performance to your MODX.

Check it out... no more coded messages, no more hex, no more MSB/LSB, no more hassle.
Hope that helps. Let us know...

 
Posted : 22/10/2018 3:23 pm
Share:

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