Mit dem Selbstbau-Interface steuern Sie Ihr
Keyboard und verewigen und analysieren eigene Kompositionen. Die Band aus dem C64 Ein Begriff ist für Musiker kaum mehr wegzudenken. - MIDI -. Diese Computerschnittstelle ist inzwischen fast in jedem Tastaturinstrument eingebaut und erlaubt die externe Steuerung oder steuert weitere Instrumente, seien es weitere Keyboards oder Synthesizer oder Stimmgeneratoren, sog. Expander. Das Übertragungsverfahren dabei ist relativ einfach, die Daten eines Steuerworts (8 Bit) werden seriell (Bit für Bit) übertragen. Allerdings relativ schnell, mit 31,25 KBaud (31259 Bit pro Sekunde). Leider beherrscht der C64 diese Geschwindigkeit nicht. Doch dafür stellen wie Ihnen eine Schaltung zur Verfügung, Die entsprechende Software lässt ein Analysieren und Speichern zu und erlaubt sogar die Steuerung des Keyboards. In der Zeit vor MIDI war es kompliziert und teuer, Musikinstrumente miteinander zu synchronisieren. Zwar gab es auch hier schon Geräte, die sich miteinander verknüpfen ließen, aber dies funktionierte nur jeweils innerhalb einer Firmenmarke oder setzte zig Steuerleitungen voraus. Das Geburtsjahr für eine neue Instrumentengeneration wurde 1980.Daten der MIDI-Norm Die Vorteile von MIDI liegen nicht nur in der Verknüpfung unterschiedlichster Musikinstrumente, sondern auch in deren Steuerung per Computer. Erst dadurch kann auch ein Hobbymusiker ein komplettes Orchester in den Computer einspielen und ohne großen Kostenaufwand erklingen lassen. Beachtenswert ist, dass dies auch mit dem C64 möglich ist. Allerdings sollte man die Norm kennen bevor man sich ein eigenes Programm maßschneidert. Die Daten werden, wie schon erwähnt, seriell übertragen. Zur Erkennung der Daten wird zu Beginn einer Übertragung ein Status-Byte gesendet. Bei ihm ist grundsätzlich das höchstwertige Bit (Bit 7) gesetzt. Danach können beliebig viele Daten-Bytes folgen. Bei ihnen ist immer Bit 7 gelöscht. Die Daten-Bytes lassen sich in drei Hauptgruppen aufteilen: 1. Channel Information ...ist Steuerinformation und enthält in den vier höchstwertigen Bits (oberes Nibble) das Steuerwort. In den vier niedrigstwertigen folgt die angesprochene Kanalnummer (0 bis 15 entspricht Kanälen 1-16). Da diese Kanalinformation in den angeschlossenen Geräten ausgewertet wird, lassen sich bis zu 16 Geräte unabhängig voneinander steuern. Als Standard werden von allen MIDI-Geräten folgende Befehle verstanden: $9X - 144+Kanal (X) - Note anDieser Information folgen zwei Daten-Bytes: 1.Byte: $00 bis $7F (127) - Tastennummer (Key) Das mittlere >C< hat die Nummer 60. Alle C-Tasten entsprechen dem Vielfachen von 12. 2.Byte: $00 bis $7F (127) - Anschlag (Velocity) 1 = leicht, 127 = stark. Bei >0< wird die Note ausgeschaltet. Keyboards ohne Anschlagdynamik senden immer 64. $8X - 128+Kanal (X) - Note aus ...hier folgen ebenfalls zwei Daten-Bytes: 1.Byte: $00 bis $7F (127) - Tastennummer (Key) 2.Byte: $00 bis $7F (127) - Release ...entspricht der Geschwindigkeit beim Loslassen der Taste. $AX - 160+Kanal (X) - Tastendruck ...auch hier folgen zwei Daten-Bytes: 1.Byte: $00 bis $7F (127) - Tastennummer (Key) 2.Byte: $00 bis $7F (127) - Aftertouch ...entspricht der Stärke des Tastendrucks. Dadurch lässt sich ein Ton nach dem Drücken der Taste in der Lautstärke beeinflussen. Diesen Parameter können allerdings die meisten Keyboards nicht senden. $BX - 176+Kanal (X) - Parameteränderung ...wieder folgen zwei Daten-Bytes: 1.Byte: $00 bis $7F (127) - Befehl ...wird herstellerspezifisch festgelegt, lediglich vier Werte sind definiert: 124 Fernbedienung an/aus 125 Omni-Mode an, alle Noten aus 126 Mono-Mode an, alle Noten aus 127 Poly-Mode an, alle Noten aus 2.Byte: $00 bis $7F (127) - Parameterwert Für die Modus-Befehle ist dieser Wert immer Null, bei Fernbedienung bedeutet 0 = fernbedient, 127 = intern. $CX - 192+Kanal (X) - Parameterwechsel ...hier folgt 1 Daten Byte: $00 bis $7F (127) Programmnummer $DX - 208+Kanal (X) Taste (Mono-Mode) ...auch hier folgt 1 Daten-Byte: $00 bis $7F (127) - After Touch bei Mono-Mode $EX - 224+Kanal (X) - (Tonhöhe) Pitch-Wheel ...hier folgen wieder zwei Daten-Bytes: 1.Byte: $00 bis $7F (127) - MSB Veränderung 2.Byte: $00 bis $7F (127) - LSB Veränderung Beide Bytes zusammen ergeben einen 14-Bit-Wert, der die Position das Rads wiederspiegelt. Die Mittelstellung ist >$00 $40< 2. System Exclusive - $F0 ... sind herstellerspezifische Datenbefehle. Die Anzahl der Daten-Bytes ist hier nicht vorgeschrieben. Das Steuerwort (erstes Byte, $F0 = 240) leitet den Vorgang ein, das zweite (0 bist 127) enthält eine Herstellerkennung. Trifft diese Kennung nicht für den Empfänger zu, werden alle folgenden Daten überlesen, solange Bit 7 nicht gesetzt ist. Ein beliebiges Steuerwort (Bit 7 = gesetzt), schließt die Datenübertragung ab. 3. System Realtime ... dient zum Synchronisieren von Computern, Sequenzern etc., in Echtzeit. Die Bytes sind Einbyte-Befehle und dürfen zu jedem Zeitpunkt, also auch zwischen zwei Daten-Bytes, übermittelt werden. Sie gelten für alle Kanäle: $F8 (248) - Clock... gibt einen Zeittakt 24mal pro Viertelnote $F9 (249) - Ende ... ersetzt Clock am Ende einer Sequenz $FA (250) - Start ... erscheint zu Beginn einer Sequenz. Der Clock-Impuls muss innerhalb von 5 Millisekunden folgen. $FB (251) - Fortsetzung ... wird bei der Fortsetzung einer abgebrochenen Sequenz gesendet. $FC (252) - Scnc ... erscheint während Spielpausen und sorgt für ein weiterlaufendes Timing. 4. System Common gelten unabhängig vom eingestellten Kanal. $F2 (242) - Takt/Sequenzernummer... hier folgen zwei Daten-Bytes 1.Byte: $00 bis $7F (127) - MSB Sequenznummer 2.Byte: $00 bis $7F (127) - LSB Sequenznummer $F3 (243) - Partiturnummer hier folgen zwei Daten-Bytes 1.Byte: $00 bis $7F (127) - MSB 2.Byte: $00 bis $7F (127) - LSB Beide Bytes zusammen ergeben einen 14-Bit-Wert, der die Nummer der nächsten Partitur (Sing) angibt. $F6 (246) - Stimmen ...bewirkt ein Selbststimmen der angeschlossenen Geräte, wenn Sie diesen Befehl anwenden können. 5. System Reset - $FF ... setzt alle angeschlossenen Geräte in den Einschaltzustand zurück. Vorsicht bei diesem Befehl. Software In der Image-Datei befindet sich ein Testprogramm, Es besteht
aus einem Maschinenprogrammteil, der auch eigenes Programmieren erlaubt und aus
einem kurzen Testprogramm der Schnittstelle. Verbinden Sie die MIDI-IN über ein
Diodenkabel mit der MIDI-OUT-Buchse und laden Sie das Programm mit:
Quelle: 64'er Sonderheft 84 Am Schluss vielleicht noch ein Tipp für Software zum MIDI-Interface. Wollen Sie ein Sequenzer-Programm benutzen, dann empfiehlt sich das Programm "Supertrack" von C-Lab-Software. Besitzen Sie einen DX 7 von Yamaha, so kommen Sie mit dem Programm "DX 7 Editor" von Steinberg Research um den Kauf eines teuren RAM-Cartridges herum. Mit diesem Programm ist es nämlich möglich, die Musikdaten des DX 7 auf eine Diskette zu speichern und von dort auch wieder in den Computer zu laden. Quelle: 64'er Sonderheft 13
"Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !" |