Synth Forum

Notifications
Clear all

Recall a performance with a MIDI code

8 Posts
4 Users
0 Likes
3,202 Views
 van
Posts: 0
New Member
Topic starter
 

Hello,

I have Ultrareal app on an iPad. This app displays sheet music. When you change to the next sheet music it can change the performance along with it because you can embed a MIDI code into the sheet music.

How can I do this on the MODX?

I can do that with my Motif XF but don't know how to do it with the Montage and MODX.

Thanks

 
Posted : 11/11/2018 1:19 am
Jason
Posts: 7928
Illustrious Member
 

The software needs to be able to send MSB and LSB and PC (program change) messages. The data list contains the necessary documentation. Performance recall is made by targeting "Multi PART". The "Single PART" references mean you just swap out a single PART out of the 16 total - not changing the entire Performance.

You can either recall a Preset Performance (Multi PART) or User Performance (Multi PART) or Library Performance (Multi PART). If you are editing your own custom Performances and saving them one-at-a-time, these are all User Performances. If you are using the built-in sounds these are Preset Performances. Libraries can be either content you pay for and install in a Library slot - or your own User Performances you decide to promote to a Library slot.

The current link (subject to change) for the data list is: https://usa.yamaha.com/files/download/other_assets/2/1192592/modx_en_dl_a0.pdf

Page 184 of this Rev. A0 Data List contains the information.

Values are decimal (not hex) ...

Preset Performances:
MSB: 64
LSB: 0-31
PC: 0-127

User Performances:
MSB: 64
LSB: 32-36
PC: 0-127

Library Performances:
MSB: 64
LSB: 40-79
PC: 0-127

MSB=64, LSB=0, PC=0 recalls the first Preset Performance (Performance #1) "CFX + FM EP". The Performances are listed by number starting on Page 2 of the linked document.
MSB=64, LSB=0, PC=127 recalls the 128th Preset Performance "DX Chill".
MSB=64, LSB=1, PC=0 recalls the 129th Preset Performance "Toy EP".

So the general formula would be (for Presets):

MSB=64 (always)
LSB=(Performance # - 1)/128 (without remainder)
PC=(Performance # - 1)%128 (where % means modulus, or the remainder of dividing this value by 128)

The easiest way to find out this information is to recall the Performance you want to access through MIDI. Be sure you are on the [PERFORMANCE] (HOME) screen. Then touch the Performance name at the top of the screen. A menu will display on the left-hand side. Touch the option "Property". The next screen will show bank select (MSB/LSB) and Program Number.

The Program Number shown on this screen is +1 (one number higher) than the low-level MIDI command "PC" (program change). Depending on your software - if it deals with the MIDI definition of PC or "humanized" version of "Program Number" (which is typically one more than the PC) - you may have to subtract one from the Program Number shown here.

The properties work regardless if the Performance is user or preset or library.

 
Posted : 11/11/2018 4:19 am
Posts: 803
Prominent Member
 

Performance recall is made by targeting "Multi PART". The "Single PART" references mean you just swap out a single PART out of the 16 total - not changing the entire Performance.

So what happens if you use MIDI to do a single part recall for part 1 of the current Performance, and the program change you send refers to a multi-part performance? Does it just replace Part 1 of the current performance with the contents of Part 1 of the recalled performance?

If that's correct, then what happens if you use MIDI to do a single part recall for part two of the current Performance (i.e. you send the Program Change on MIDI channel 2)? Does it similarly replace Part 2 of the current performance with the contents of Part 1 of the recalled performance?

 
Posted : 11/11/2018 2:55 pm
Bad Mister
Posts: 12304
 

So what happens if you use MIDI to do a single part recall for part 1 of the current Performance, and the program change you send refers to a multi-part performance? Does it just replace Part 1 of the current performance with the contents of Part 1 of the recalled performance?

It just replaces the Part 1 program. The MSB/LSB to change the entire Performance is different from the MSB/LSB that address the single Part within a Performance. The program change you send to select a program for Part 1 will never refer to a Multi-Part Performance.

The entire Performance’s MSB/LSB/PC can be sent on any Channel, 1-8...
when addressing an individual Part within a Performance, 1-16, simply use the MSB/LSB for Single Part programs on the MIDI channel of the Part you are wishing to change. It will only address the single slot it is intended for.

You’ll notice that all single Part data uses MSB/LSB 063/LSB... place on any channel 1-16, place on the channel you wish to address with a ‘single’ selection.
While entire Performances respond to MSB/LSB 064/LSB... place on channel 1-8, the entire Performance will change.

See Data List Booklet (Page 187-188) for details on Bank Select and Program Change.

 
Posted : 11/11/2018 5:22 pm
Jason
Posts: 7928
Illustrious Member
 

It's an easy thing to miss because the documentation on page 184 of the MODX Data List rev A0 doesn't spell out single-PART replaces the PART which is referenced by the MIDI channel designated by 0xBn (where n=channel number) for MSB/LSB and 0xCn (where n=channel number) for PC.

The chart on page 184 is itself part of asterisk notes. That said, the chart itself deserves an asterisk note by single-part commands to spell out the relationship to MIDI channel. And, if the multi-PART commands have limits (such as 1-8) - then it's worth spelling that out as well in proximity the chart.

Now page 190 is another place where this is documented. Notice here there is also no explicit mention of how MIDI channel relates to these messages.

The last place where anything close is documented is the MIDI implementation chart (EDIT: pg 218, 219). Here the level of detail is not trying to address single vs. multi PART - so this area would not need an update.

 
Posted : 11/11/2018 6:27 pm
Bad Mister
Posts: 12304
 

Not sure which Data Booklet you are looking at... the MODX DataList is only 220 pages (so pages 221, 222 do not exist). Perhaps you looked in the MONTAGE booklet (?) they do look similar.

MSB 63 / LSB xxx
“Can be used when only specified Part is changed.”

MSB 64 / LSB xxx
“Can be used when all Parts are changed.”

It is that simple and that complex.
The Data List booklets are not necessary, because the instrument will identify the MSB/LSB/PC

For when “all Parts are changed”
From the HOME screen, tap the “Performance Name” to see the pop-in menu, touch “Property”
This will show you the Bank Select and Program Number that recall all 16 Parts together.

For when “only specified Part is changed”
From the HOME screen, move the cursor down to highlight the Part 1 (anchor) Type/Name box, if you tap that box, the pop-in menu appears, this time “Property” will show you the individual (single) Part’s MSB/LSB
This Bank Select and Program Number are the cataloged location for this item as an individual Part selection. Using the message found here will recall this single Part on the channel on which you send it.

All Performances are made up of Parts... All 1350+ Motif XF Voices form the backbone of the MODX factory Performances. And they all appear as Single Part Performances. These can be used to construct Multi-Part Performances. When you wish to recall them all at once in a prearranged set, use MSB 64 (all Parts are changed), when you wish to work GM-STYLE use MSB 63 (only specified Part is changed).

 
Posted : 11/11/2018 9:36 pm
Jason
Posts: 7928
Illustrious Member
 

I see the page numbers got off because I had both the MODX docs and Montage docs up and flipped (OS task switching) to the wrong task. I'll edit the previous post to correct page numbers for the MIDI implementation chart. Otherwise, pages were correct.

What I was mentioning and continue to do is that the technical detail to use MIDI channel is not conveyed. What is offered is not quite enough to be explicit and would not, in my opinion, be the best directions to give a wide audience of users.

The MIDI mapping to specify a single PART by MIDI channel (MIDI channel 1-16 maps to PART 1-16) is not obvious to all users and the suggestion is merely to add the small crumbs of information to enhance clarity.

 
Posted : 11/11/2018 11:20 pm
 van
Posts: 0
New Member
Topic starter
 

Thanks,

I got it now. I did not find the properties button before.

 
Posted : 13/11/2018 7:58 pm
Share:

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