Author Topic: Program Change Bank Numbers  (Read 4090 times)

0 Members and 1 Guest are viewing this topic.

Offline voodoo

Program Change Bank Numbers
« on: April 18, 2016, 04:07:00 AM »
Hi together,

in order to understand packs and styles and voices, I compiled a little table showing how Yamaha is using bank numbers.

Code: [Select]
MSB LSB ... LSB
0 0 GM Voices
0 1 101 XG Voices
0 104 127 Panel Voices
8 0 8 Mega Voices
8 32 58 Super Articulation
8 64 67 Super Articulation 2
9 32 84 Ensemble Voices
10 0 9 Organ Flutes
49 0 9 Expansion Packs Europe
50 0 3 Expansion Packs America
51 0 3 Expansion Packs Asia
62 0 127 YEM Drum Voices
63 0 127 YEM Normal Voices
64 0 GM Effects
104 0 38 Panel Voices
109 0 6 Ensemble Voices
109 112 119 Ensemble Voices
120 0 GM2 Drums
121 0 5 GM2 Voices
126 0 SFX Voices
126 1 Expansion Drum Kits
127 0 Drums

The expansion packs (for PSR-S) use the following name spaces:

Code: [Select]
MSB LSB Pack
49 0 Celtic
49 1 Latin
49 2 Balkan
49 3 Oriental
49 4 Eastern Europe
49 5 Western Europe
49 6 Euro Dance
49 7 Church & Chistmas
49 8 Church Organ
49 9 South East Europe
50 0 Brazilian
50 1 Mexican
50 2 Mexican Banda
50 2 Norteno & Mariachi
50 3 PSR-340
51 0 Indian 2
51 0 Indian Devotional
51 0 Indian Entertainer
51 1 Chinese
51 2 Indonesian 2
51 3 Vietnamese

This means, that voices in official expansion packs get fixed bank numbers given by Yamaha. Styles use this bank numbers to select voices. Thus styles can be moved to the USB stick and still find their voices as long as the corresponding expansion pack is installed.

Comments and additions?

Uli
« Last Edit: April 20, 2016, 05:05:12 AM by voodoo »
Yamaha PSR-S970 (sold)
Yamaha Genos (ordered)
Nord Electro 5D
 

Offline pjd

Re: Program Change Bank Numbers
« Reply #1 on: April 18, 2016, 10:46:36 AM »
Hello Uli --

The last 3 or 4 pages of the Version 2 XG Specification describe the assignment of voices in the XG voice range, e.g.,

    Bank#
    -----
        0 Capital tone voices
      1:7 Extensions that do not require voice changes
     8:15 Add voices mainly by changing cutoff or Q
    24:31 Add voices mainly by changing the FEG
          etc.

There are breakdowns with each category, too. Some of the voice classications such as "proxy" or "non-proxy" lack definition.

The version 2 spec (2001) is on Jørgen's site:

http://www.jososoft.dk/yamaha/docs_specs.htm

Thanks for organizing this information.

-- pj
 

Offline Joe H

Re: Program Change Bank Numbers
« Reply #2 on: April 18, 2016, 11:08:08 AM »
Uli,

Euro Dance drum kits for the S770 / S970 (.YEM) are treated as SFX kits and are as follows:

126 001 018 (Power Dance Kit)
126 001 019 (Power Dub Step Kit)

Euro Dance Drum Kits for S650, S750, S950 .YEP are as follows:

062 000 000 (Power Dance Kit)
062 000 001 (Power Dub Step Kit)

BTW... I created a special Voice Definition File that contains Euro Dance Bank Select and Program Change numbers for the S750/S950,  S770/S970 and Tyros 4/5. This file will work in MixMaster, PadMaker and PadMaker-Midi.  I use this file in Voices View of MixMaster to convert Euro Dance Voices between Packs.

Joe H
« Last Edit: April 18, 2016, 11:25:20 AM by Joe H »
Music is the Universal Language!

My Article: Using Multi Pads for EDM. Download Regs, Styles & MPs:  http://psrtutorial.com/music/articles/dancemusic.html
 

Offline voodoo

Re: Program Change Bank Numbers
« Reply #3 on: April 18, 2016, 11:11:39 PM »
The version 2 spec (2001) is on Jørgen's site:

http://www.jososoft.dk/yamaha/docs_specs.htm

Thanks for this comment. Yesterday, I read several documents on Jørgen's site. This site is really great. My compliment goes to Jørgen.

And this explains the mysterious usage of bank numbers for XG voices. I have seen the voice number table, but not the explanation depending on the voice type.

Uli
Yamaha PSR-S970 (sold)
Yamaha Genos (ordered)
Nord Electro 5D
 

Offline voodoo

Re: Program Change Bank Numbers
« Reply #4 on: April 18, 2016, 11:13:42 PM »
Uli,

Euro Dance drum kits for the S770 / S970 (.YEM) are treated as SFX kits and are as follows .....

Hi Joe,

thanks for this addition. Yes, I planned to add the bank numbers of expansion drum kits, since they are still not mentioned above.

Uli
Yamaha PSR-S970 (sold)
Yamaha Genos (ordered)
Nord Electro 5D
 

Offline voodoo

Re: Program Change Bank Numbers
« Reply #5 on: April 18, 2016, 11:44:04 PM »
BTW... I created a special Voice Definition File that contains Euro Dance Bank Select and Program Change numbers for the S750/S950,  S770/S970 and Tyros 4/5. This file will work in MixMaster, PadMaker and PadMaker-Midi.  I use this file in Voices View of MixMaster to convert Euro Dance Voices between Packs.

Yesterday, I had exactly the same idea. Can you share this definition file with us? If it helps MixMaster to display the correct voice names of expansion pack(s), this would be very cool. I would help to extend this definition to other packs. Perhaps Michael Bedesem wants to include these definition to the Mixmaster distribution?

Uli
« Last Edit: April 18, 2016, 11:47:05 PM by voodoo »
Yamaha PSR-S970 (sold)
Yamaha Genos (ordered)
Nord Electro 5D
 

Offline MBedesem

Re: Program Change Bank Numbers
« Reply #6 on: April 19, 2016, 04:58:27 AM »
Perhaps Michael Bedesem wants to include these definition to the Mixmaster distribution?

Its a good idea.

Please send me the file.

Regards,

Michael
Michael P. Bedesem
mpb@vermontel.net
http://psrtutorial.com/MB/bedesem.html
Tyros 5
 

Offline Joe H

Re: Program Change Bank Numbers
« Reply #7 on: April 19, 2016, 09:37:03 AM »
Michael,

I found 2 errors in the file for the S950 and I am still updating the T4/T5 Bank Select / Program Change numbers for the Tyros keyboards.  I will send them as soon as I know they are 100% accurate and no errors.  I will give you separate files and my combined file so you can see what I have done. And will also include a text file on how I use this Voice file.

Regards,
Joe H
« Last Edit: April 19, 2016, 09:38:11 AM by Joe H »
Music is the Universal Language!

My Article: Using Multi Pads for EDM. Download Regs, Styles & MPs:  http://psrtutorial.com/music/articles/dancemusic.html
 

Offline Joe H

Re: Program Change Bank Numbers
« Reply #8 on: April 19, 2016, 10:59:24 AM »
Uli,

I'll send you an email so you can see what I'm doing also.  All needs to be correct be for distribution.

Joe H
Music is the Universal Language!

My Article: Using Multi Pads for EDM. Download Regs, Styles & MPs:  http://psrtutorial.com/music/articles/dancemusic.html
 

angelonyc

  • Guest
Re: Program Change Bank Numbers
« Reply #9 on: April 27, 2016, 07:15:28 AM »
I use Logic Pro.. and I use the MSB/LSB/PROG CC events to set up Tyros.. 

Occasionally (and I don't know what I did to get there)..  The Tyros goes in to GM mode, and won't respond to the MSB/LSB/PROG Logic sends. So the wrong patch consistantly comes up..

I have to get Tyros back into XG mode..

Can I do this by sending  MSB/LSB/PROG to reset to XG mode rather than SHUT off and TURN on again?

0   1   101   XG Voices

Thanx..
 

Offline MBedesem

Re: Program Change Bank Numbers
« Reply #10 on: April 27, 2016, 07:39:48 AM »
There is a sysex XG On command: F0 43 10 4C 00 00 7E 00 F7  you might try.

Regards,

Michael
Michael P. Bedesem
mpb@vermontel.net
http://psrtutorial.com/MB/bedesem.html
Tyros 5
 

Offline SeaGtGruff

Re: Program Change Bank Numbers
« Reply #11 on: April 27, 2016, 11:31:48 AM »
As you may know, Mark, there's also a "GM1 System Mode On" command (and "GM2 System Mode On"). Whenever I've seen the "XG On" and "GM1 On" used together, it's always "GM1 On" first, wait a few ticks, then "XG On," wait a few more ticks, then come the various effects settings and voice settings.

I've noticed that the "wait a few ticks" recommendation isn't always being followed in some style files, so it may be that the newer crops of keyboards have faster CPUs and don't need that slight pause anymore. Personally, I will sometimes add 1 or more ticks as needed to ensure that a group of commands get executed in the necessary order (e.g., MSB, LSB, PGM). When a series of commands all have delta times of 0, I get nervous that a MIDI editor or DAW (e.g., SONAR) might inadvertently mangle the order in which things are supposed to happen.

I've also seen "XG On" omitted (by Yamaha!) from files intended for PSR-E models.

Additionally, as stated in the XG specifications, the "XG On" command is ignored if its data value is anything other than 0.

And finally, there's also an "All Parameter Reset" command whose address is virtually identical to the "XG On" command (00 00 7F versus 00 00 7E). It "resets the tone-generator mode to its factory defaults," whatever that means (i.e., is XG on or off by "factory default"?).

Anyway, I'm wondering if perhaps you've got a style or other MIDI file that's got some sort of problem with the "XG On" command? The next time this happens to you, make a note of whatever style or MIDI file you're using, and examine that file to see if there's a problem with the "XG On" command-- coming before "GM On" instead of after, having a non-zero data value, being followed by an "All Parameter Reset" (if that's a problem), or just plain missing? If you do find a file with one of those issues, edit the file to fix the issue. Hopefully it's just something like that, and not some glitch with the Tyros itself.
« Last Edit: April 27, 2016, 11:33:59 AM by SeaGtGruff »
Michael Rideout
YPT-400, PSR-E433, PSR-E443
 

angelonyc

  • Guest
Re: Program Change Bank Numbers
« Reply #12 on: May 09, 2016, 02:37:51 PM »
Thanx Mike and Seagruff.. I'll try that..  I always stagger my CC events in a control sequence I put at beginning of each track..  I find the T5 can't respond accurately all the time, when it gets too many CC events or on the same clock count..  Most instruments send out several CC events on the same clock count.. If you multiply that by 16 tracks (which I do when using Logic Pro to play Tyros live)..  you get different intermittent results..  I put number of steps between each event. and then stagger the sequences of different tracks.. So the T5 is never receiving more than 6 commands on the same clock count..  When you get up to 20 or more events on the same clock count (which is easy using a DAW - you get erratic results.. Sometimes the T5 responds fine, other times, it will not get the right program..

 

Offline chax

Re: Program Change Bank Numbers
« Reply #13 on: May 01, 2017, 04:30:19 PM »
Voodoo,

Psr 950 had MSB 8 as indicator of S.Art and so it could be listed accordingly in INS file .However in PSR S970 , in addition to MSB 8 ,MSB 104 is also S.Art .Can you please reconcile this issue.

Chax
 

Offline MBedesem

Re: Program Change Bank Numbers
« Reply #14 on: May 01, 2017, 05:14:53 PM »
Re"Personally, I will sometimes add 1 or more ticks as needed to ensure that a group of commands get executed in the necessary order"

I have seen the problem, and sometimes it is due to the processing program, if it is not the instrument, reordering (i.e.processing when executed) commands in a different order.

The Yamaha instruments do not exibit this issue as far as I know. The only timing issues that I have seen are when effects settings are altered. It is possible that other complex sound processing commands that require some time to cancel the earlier setting and setup the new command also have this problem.

Note that Yamaha always places the effects setting in the first measure. In the instrument, the events in this measure are executed when the file is loaded, not when Play is depressed. This delay negates this issue.

But if the file is sent to the instrument from a computer, it does not experience this delay. You of course can duplicate this in a file that will be played from a computer by just changing the event times by a measure after the effect specifications.   

Regards,

Michael
Michael P. Bedesem
mpb@vermontel.net
http://psrtutorial.com/MB/bedesem.html
Tyros 5
 

Offline C-clef

Re: Program Change Bank Numbers
« Reply #15 on: May 02, 2017, 03:09:03 AM »
If you read the XG specification from about 15 years ago, it recommends a 200 millisecond pause after a GM System On, before any further messages, and another 50 milliseconds after an XG System On. The document is also on Joergen's site.

It's because a little program has to run inside the piece of equipment setting all the MIDI Continuous Controllers (CC#s), etc., in every single channel back to their default values. This isn't an instantaneous process. Maybe a millisecond or so per channel these days.

In the old days when XGworks ran at 480 ticks per quarter note (TPQN or PPQN if you like), at a tempo of 120 bpm, that meant roughly 200 ticks and 50 ticks respectively. These days when most equipment runs at 960 TPQN I'd double that, BUT the processors inside keyboards are MUCH quicker and it's not dealing in most cases with 64 channels of MIDI across four ports, like an MU128. (Remember those?)

But I'd tend to leave a little bit more than a tick or two after these System On messages, especially so if there's sysex data to follow.

Just some random thoughts.
Colin.
 

Offline SeaGtGruff

Re: Program Change Bank Numbers
« Reply #16 on: May 02, 2017, 01:25:55 PM »
In addition to faster processor speeds, I assume that newer keyboards also have a queue or buffer that the incoming messages can be stored in until the processor is ready for them, which might be another reason why Yamaha now seems to use non-zero delta times between certain messages even though the XG specs said that you should wait a certain amount of time.
Michael Rideout
YPT-400, PSR-E433, PSR-E443