Synth Forum

Notifications
Clear all

Problem driving a MX49 from a YC 61 Liveset

9 Posts
3 Users
0 Likes
389 Views
Posts: 0
Active Member
Topic starter
 

I am trying to drive my MX49 through the YC 61 Master Keyboard settings.

Once I have stored the settings in a Live Set everything works well - I use channels 1 and 2 defined in Zone 1 and Zone 2 to play 2 distinct voices. But as soon as I want to change Live Sets or even just reselect the Live Set I have been configuring, then the voice on channel 2 gets transposed, which makes the sound ugly.

To fix that, the only thing to do once I am on the Live Set is to Store again. And everything is back to normal until I select a Live Set again.

If I look at what has been sent over MIDI, the Store generates just the required MIDI messages : Bank Select, PC, Volume, Pan:

0 00:17:55 out Controller Bank Select: 63 1 63 B0 00 3F

1 00:17:55 out Controller Bank Select (fine): 3 1 3 B0 20 03

2 00:17:55 out Program change 100 1 C0 64

3 00:17:55 out Controller Volume (coarse): 100 1 100 B0 07 64

4 00:17:55 out Controller Pan position (coarse): 64 1 64 B0 0A 40

5 00:17:55 out Controller Bank Select: 63 2 63 B1 00 3F

6 00:17:55 out Controller Bank Select (fine): 3 2 3 B1 20 03

7 00:17:55 out Program change 112 2 C1 70

8 00:17:55 out Controller Volume (coarse): 100 2 100 B1 07 64

9 00:17:55 out Controller Pan position (coarse): 64 2 64 B1 0A 40

When I click to select a new Live Set, there is a lot of stuff sent to MIDI beyond the messages sent after Store. A lot of undefined CC, and even some SYSEX on channel 0:

0 00:17:17 out All notes off Channel 1 1 0 B0 7B 00

1 00:17:17 out All notes off Channel 2 2 0 B1 7B 00

2 00:17:17 out All sound off Channel 1 1 0 B0 78 00

3 00:17:17 out All sound off Channel 2 2 0 B1 78 00

4 00:17:17 out Controller Hold Pedal (on/off): 0 1 0 B0 40 00

5 00:17:17 out Controller Hold Pedal (on/off): 0 2 0 B1 40 00

6 00:17:17 out Controller Sustenuto Pedal (on/off): 0 1 0 B0 42 00

7 00:17:17 out Controller Sustenuto Pedal (on/off): 0 2 0 B1 42 00

8 00:17:17 out Controller Bank Select: 63 1 63 B0 00 3F

9 00:17:17 out Controller Bank Select (fine): 3 1 3 B0 20 03

10 00:17:17 out Program change 100 1 C0 64

11 00:17:17 out Controller Volume (coarse): 100 1 100 B0 07 64

12 00:17:17 out Controller Pan position (coarse): 64 1 64 B0 0A 40

13 00:17:17 out Controller Bank Select: 63 2 63 B1 00 3F

14 00:17:17 out Controller Bank Select (fine): 3 2 3 B1 20 03

15 00:17:17 out Program change 112 2 C1 70

16 00:17:17 out Controller Volume (coarse): 100 2 100 B1 07 64

17 00:17:17 out Controller Pan position (coarse): 64 2 64 B1 0A 40

18 00:17:17 out System-exclusive (SysEx) Length: 12 bytes 0 F0 43 10 7F 1C 09 50 00 00 00 00 F7

19 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 60 00 00 01 F7

20 00:17:17 out System-exclusive (SysEx) Length: 12 bytes 0 F0 43 10 7F 1C 09 60 00 03 00 0E F7

21 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 60 00 2E 06 F7

22 00:17:17 out Controller 102: 127 1 127 B0 66 7F

23 00:17:17 out Controller 102: 127 2 127 B1 66 7F

24 00:17:17 out Controller 103: 127 1 127 B0 67 7F

25 00:17:17 out Controller 103: 127 2 127 B1 67 7F

26 00:17:17 out Controller 104: 127 1 127 B0 68 7F

27 00:17:17 out Controller 104: 127 2 127 B1 68 7F

28 00:17:17 out Controller 105: 0 1 0 B0 69 00

29 00:17:17 out Controller 105: 0 2 0 B1 69 00

30 00:17:17 out Controller 106: 0 1 0 B0 6A 00

31 00:17:17 out Controller 106: 0 2 0 B1 6A 00

32 00:17:17 out Controller 107: 0 1 0 B0 6B 00

33 00:17:17 out Controller 107: 0 2 0 B1 6B 00

34 00:17:17 out Controller 108: 0 1 0 B0 6C 00

35 00:17:17 out Controller 108: 0 2 0 B1 6C 00

36 00:17:17 out Controller 109: 0 1 0 B0 6D 00

37 00:17:17 out Controller 109: 0 2 0 B1 6D 00

38 00:17:17 out Controller 110: 0 1 0 B0 6E 00

39 00:17:17 out Controller 110: 0 2 0 B1 6E 00

40 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 50 10 12 01 F7

41 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 50 00 13 00 F7

42 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 50 10 02 3F F7

43 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 50 00 14 00 F7

44 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 50 00 15 00 F7

45 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 50 00 16 01 F7

46 00:17:17 out Controller Effect Control 2 (coarse): 83 1 83 B0 0D 53

47 00:17:17 out Controller Effect Control 2 (coarse): 83 2 83 B1 0D 53

48 00:17:17 out Controller 14: 0 1 0 B0 0E 00

49 00:17:17 out Controller 14: 0 2 0 B1 0E 00

50 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 50 00 02 01 F7

51 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 50 00 04 02 F7

52 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 50 00 03 00 F7

53 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 50 00 1A 05 F7

54 00:17:17 out Controller General Purpose Slider 3: 75 1 75 B0 12 4B

55 00:17:17 out Controller General Purpose Slider 3: 75 2 75 B1 12 4B

56 00:17:17 out Controller General Purpose Slider 4: 64 1 64 B0 13 40

57 00:17:17 out Controller General Purpose Slider 4: 64 2 64 B1 13 40

58 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 60 00 0A 01 F7

59 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 60 00 0C 40 F7

60 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 60 00 0B 00 F7

61 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 60 00 10 00 F7

62 00:17:17 out Controller 21: 64 1 64 B0 15 40

63 00:17:17 out Controller 21: 64 2 64 B1 15 40

64 00:17:17 out Controller 20: 64 1 64 B0 14 40

65 00:17:17 out Controller 20: 64 2 64 B1 14 40

66 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 46 00 25 00 F7

67 00:17:17 out Controller 22: 47 1 47 B0 16 2F

68 00:17:17 out Controller 22: 47 2 47 B1 16 2F

69 00:17:17 out Controller 23: 64 1 64 B0 17 40

70 00:17:17 out Controller 23: 64 2 64 B1 17 40

71 00:17:17 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 60 00 2D 01 F7

72 00:17:17 out Controller Chorus Level: 64 1 64 B0 5D 40

73 00:17:17 out Controller Chorus Level: 64 2 64 B1 5D 40

74 00:17:17 out Controller General Purpose Button 1 (on/off): 64 1 64 B0 50 40

75 00:17:17 out Controller General Purpose Button 1 (on/off): 64 2 64 B1 50 40

76 00:17:18 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 46 00 31 01 F7

77 00:17:18 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 46 00 33 00 F7

78 00:17:18 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 46 00 32 00 F7

79 00:17:18 out Controller 85: 0 1 0 B0 55 00

80 00:17:18 out Controller 85: 0 2 0 B1 55 00

81 00:17:18 out Controller Reverb Level: 3 1 3 B0 5B 03

82 00:17:18 out Controller Reverb Level: 3 2 3 B1 5B 03

83 00:17:18 out Controller General Purpose Button 2 (on/off): 3 1 3 B0 51 03

84 00:17:18 out Controller General Purpose Button 2 (on/off): 3 2 3 B1 51 03

85 00:17:18 out Controller General Purpose Button 3 (on/off): 3 1 3 B0 52 03

86 00:17:18 out Controller General Purpose Button 3 (on/off): 3 2 3 B1 52 03

87 00:17:18 out Controller General Purpose Button 4 (on/off): 3 1 3 B0 53 03

88 00:17:18 out Controller General Purpose Button 4 (on/off): 3 2 3 B1 53 03

89 00:17:18 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 46 00 26 01 F7

90 00:17:18 out System-exclusive (SysEx) Length: 11 bytes 0 F0 43 10 7F 1C 09 46 00 27 00 F7

Additional notes: I started by selecting Performance rather than Voices on the MX49. It was the same problem, that is why I switched to Voices. On the MX49, I have tried to protect it from SYSEX, but it does not change anything. So the SYSEX on channel 0 may not be the issue, rather the undefined controllers.

Thanks for your help.

Pierre

 
Posted : 26/02/2022 11:39 am
Bad Mister
Posts: 12304
 

Pierre,
Please just post what it is you really want to do... and try to state it as simply as possible.

You are using the YC as your master keyboard controller (we have got that much)
In theory, you want to have the current YC "Live Set Sound" location, recall a particular Performance on your MX. This should be easy-peasy...

I'm not sure if you gain something significant by using two ZONEs to control your MX... a single MX Performance can certainly recall your two MX sounds.
I suppose you can use two ZONEs - but give us an example of which two MX PARTS you wish to communicate with...

You should concern yourself with ONLY what is sent by the Master Keyboard function as setup in the YC... All the data that YC generates for itself does not affect your MX (in fact, the MX should, when properly configured, ignore it completely. And it is data, therefore, unnecessary for you to concern yourself with. You are making this way, way harder than it should be.

Here's what we need from you.
Place the two MX sounds you wish to communicate with in Parts 1 and 2 of the MX and then NAME and STORE that Performance to your MX
What MX Performance number do you want to recall? 1-128
Setup the YC Master Keyboard in each "LIVE SET SOUND" you wish to configure the two instruments together.

 
Posted : 26/02/2022 12:34 pm
Posts: 801
Prominent Member
 

OTOH, Bad Mister, I think there are also advantages to being able to call up the MX Voices independently, i.e. from different YC Live Set MIDI zones. e.g....

...You wouldn't be limited to two MX sounds; instead, a YC Live Set would also be able to call up split-and-layered combinations of 3 or 4 MX Voices (without using third party software to create those 3 or 4 part sound combinations on the MX itself)

...You could create new sets of YC-playable MX sound combinations without using up MX Performance slots, which may be useful if you're already approaching full use of the MX's 128 available locations for its own internal use

...You would be able to keep existing MX Parts 1 and 2 "in place" (i.e. being played by the MX's own keys), while the YC recalls up to 4 other MX Voices (residing elsewhere amongst channels 3 through 16) to be played exclusively from the YC's keys, even subsequently calling up different MX sounds on the YC while still leaving the MX playing its own Parts uninterrupted

...Your YC Live Sets would continue to be able to call up the correct MX sounds, regardless of subsequent editing on the MX (i.e. perhaps for the times you use the MX by itself), because all the required Voice recall info is stored in the YC instead of half in the YC and half in the MX

I'm not suggesting any of this necessarily matters to the OP, who already said, for example, that he's using parts/channels 1 and 2 for his YC-driven MX Voices, which may indeed make your approach the simplest way for him to do the specific thing he's trying to do. But his alternate approach of using the YC to recall individual MX Voices rather than MX Performances should still also work AFAIK, and could provide for some additional flexibility if ever needed.

 
Posted : 26/02/2022 8:24 pm
Posts: 0
Active Member
Topic starter
 

Thank you for your comments. My first test was indeed to use a MX Performance. The two sounds mentioned above are part of the performance 7 on my MX49. I was able to select this performance with a 63/80 bank select, and to play it properly. But then I had the same problem when hitting a Liveset selection button: the second sound on channel 2 was detuned.

That is why I tried to select voices but I got to the same result.

Thanks,

Pierre

 
Posted : 28/02/2022 8:44 am
Bad Mister
Posts: 12304
 

If I am understanding you, you setup the first LIVE SET SOUND location to recall MX Performance #7 (MSB=63; LSB=80; PC=6) and it played properly.
How did you, or did you setup the second LIVE SET SOUND location to do anything... You must tell each LIVE SET SOUND location what you want the MX to do.

Background:
Any MIDI Keyboard will transmit OUT via MIDI information that when captured by a sequencer program (like Cubase, or any sequencer), can be played back to the instrument so that it recreates every move you make. You do not mention you are connected to anything but the MX. So therefore you need to TURN OFF - the MIDI information that is generated for the YC. You are not going to record it, and you do not want to use this to control your MX... You want to setup a ZONE setup specifically to address the MX. You can customize the ZONE for the MX.... with all the parameters of the MASTER KEYBOARD function - which is available for each LIVE SET SOUND location.

[MENU] are global functions
[SETTINGS] are function for each Live Set Sound location.

Press [MENU] - this is where you make global changes that affect the entire instrument
Select "General"
Select "MIDI Settings"
Select "MIDI Channel"
Select "Tx" (Transmit)
Set "Tx = OFF"
This will prevent your YC from outputting the data it would use for itself. This will prevent the MX from receiving messages that are not intended for the MX.

Now, whatever you setup within each LIVE SET SOUND location for the "Master Keyboard" function will apply. And if you do not setup anything, the YC will not Transmit anything to the MX. This is the way...
You can determine what, exactly, the MX receives from each of your Live Set Sound locations

Call up your first "Live Set Sound" that you want to program.
Press [SETTINGS] - this is where you make the changes that affect THIS "Live Set Sound" location
Select "Master Keyboard"
There are three parameters to setup for Master Keyboard
Select "Mode Switch" -- Turn it ON
Select "Advance Zone Sw" -- Turn it ON
Select "Zone Settings" > Select "ZONE 1" > and make your setup to address the MX

We assume you have done something similar in order to get the MX to change to your Performance.
When you move to the next LIVE SET SOUND - unless you have created a ZONE SETTINGs for this location, the MX will not sound at all. No detuning, no strangeness.
If you want the MX to respond to the second LIVE SET SOUND location activate the Master Keyboard Settings for this program.
Rinse and repeat for each LIVE SET SOUND location you wish to interact with the YC.

Hope that helps, let us know.

 
Posted : 28/02/2022 8:07 pm
Posts: 0
Active Member
Topic starter
 

Hello "Bad Mister",

thank you for taking the time for a detailed answer.

Regarding the MENU...Tx, it is OFF.

Regarding the Settings.

I have one LiveSet from which I want to play the two parts of the MX49 performance simultaneously. I have therefore defined Zone 1 and Zone 2 that play the same key range. On each of this zone, I define the same (MSB=63; LSB=80; PC=7) to access Performance 7. Zone 1 Tx channel is 1, Zone 2 Tx channel is 2, so I activate the two parts of the performance simultaneously.

This works well when I adjust the settings and store them. Then if I click on a Liveset selection key, either the same Liveset that I have programmed or another one, I get this detune.

Note that I have tried to only have one zone (either Zone 1 or 2), but then I have only one part playing.

Thank you.

Pierre

 
Posted : 04/03/2022 6:09 pm
Bad Mister
Posts: 12304
 

You want to have both Parts 1 and 2 to sound together, yes, you would need two Zones.
It takes only one ZONE to recall the Performance, but you would need the second Zone to transmit Note-On events on MIDI Channel 2. You are correct.

You must STORE each Live Set Sound with the Master Keyboard settings; They will apply to the current Live Set Sound - When you call up another Live Set Sound, you must set up your Zones and again STORE the info to that Live Set Sound location.
It is likely you did this, I only mention this only because you did not mention that you STORED the Live Set Sound with the Master Keyboard settings.

What is it that gets detuned, specifically?

 
Posted : 04/03/2022 7:05 pm
Posts: 0
Active Member
Topic starter
 

Yes, I store the LiveSet, and until I hit a LiveSet selection key, which can the same Liveset, everything works fine.

If I hit a key, then the two parts sound like if they were not playing the same note. It is not an octave difference, but a different interval. I will check what it is exactly.

The way to get out of that is to select the liveset with these settings and store it again, without any other actions. And then everything goes back to normal. Until the next liveset selection.

From the MIDI trace I had gathered above - which were when I was selecting two voices rather than a performance, but with exactly the same behavior - the store action sends the few MIDI messages that are needed, and most likely clean the situation.

Pierre

 
Posted : 05/03/2022 5:27 am
Posts: 0
Active Member
Topic starter
 

After checking the "detune": the first part does not move, the second part goes one octave down plus 1 semi-tone. G3 => G#2.
Pierre

 
Posted : 05/03/2022 6:47 pm
Share:

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