Es gibt leider keine Programme, um Midi-Maps zu erstellen. Sie mssen also die entsprechende Datei von Hand bearbeiten. Dazu gengt jeder Texteditor, insbesondere derjenige, den Sie normalerweise benutzen.
Eine Midi-Map ist eine Textdatei, die alle bentigten Umsetzungen fr das Abspielen eines Stckes speichert.
Die Datei besteht aus vier Abschnitten: PATCHMAP, KEYMAP, CHANNELMAP und OPTIONS.
Jeder Abschnitt darf nur einmal erscheinen, auer dem KEYMAP -Abschnitt, der so oft erscheinen darf wie gewnscht. Voraussetzung dafr ist aber, da jedes Auftreten eine unterschiedliche TextID besitzt (siehe unten).
Der allgemeine Aufbau einer Midi-Map ist wie folgt:
DEFINE PATCHMAP ... END DEFINE KEYMAP "Name der Keymap" ... END DEFINE KEYMAP "Eine weitere Keymap" ... END DEFINE CHANNELMAP ... END OPTIONS ... END |
Sie sehen, da DEFINE gebraucht wird, um anzuzeigen, da ein Abschnitt beginnt (auer fr OPTIONS) und END, da das Ende eines Abschnittes erreicht ist.
Sie knnen Kommentare einfgen, indem Sie am Anfang der Zeile ein -Zeichen setzen.
Bitte schicken Sie mir Ihre Map-Datei als Email, damit ich in zuknftigen Versionen von KMid Untersttzung bieten kann fr Gerte, die nicht General-Midi-kompatibel sind.
In diesem Abschnitt wird angegeben, wie die Patches von General Midi auf Ihr spezifisches Keyboard abgebildet werden. Der allgemeine Gebrauch sieht wie folgt aus:
(Name des GM Patch)=(N) [AllKeysTo M] |
Wobei N die Nummer ist, die Ihr Keyboard braucht, um Patches empfangen zu knnen.
Bitte beachten Sie, da die linke Seite des Gleichheitszeichens ignoriert wird. Es wird angenommen, da die General Midi Patches in der richtigen Reihenfolge vorliegen (von 0 bis 127), Sie drfen die Reihenfolge also nicht ndern und auch keine Zeile fr eines der 128 Instrumente weglassen.
Das optionale AllKeysTo M wird gebraucht, um alle Tne, die dieses Instrument brauchen, auf den Ton mit der Nummer M zu legen. Wenn Ihr Keyboard zum Beispiel keinen Gewehrschu untersttzt (General Midi Patch 127), knnen Sie eine Trommel (z.B. mit Ton 60) nehmen, die hnlich wie ein Gewehrschu tnt. Dazu tragen Sie folgendes in den PATCHMAP Abschnitt ein:
Gewehrschu =100 AllKeysTo 60 |
Wenn jetzt also eine Midi-Datei eine Note mit Patch 127 (Gewehrschu) spielen soll, nimmt es Patch 100 (die Trommel auf Ihrem Keyboard) und spielt den Ton 60, unabhngig davon, welcher Ton in der Midi-Datei steht.
Bitte beachten Sie, da hier mit dem Begriff "Trommel-Patch" der Patch gemeint ist, wo jeder Ton ein anderes Perkussionsinstrument (Trommel, Tschinelle, Maracas usw.) darstellt und nicht derjenige, wo der Ton die Tonhhe der immer gleichen Trommel bedeutet (wie ihn manche Keyboards besitzen).
Der KEYMAP Abschnitt wird gebraucht, um anzugeben, wie Tne auf einem bestimmten Kanal oder Instrument abgebildet werden. Der Gebrauch ist:
DEFINE KEYMAP "Name der Keymap" C 0 =0 C#0 =1 D 0 =2 ... END |
Wie beim PATCHMAP Abschnitt ist die Reihenfolge der Zeilen sehr wichtig, ebenso deren Vorhandensein. Sie mssen also 128 Eintrge erstellen.
Sie knnen fr jeden Kanal und jedes Instrument mehrere Keymaps definieren. Sie mssen nur in der ersten Zeile verschiedene Namen verwenden.
Keymaps werden vor allem gebraucht, um Tne auf den Perkussions-Kanal abzubilden. Schauen Sie sich als Beispiel die mitgelieferten Keymaps an.
Dieser Abschnitt kann gebraucht werden, um einige Kanle auf andere abzubilden. Wenn Sie zum Beispiel den ersten und den zweiten Kanal vertauschen wollen, machen Sie das ganz einfach im CHANNELMAP Abschnitt.
Allerdings sind diese Einstellungen ntzlicher fr Keyboards, welche die Perkussion auf einem bestimmten Kanal haben (General Midi auf Kanal 10, andere brauchen die Kanle 16 oder 9).
Midi-Gerte brauchen 16 Kanle, der CHANNELMAP Abschnitt hat also 16 Zeilen, numeriert von 0 bis 15, aufgebaut nach folgendem Muster:
(N) = (M) [Keymap "Name"] [ForcePatch x] |
N ist dabei der Kanal, welcher auf den Kanal N abgebildet wird. Wenn Sie die Keymap Option benutzen, wird die Keymap mit dem Namen Name fr diesen Kanal gebraucht. Die entsprechende Keymap mu natrlich weiter vorne in der Datei definiert sein! Wenn Sie die ForcePatch Option benutzen, werden alle Ereignisse ignoriert, die den Patch auf diesem Kanal zu ndern versuchen. In diesem Fall wird dann immer Patch x benutzt.
Die ForcePatch Option kann zum Beispiel ntzlich sein, um immer den Perkussions-Patch auf dem Perkussions-Kanal zu benutzen.
Im OPTIONS Abschnitt knnen Sie einige ganz ntzliche Einstellungen vornehmen:
OPTIONS PitchBenderRatio = r MapExpressionToVolumeEvents END |
Sie knnen eine, keine oder beide Einstellungen angeben.
Der Wert fr PitchBenderRatio gibt an, in welchem Verhltnis Pitch-Bender-Ereignisse multipliziert werden. Wenn also eine Midi-Datei ein Pitch-Bender-Ereignis sendet mit dem Wert n, wird dieses mit der Formel n*(r/4096) umgerechnet und dann erst weitergeleitet. Der Wert 4096 wird benutzt, damit in der Map-Datei keine Dezimalkommas stehen).
Diese Einstellung wird gebraucht, weil General Midi vorgibt, da ein Keyboard, das ein Pitch-Bender-Ereignis erhlt mit dem Wert 4096, einen Ton hher spielen soll. Leider versuchen aber einige Keyboards um zwei Tne bis zu einer Oktave hher zu spielen. Um den richtigen Wert auf Ihrem Keyboard zu finden, mssen Sie ein bichen mit KMid rumprobieren.
Wenn die Einstellung MapExpressionToVolumeEvents gebraucht wird und eine Midi-Datei ein Ausdruckereignis schickt, wird dieses in ein Lautstrkeereignis umgewandelt. Dieses hat den gleichen Effekt, wird aber von mehr Keyboards verstanden. Viele Midi-Dateien brauchen Ausdrucksereignisse, um am Schlus eines Liedes auszublenden. Wenn Sie also wollen, da die Musik immer leiser und leiser wird, knnen Sie diese Einstellung ausprobieren. Vielleicht funktioniert es auch mit Ihrem Synthesizer.