Purple Hearts hpmusic

Die Voices der YAMAHA Keyboards

Tuesday, 19 October 2004
Dieser Artikel soll einen Einblick in die Organisation und Einbettung der Voices bei den MIDI-fähigen YAMAHA-Keyboards vermitteln. Es werden Aussagen zu den YAMAHA-XG- und Panel-Voices gemacht.

Was versteht man unter dem Begriff MIDI?

MIDI ist eine Datenschnittstelle zwischen einem MIDI-Controller, der die eingegebenen Noten vom Musiker oder von MIDI Playern (Sequenzer oder Keyboard) entgegennimmt, in MIDI-Befehle umwandelt und der Software-Einheit, dem sogenannten Synthesizer oder Klanggenerator, übermittelt, die letztendlich daraus der Klang erzeugt. Über MIDI werden nicht nur die Kommandos an den Klanggenerator zum Spielen eines bestimmten Tons übertragen, sondern darüber hinaus eine Menge von zusätzlichen Informationen, z.B. zur Verbesserung des Klangs durch Überlagerung von Effekten wie Echo oder Hall. Eine MIDI-Datei ist eine Binärdatei, die alle diese Daten zusammen den erforderlichen Zeitangaben enthält. Ein MIDI-Player, der eine MIDI-Datei abspielt, hat ausschließlich die Aufgabe, die MIDI-Daten der Datei zum richtigen Zeitpunkt an den Klanggenerator weiterzuleiten; z.B. beim PC an den Soundchip auf dem Motherboard, an eine Soundkarte oder über eine MIDI-Kopplung zu einem Keyboard oder Synthesizer.

Was versteht man unter einer Voice?

Mit bestimmten Tasten am Yamaha Keyboards lassen sich den verschiedenen Parts wie L, R1, R3 u.s.w. die Klänge verschiedener natürlicher oder virtueller Musikinstrumente zuordnen; z.B. ein bestimmtes Piano, eine Violine , einen Chor oder auch eine spezielle Gruppe von Perkussionsinstrumenten (Drums). In den Handbüchern wird ein solcher Klang mit dem englischen "Sound", "Patch", "Program" oder wie hier mit "Voice" bezeichnet.

Detaillierte Darstellungen dieser Sachverhalte sind im Internet zu finden, siehe "Good Links".

Was versteht man unter GM, XG und GS?

Mit General MIDI (GM) wurde im Jahr 1991 eine herstellerunabhängige Norm geschaffen, die heute bei allen kommerziellen Synthesizern sowie den PCs Standard ist, d.h. MIDI-Dateien vom Typ GM werden von allen Synthesizern korrekt abgespielt. GM lässt jedoch auch spezielle hersteller- und Keyboard-modell-spezifische Erweiterungen zu, so dass die meisten für hochentwickelte MIDI-Synthesizer hergestellte MIDI-Dateien auf reinen GM-MIDI-Synthesizern oder auf solchen anderer Hersteller häufig unbefriedigende Klangresultate erbringen.

Die Hersteller YAMAHA und Roland setzen solche Erweiterungen vón GM ein. Das heutige Standard-Format der Yamaha-Keyboards und -Synthesizern ist XG (Extended General MIDI). Das entsprechende Format von Roland ist GS (General Sound), unterscheidet sich aber in wesentlichen Teilen von XG.

Banks und Voices

MIDI und damit jeder MIDI-Klangerzeuger unterstützt genau 16 verschiedene MIDI-Kanäle. Jeder aktive Kanal ist zu einem beliebigen Zeitpunkt mit einer eigens diesem Kanal zugeordneten Voice assoziiert. Das bedeutet, dass nicht mehr als 16 verschiedene "Instrumente" zum gleichen Zeitpunkt erklingen können. Bei reinen GM-MIDI-Synthesizern ist Kanal 10 ausschließlich für Schlagzeug-Voices (Drums) reserviert; d.h. auf Kanal 10 kann keine Melodie-Voice und auf den anderen Kanälen keine Drum-Voice ertönen. Die YAMAHA-Keyboards besitzen diese Einschränkung nicht, jedoch gibt es beim Live-Spiel hier auch feste Zuordnungen bei den MIDI-Kanälen.

Am Yamaha-Keyboard sind die Melodie-Parts Lead, Right1, Right2 und Left sind den Kanälen 1, 2, 3 und 4 zugeordnet. Die vier Pads der Multi-Pads liegen auf den Kanälen 5, 6, 7 und 8. Die Kanäle 9 bis 16 gehören den Parts der automatischen Begleitung (Accompaniment): es sind 9 und 10 die Drum-Kanäle für die Parts Rhy1 und Rhy2; 11 ist Bass zugeordnet, auf 12 und 13 liegen Chord1 und Chord2, Kanal 14 ist für Pad vorgesehen und die Kanäle 15 und 16 sind den Parts Phrase 1 und Phrase 2 zugeordnet.

Diese feste Zuordnung ist jedoch beim Abspielen von MIDI-Dateien nicht erforderlich: Hier werden Melodie-Voices mit Ausnahme von Kanal 10, der üblicherweise für Drumkits vorgesehen ist, beliebigen Kanälen zugeordnet.

Auf jedem Kanal wird zu jedem Zeitpunkt nur eine Voice gespielt. Jedoch können gleichzeitig mehrere Töne (Akkorde) der eingestellten Voice erzeugt werden. Die Anzahl der gleichzeitig über alle Kanäle hinweg abgespielten Töne ist jedoch beschränkt: Beim PSR-8000 liegt zum Beispiel diese Polyphonie-Grenze bei 64 und beim Genos bei 256. Dabei ist aber zu berücksichtigen, dass komplexe Voices mit speziellen Effekten die Polyphonie mehrfach belasten. Die darüber hinaus angespielten Töne bleiben stumm. Die Auswirkung ist insbesondere bei älteren Keyboards unangenehm, wenn wichtige Melodietöne nicht gespielt werden.

Die XG-MIDI-Synthesizer der YAMAHA-Keyboards bieten wesentlich mehr als Voices als unter GM an. Da jeder MIDI-Befehl nur Daten mit einem Wert zwischen 0 und 127 übertragen kann, wurden mit XG zwei zusätzliche Events der Gruppe der Controller für die Erweiterung der Anzahl der Voices eingeführt: Die Controller 0 "Bank Select MSB" und 32 "Bank Select LSB". Um eine neue Voice auf einem bestimmten Kanal einzustellen, werden beide Controller-Befehle nacheinander für diesen Kanal gesendet; mit jedem eine Nummer zwischen 0 und 127 (MSB bzw. LSB). Das Pärchen (MSB,LSB) definiert eine sogenannte Voicebank mit der Nummer "128*MSB+LSB". Diese beiden Befehle reichen jedoch noch nicht aus. Erst das nachfolgende "Program Change"-Event, dem eine Voice-Nummer mitgegeben wurde, bewirkt die Einstellung der neuen Voice aus der angewählten Voicebank.

Unter Yamaha XG werden jeder Voice damit eindeutig drei Zahlen zugeordnet werden, jede zwischen 0 und 127: MSB, LSB und eine Voice-Nr.. Damit sind theoretisch 128*128 = 16384 Banks möglich, wobei jede 128 Voices enthalten kann. Die YAMAHA-Keyboards bieten heute mehr als 1000 verschiedene Voices an.

General MIDI Klangerzeuger werten die Voicebank-Events Controller 0 und 32 nicht aus. Bei Melodie-Voices wird mit dem Program Change Event eine der 128 GM-Voices angewählt. Über Program Change für den Perkussions-Kanal 10 wird eine der 10 Drumkits und der Perkussionsklang eingestellt.

Da in MIDI-Dateien vom Typ XG ist spezielle Drum-Bank 16256 (MSB=127, LSB=0) vorgesehen. Bei Vorliegen dieser beiden Controller bleiben die Drums von Kanal 10 stumm. XG MIDI-Dateien sollten daher vom PC aus nur über eine Kopplung zum Yamaha Keyboard abgespielt werden. Bei Melodie-Voices werden XG-Voicebank-Controller jedoch nicht ausgewertet, also überlesen. Hier wird also die durch das Program Change Event festgelegte GM Melodie Voice. eingestellt.

Die Einstellung einer Voice für das Live-Spiel am Yamaha-Keyboard

Mit den Tasten kann sehr einfach eine neue Voice eingestellt werden. Nach der Aktivierung der Voice-Taste oberhalb der Parts Left, Right1, Right2 oder Lead, wird die Instrumentengruppe angewählt und dann die gewünschte Voice dieser Gruppe ausgewählt.

Was passiert im MIDI, wenn man beispielsweise die Voice des Kanals Right1 auf die Oboe Der Voicebank 0 in der Gruppe der Saxophone einstellt?

Drei MIDI-Befehle werden dazu benötigt.

Befehl 1: Controller Nr. 0 für Kanal 2: Bank Select MSB mit dem Datenwert (MSB) = 0.

Befehl 2: Controller Nr. 32 für Kanal 2: Bank Select LSB mit dem Datenwert (LSB) = 0

Befehl 3: Program Change für Kanal 2 mit dem Datenwert (Voice Nr.) 68.

Mit den ersten beiden Befehlen wird die Bank 0 eingestellt. Das ist die Basisbank aller Voices der YAMAHA-Keyboards, die sogenannte GM und XG Bank. Das Instrument Oboe besitzt in dieser Bank die Voice-Nr. 68, mit Befehl 3 ist die Zuordnung abgeschlossen und die Voice kann gespielt werden.

Voice-Banks, XG- und Panel-Voices

Die Voice-Banks (MSB,LSB) = (0,LSB), LSB = 0,1,... 101 sind XG-Banks zur Aufnahme der 480 sogenannten XG-Lite-Voices, die schon 1994 festgelegt wurden . Die 128 Voices der Voicebank MSB = LSB = 0 sind die Melodie-Voices von GM.
(MSB,LSB)=(0,LSB), LSB=112 und folgende. sind die Banks der sogenannten Panel-Voices,
(MSB,LSB)=(0,126), Voice Nr. 17 ist die Organ Flute.

Nicht jede LSB-Nr. gehört auch zu einer vorhandenen Bank und nicht jede Voice-Nr. ist mit einer Voice belegt.

Alle XG Geräusche wie Rain oder DoorSqueak haben MSB=64, die Custom Voices haben beim PSR-8000 MSB=111 mit den Voice-Nummern 0 bis 31. Die SFX Kits haben MSB=126 und die anderen XG-Kits wie Standard Kit1 oder Dance Kit haben MSB=127.

Zu den sogenannten Expansionsvoices bei neueren Keyboardmodellen verweise ich auf meinen Artikel "Expansion Voices und Cakewalk Instrumentendefinitionen" unter Articles - German.

Die Werte für MSB, LSB and Voice-Nr. sind in den Tabellen der Keyboard-Data-Listen enthalten (Voice-List). Es gibt aber auch eine einfachere Methode, diese herauszufinden. Zum Beispiel stellt man beim Tyros5 hierzu unter "FUNCTION - UTILITY - VOICE NUMBER" den Parameter "HIDE" um auf "SHOW".

Über Voice-Sets und User-Voices

Beim Live-Spiel an Yamaha Keyboards wird jeder über Controller 0, 32 und Program Change eingestellten Voice zur Klangoptimierung eine auf die Voice abgestimmte Gruppe von Effekt-Events aktiviert, das sogenannte Voice-Set. Es handelt sich dabei um Controller Events, NRPN und XG-Effekt-SysExe. Einige Voices wie die Organ Flutes und die Distortion Gitarren erhalten erst dadurch ihren speziellen Klang. Bei einer Live-Aufnahme einer MIDI-Datei (Recording) am Keyboard werden diese Voice-Sets ebenfalls übernommen; beim Revoicen am Keyboard oder mit Sequenzern werden Voice-Sets aber nicht berücksichtigt.

Wird eine Voice mit Voice-Set-Events mit dem Keyboard bzw. Sequenzer geändert (revoiced), z.B. eine Distortion-Gitarre durch ein Piano, wird das vorhandene Voice-Set weder gelöscht noch ausgetauscht. Das kann unerwartete Folgen auf den Klang haben. Dieses Problem wird beim Revoicen durch das sogenannte "Voicefile Revoicing" meines Programms PSRUTI vermieden: Es wird nicht nur das vorhandene Voice-Set entfernt, sondern auch durch das Voice-Set den neuen Voice ersetzt. Das gilt ebenso für das Revoicen mit sogenannten User-Voices, bei denen das Standard-Voice-Set vom Benutzer durch die Keyboard-Funktion "Voice Edit" verändert wurde.

Ein Voice-Set.Beispiel:

Die Yamaha Keyboards bieten eine Reihe von Organ Flute Voices an. Alle diese Voices werden über das gleiche Tripel MSB=0/ LSB=126/Voice=16 adressiert. Der spezifische Klang wird allein durch unterschiedliche Voice-Sets erreicht.
Beim Abspielen der MIDI-Datei

Organ Flute Demo

wechselt die Organ Flute von "BluesOrgan" zu "Sixteen&One".

Sind die MIDI.-Dateien von GM, Yamaha XG und Roland GS untereinander kompatibel?

GM-Dateien werden mit XG- und GS-Klangerzeugern korrekt abgespielt.

XG-Dateien lassen sich nur dann auf GM Klangerzeugern abspielen, wenn sie ausschließlich die XG-Lite Voices benutzen. Besondere Probleme bereiten die Mega-Voices. Mit dem Synthesizer "Microsoft GS Wavetable Synth" von Windows werden XG-Dateien nicht korrekt abgespielt.

GS-Dateien können mit XG- und GM-Klangerzeugern abgespielt werden. Am Yamaha Keyboard werden GS- und GM-Dateien intern konvertiert

Abschließende Bemerkungen

YAMAHA hat bei seinen Keyboards modell spezifisch unterschiedlich ausgestattete neue Voice-Banks eingeführt. Diese Banks sind Erweiterungen der auf allen Modellen identisch vorhandenen XG-Banks. Das Abspielen einer MIDI-Datei auf einem YAMAHA-Keyboard ist unproblematisch, wenn Panel-Voices benutzt werden, die dieses Gerät nicht kennt: es wird statt dessen automatisch eine ähnliche Voice einer anderen Bank ausgewählt.

Wenn man jedoch Ambitionen hat, Styles oder Songs für möglichst viele YAMAHA-Modelle zu kreieren, ist es sicher besser, wenn man sich ausschließlich auf die XG-Voices beschränkt; eventuell noch unter Hinzunahme der Panel-Voices der Basis-Panel-Voice-Bank 112. Anderenfalls besteht die Gefahr, dass Voices zu hören sind, die man nicht gewollt hatte.

Noch mehr Probleme sind zu erwarten, wenn man versucht, solche Songs auf MIDI-Synthesizern abzuspielen, die nur GM kennen. Hier sollte man grundsätzlich nur die Instrumente der XG-Bank 0 benutzen und Drum-Kit Standard Kit 1 ausschließlich auf Kanal 10 betreiben bzw. Kanal 10 nicht für Melodie-Voices benutzen. Die YAMAHA-Keyboards benutzen nämlich die Voices dieser Banks beim Abspielen von GM-MIDI-Dateien. Näheres hierzu in meinem Artikel "XG Sounds at PC".

Ende



Artikel drucken