Purple Hearts hpmusic

The Voices of YAMAHA Keyboards

Tuesday, 19 October 2004
The aim of this paper is to give a short overview of the modern methods for producing electronic voices to everyone who is interested in electronic devices and the MIDI interface and who has no ambition to get into extensive technical details.The music of electronic instruments has become almost perfect. We will get some aspects about standard (panel) and no n-standard voices of the YAMAHA MIDI-devices.

What is MIDI?

MIDI is an interface between a midi-controller which receives the notes entered by the musician or some software and a synthesizer which produces sound that can be heard with the ears. MIDI has the ability to accept a lot of information needed to produce good sound, i.e. the notes with their timing, length and velocity, the instruments (voices) of the played notes and many effects to alter the sound. A MIDI file is a file format designed to store all these data for reproduction by a MIDI player unit.

A MIDI file consists of a sequence of events with different tasks, each of them connected with a time signature. Detailed descriptions can be found on the internet. The only (limited) scope of this paper is to provide some information about the method of assigning the voice when playing on the keyboard.

Banks and Voices

A MIDI-Synthesizer has 16 voice-channels. Each of these can be assigned separately to an own instrument. In YAMAHA-keyboards the channels 1 to 4 are reserved to the parts Lead, Right1, Right2 and Left whereas 9 to 16 are the channels of the accompaniment by the styles. The channels 5 to 8 are used by the different parts of Multi Pad. The two drum channels are 9 and 10 (Rhy1, Rhy2). The last channels from 11 to 16 are used for Bass, Chord1, Chord2, Pad, Phrase1 and Phrase2. You can play several notes simultaneously on each channel. The maximal polyphony at PSR-8000 is limited to 64, the limit of the successors PSR-9000, 9000Pro and Tyros is 128.

General MIDI (GM) is a standard MIDI format, well known by the MIDI-devices of nearly all manufacturers and most PC soundboards. GM devices allow a choice of 128 instruments only. There is a special event in MIDI to assign one of these instruments to a specific channel. After this "Program Change"-event is sent, the synthesizer plays this instrument on the channel.

YAMAHA and others have created manufacturer specific extensions of GM. YAMAHA's format is XG. XG-Synthesizers like PSR-8000 and other devices of YAMAHA allow the choice of much more instruments to each one of the 16 channels. Because of the limit of 128 different numbers for each data in all MIDI-events, there were introduced two additional events in the group of so called controller events: the controller event no. 0 "Bank Select MSB" and no. 32 "Bank Select LSB". Both events are sent one by one for a given channel and each is assigned a number between 0 and 127 (MSB resp. LSB). The pair of data (MSB,LSB) specifies an instrument bank. (MSB,LSB) often is mapped to a single bank-number by the formula MSB*128+LSB. Each instrument bank can have up to 128 different instruments which have to be activated by a following "Program Change"-event. Therefore XG has the feature to define 128*128 banks, each of them with 128 instruments. But this is theory only. The modern YAMAHA-keyboards allows the choice between about 1200 voices; it should be enough, I think.

Assigning voices on PSR-8000 for example

It is simple to change the voice at the PSR-8000. After activating the voice button above one of the parts Left, Right1, Right2 or Lead, press the button of the instrument group and select the instrument you want to assign to the part.

What happens in the MIDI if you change the voice of Lead to Oboe in the group Saxophone, for example?

There are three events needed.

Event 1: Controller no. 0 to channel 1: Bank Select MSB with the data (MSB) = 0.

Event 2: Controller no. 32 to channel 1: Bank Select LSB with data (LSB) = 112

Event 3: Program Change with data (voice number) 68.

After the first two events we have switched the bank 112, a bank of original voices of the keyboard. The instrument Oboe has got the voice-number 68 in this bank, it is assigned by event 3.

Banks, XG- and original voices of YAMAHA keyboards

All banks for usual melody voices like Oboe or Piano have the property MSB=0.

The banks (MSB,LSB) = (0,LSB), LSB = 0 to 101 are XG-Banks whereas (0,LSB), LSB=112 to 126 are reserved to the original or panel voice-banks. (MSB,LSB)=(0,126), voice number 17 is assigned to the Organ Flute. Not each number LSB of the intervals is assigned to an existing bank and not each voice number 1,...,128 ist connected to an existing instrument.

All XG noises like Rain or DoorSqueak have the property MSB=64.The Custom Voices of the PSR-8000 have MSB=111 with voice numbers 1 to 32, the Tyros locations are MSB 63, LSB 0 with voice-numbers 1 upto 128. The SFX Kits have a MSB=126 and the other XG-Kits like StdKit1 or Dance Kit have the MSB=127.

We find the MSB, LSB and voice-number of each voice in the lists of the keyboard-manuals. But there is another easy way to get these. With the PSR-8000 for example use the function F8 (Utility) and switch on Display MIDI bank & PC#. After this the three numbers are displayed with the names of the voices.

Last Remarks

Within the PSR-keyboards, YAMAHA has created model-specific new banks to get new voices. These banks are extensions of the usual XG-Banks. PSR-9000 and other PSR-models use the same banks with more ore less voice-numbers. The number of available drum kits are different on different PSR models too.

If anyone has the ambition to create new songs or styles he should be aware that most of the elder keyboards cannot use voices of these new banks. When playing these keyboards, non-existent voice-numbers and non-existent banks are mapped to the XG-bank 0; here the voice-number is valid. The result: We don’t get the voices we intended to but voices of similar instruments.

We get more problems if we try to play such songs on devices, which know GM only, because GM uses drum-voices at channel 10 only and uses a melody-voice instead of percussion with the Rhy1-channel 9. Read my article "XG Sounds at PC".