General MIDI und seine Erweiterungen |
Im Jahre 1982 entwickelten die seinerzeit führenden Synthesizer-Hersteller den MIDI-Standard. Dadurch sollten Synthesizer verschiedener Hersteller miteinander verbunden und ein Gerät vom anderen aus bedient werden können. Der Standard setzte sich am Markt durch und so wurden die meisten Geräte mit einer MIDI-Schnittstelle ausgerüstet. Seit dieser Zeit wachen die beiden MIDI-Organisationen IMA (International MIDI Association für die Anwender) und MMA (MIDI Manufacturer Association für die Hersteller) über den MIDI-Standard, der im Lauf der Zeit weiterentwickelt wurde. |
Innerhalb der MIDI-Konventionen sollte ein Minimal-Standard für die Abfolge von Klängen, die ein Synthesizer zur Verfügung stellen sollte, geschaffen werden. Dadurch sollte es möglich werden, dass ein im MIDI-Standard produziertes Stück auf allen kompatiblen Klangerzeugern abgespielt werden kann. Dieser Standard nennt sich General MIDI – GM – und ist zu einem festen Bestandteil der MIDI-Welt geworden. |
Der GM-Standard beinhaltet eine fest vorgeschriebene Reihenfolge von 128 Klang-Programmen. Diese beginnt mit Nr. 1, stets einem akustischen Piano; Nr. 25 ist beispielsweise eine akustische Gitarre und Nr. 65 ein Saxofon usw. Was mittels GM nicht festgelegt wird, ist die Art der Tonerzeugung, mit denen ein Instrument die Klänge erzeugt, sowie irgendwelche Qualitätsstandards. Die Klangcharakteristik der festgelegten Instrumente ist daher nach wie vor unterschiedlich und herstellerabhängig. Ein GM-Instrument muss allerdings in der Lage sein, mindestens 24 Stimmen gleichzeitig spielen zu können (Polyphonie). Darüber hinaus muss es 16fach multitimbral sein sowie Anschlagdynamik (Velocity) und Tastendruckdynamik (Aftertouch) verarbeiten können. Ebenfalls vorgeschrieben ist die Verteilung der Schlaginstrumente eines Drumsets über die Tastatur. Hierfür ist der MIDI-Kanal 10 reserviert. Als MIDI-Controller sind über ControlChange-Befehle unter GM erreichbar: Modulation (CC 1), Volume (CC 7), Panorama (CC 10), Expression (CC11), Sustain (CC 64), Controller-Reset (CC 121) und All Notes Off (CC 123). Außerdem gibt es als „Registered Parameters“ zur Geräte-Steuerung wie Pitch Bend (RPN 0), Fine Tune (RPN 1), Coarse Tune (RPN 2). |
GM wurde von den Herstellern als Einschränkung der technisch realisierbaren Klangvielfalt empfunden. Daher entwickelte Roland umgehend einen eigenen, weiter gefassten Standard: GS (General Standard). Dieser enthält zunächst den vollständigen GM-Standard, sodass GS-Instrumente in jedem Fall Stücke, die für GM produziert wurden, wiedergeben können. Statt 128 Klängen wie unter GM können unter GS nun jedoch über 16.000 Klänge angesprochen werden. Wie ist das möglich, wo doch mithilfe eines ProgramChange-Befehls über MIDI stets nur 128 verschiedene Einstellungen zur Auswahl stehen? Die Antwort ist der BankSelect-Befehl (ControlChange 0 und 32), mit dessen Hilfe sich 128 komplette Anordnungen von Klängen („Sound-Bänke“) umschalten lassen. Somit ergibt sich eine zumindest theoretisch verwaltbare Anzahl von 128 x 128 = 16.384 Klängen, die allerdings kein Klangerzeuger wirklich vollständig bietet. ControlChange 0 = 0 ist die Sound-Bank Nr.1, die stets streng nach GM-Norm angelegt ist und sich dadurch immer zur Wiedergabe von entsprechend produzierten Stücken eignet. Die weiteren 63 Bänke, auf die sich Roland beschränkt, beinhalten mehr oder weniger zahlreiche Klangvariationen. Bei einer fest eingestellten ProgramChange-Nummer wird also mittels ControlChange-0-Nummer zwischen den Variationen umgeschaltet. Eine weitere Klangumschaltung wäre nun nach dem GS-Standard auch noch über ControlChange 32 möglich, wodurch sich dann die Anzahl der auf einem Instrument darstellbaren Klänge auf 128 x 128 x 128 = 2.097.152 ausdehnen könnte! Jedenfalls schreibt GS nicht vor, dass in einem Instrument alle Klangvariationen implementiert sind müssen, sodass die jeweiligen Klang-Tabellen (Tone-Maps) immer Lücken aufweisen. Dies stellt jedoch kein Problem dar, weil bei Anwahl einer nicht vorhandenen Klangvariation immer automatisch der Hauptklang angewählt wird. |
Im Gegensatz zu GM bietet GS die Möglichkeit, verschiedene Klangveränderungen in Echtzeit über ControlChange-Befehle zu steuern. Vordefiniert sind hier beispielsweise Portamento, Sostenuto, Soft, sowie auch Hall- und Chorus-Intensität. Über die Controller 98 und 99 lassen sich weitere, geräteabhängige Einstellungen steuern, so z. B. detaillierte Eingriffe in den Klangsynthese-Verlauf vornehmen. Derartige Befehle können dann jedoch von Geräten, die ausschließlich nach dem GM-Standard arbeiten, nicht ausgeführt werden und werden somit einfach ignoriert. |
Die Antwort von Yamaha auf den GS-Standard von Roland ist XG (Extended General MIDI). In der Praxis haben beide System in etwa die gleichen Auswirkungen. Auch unter XG gibt es die Möglichkeit, 128 Klänge in 128 Bänken zu verwalten. Zusätzlich gibt es eine Bank mit Effekt-Klängen und eine mit Rhythmus-Instrumenten. Ebenso wie unter GS lassen sich unter XG verschiedene Klangvariationen in Echtzeit steuern. Neben den geräteabhängigen Steuerungsmöglichkeiten wurden auch weitere allgemeine Controller dafür definiert: CC 74 für die Filtereckfrequenz (Brightness), CC 71 für die Filterresonanz (Harmonic Content), CC 73 und 72 für Ein- und Ausschwingen der Amplitudenhüllkurve (Attack und Release), CC 84 für die Portamento-Zeit (Portamento Control). Außerdem sind die Controller 91, 93 und 94 für die Stärken von 3 verschiedenen Effekten vorgesehen (Effect Send Level): Reverb (mindestens 8 Typen), Chorus (mindestens 8 Typen) und Variation (mindestens 35 Typen). Ebenso wie unter GS können unter XG modellspezifische Befehle übertragen werden. Diese sind jedoch auch hier umfangreich und schwierig zu programmieren, sodass sie eher selten eingesetzt werden und zudem bei übermäßigem Gebrauch ein System überlasten können, was sich dann in Timingschwankungen bemerkbar machen könnte. |
XG beinhaltet über den GM- und GS-Standard hinaus noch die Erzeugung eines polyphonen Aftertouchs, bei dem sich die Druckdynamik immer nur auf den speziellen Ton auswirkt, dessen Taste „nachgedrückt“ wird. Es gibt jedoch nicht viele Instrumente, die dieses Feature auch eingebaut haben. Außerdem wird hierdurch ein enormes Datenaufkommen verursacht, das zu Überlastungen in einem MIDI-System führen kann. |
Hier noch einmal zusammengefasst die Instrumentengruppen des untersten Levels GM:
- 001 ... 008 Pianos
- 009 ... 016 Perkussive Instrumente (Chromatic Percussion)
- 017 ... 024 Orgeln
- 025 ... 032 Gitarren
- 033 ... 040 Bässe
- 041 ... 048 Streichinstrumente
- 049 ... 056 Ensembleklänge
- 057 ... 064 Blechbläser (Brass)
- 065 ... 072 Holzbläser (Reeds)
- 073 ... 080 Flöten (Pipes)
- 081 ... 088 Solo-Synthesizer (Synth Lead)
- 089 ... 096 Synthesizer-Flächen (Synth Pad)
- 097 ... 104 Synthesizer-Effektklänge (Synth SFX)
- 105 ... 112 Klänge aus aller Welt (Ethnic)
- 113 ... 120 Perkussions-Klänge
- 121 ... 128 Klang-Effekte (SFX)
|
Auf der Basis von GM wurde auch ein Format für die Speicherung von MIDI-Musikstücken entwickelt, das SMF (Standard-MIDI-File-Format). Nur auf der gemeinsamen Basis der GM-kompatiblen Klanganordnung sind MIDI-Musikstücke, die es inzwischen in unübersehbarer Anzahl für jede Musikrichtung gibt, erst sinnvoll einsetzbar, da ja beim Abspielen auf einem beliebigen Synthesizer/Keyboard immer gewährleistet sein muss, dass beispielsweise das vorgesehene Piano auch nach Piano klingt! Mithilfe des SMF lassen sich Musikstück nicht nur abspielen, sondern auch beliebig weiterverarbeiten, umwandeln, dem eigenen Geschmack anpassen oder ach in Noten ausdrucken. Bei der Erstellung eines SMF-kompatiblen Stückes steht man allerdings vor einem Dilemma: entweder universell abspielbar nach dem GM-Standard unter Einschränkung auf die 128 Standard-Klänge, oder eingeschränkt abspielbar nur für GS- oder XG-kompatible Instrumente, oder gar nur für ein bestimmtes Instrumentenmodell sinnvoll abspielbar. |
zurück |