ADVANCED MUSIC PROGRAMMER -------------------------
Dieses Utility ermöglicht es jedem be- gabten Nachwuchsmusiker, hervorragende Musikstücke auf dem c64 zu schreiben. Gewisse Vorkenntnisse werden natürlich vorausgesetzt. 1) Die Tastaturbelegung: F1 stellt den "Actual Step" ein. F2 Wahl des Datentyps für Disketten- operationen (SNG = Song, DAT = Lied ohne Playerroutine, NOT = Nur Noten- daten und VOI = Nur Sounds). F3 setzt den Startstep. F5 definiert den Endstep (den angege- benen Step ausgeschlossen!) F7 verändert die Routinenparameter. "P" startet bzw. unterbricht den aktuellen Songs. INS zieht den Cursor und alles, was sich unter ihm befindet, nach oben. DEL zieht den Cursor und alles, was sich unter ihm befindet, nach unten.
SHIFT + "=" kopiert den Teil zwischen Start- und Endstep an eine andere Stelle im Lied (diese wird durch die Cursor- position angegeben). SHIFT + "L" Laden ("$" bewirkt die An- zeige des Directorys) SHIFT + "S" Speichern SHIFT + "E" Sound editieren SHIFT + "I" Speicher löschen
2) Die Parameterbedeutungen:
Speed - Dieser Wert gibt die Ge- schwindigkeit des Songs an (Wert hoch - Lied lang- sam!). Volume - Lautstärke (maximal 0f)
Play Channel - Wahl der Mehrstimmigkeit Bit 0 - 1. Stimme | Wert 0 = Stimme aus Bit 1 - 2. Stimme | Wert 1 = Stimme ein Bit 2 - 3. Stimme | Beispiel: 04 - nur Stimme 3 aktiviert
Bit 7 - Wiederholung des Liedes Wert 0 - Lied wiederholen Wert 1 - Lied nicht wiederholen
Kopier-, Verschiebe- und Lösch- operationen betreffen nur die momentan eingeschalteten Stimmen. 3) Die Bedeutung von Rh (Relative High) Transponierung des gesamten Taktes um die in "Rh" angegebenen Zahlen:
Rh 02 => Takt um 2 Halbtöne höher spielen fc => Takt um 4 Halbtöne tiefer spielen
4) Edit Sound
"+" Sound vorwärts (max. 0f) "-" Sound rückwärts (min. 00) CLR Sound löschen F1 Sound merken F2 Sound wiedergeben RETURN Zurück zum Hauptmenü
5) Allgemeines Hauptbestandteil eines Tones ist die Hüllkurve ADSR (Attack, Decay, Sustain, Release, siehe c64-Handbuch). Die Register "A", "D" und "S" sind für Wellenformen zuständig, die auf ungerade Zahlen enden (Bit 0 = 1). Beispiel: 41, 81, 51, 47, 15 Für gerade endende Wellenformen (Bit 0 = 0) läßt sich dann logischerweise das Register "R" verwenden. Die vordere Zahl des "Pulse-Hi-Bytes" gibt die Schranken für das "Add. Pulse"- Register an, die hintere Zahl ändert den Klangcharakter der Wellenform 41 und verursacht eine Lautstärkenänderung bei 51. In Verbindung mit "Add Pulse" lassen sich also komplexe Klangstrukturen er- stellen. Durch setzen des "Pulse"-Schrankenre- gisters auf 8 (Pulse-Hi-Byte Bit 7 = 1) erreicht man folgendes: Die "Pulse"- Welle wird nicht unterbrochen, denn dazu sind zwei Töne notwendig. Ton 1 stellt die Grundwerte für "Pulse" ein (Schranke und "Add. Pulse"), und Ton 2 führt anschließend weiter. Außerdem darf Ton 2 (Bit 7 = 1) nicht alleine stehen, da der Rechner sonst nicht weiß, was er fortführen soll. Dieser Effekt nennt sich schlicht und ergreifend "Pulse-Continuing". Schranken unter dem Wert acht verändern die Amplitude für die "Pulse"-Welle. "Add. Pulse" ist die Geschwindigkeit des "Pulse"-Schwingens. Die Funktionen "Vibrato Start/End" legen den Tabellenbereich für das Vibrato fest. Dieser ist maximal $ff Bytes lang und durch die Taste F7 zu editieren. "Accord" verhält sich analog, nur ist hier kein "Delay" (Verzögerung), sondern ein "Stop" vorhanden. Der Tabellenwert "00" entspricht der normalen Tonhöhe. Mit der Zahl "80" wird der Stopbefehl aktiviert. => Es wird solange ein "Accord" gespielt bis mit "80" unter- brochen wird. Der Normalton klingt jetzt weiter! Auch mit den Filtern verhält es sich ähnlich. Hier ist "00" der Stopbefehl, der den zuletzt gespielten Wert bei- behält (=> Filter also nie mit "00" be- ginnen!). Möchten Sie keinen Filter, so setzen Filter Start/End, Filter Byte 1 und Byte 2 auf "00". Jedoch ist bei den Filtern im Gegensatz zum "Accord" und "Vibrato" eine Art "Pulse-Continuing" möglich, das eben für Ton 1 und Ton 2 gilt. Um diesen Effekt zu erreichen setzen Sie bei Ton 2 den Filter-Start auf "ff" und das Filter-Ende auf "00". Filterbyte 1 ist sowohl Resonanz (Stärke) als auch Zuweisung des Filters für eine der Stimmen:
Bits 7-4 = Resonanz Bits 2-0 = Stimme 1 bis 3 (siehe Play Channel) Filterbyte 2 gibt die Art des Filters an: Bit 4 (10) = Tiefpass Bit 5 (20) = Bandpass Bit 6 (40) = Hochpass
"Waveform": Wichtig! Bei Channel 1 müssen die ersten beiden Tabellenwerte (Taste F7) "00" und "01", bei Channel 2 der erste Wert "01" sein. Dies ist aus programmtechnischen Gründen unbedingt notwendig! Generell können Wellenformen gemischt werden. Dies ist z.B. wichtig für: Schlagzeug-Sound und andere perkussive Klänge. Es ist auch empfehlenswert, mit fünf bis sechs ungerade endenden Wellenformen zu beginnen, da das ADS sonst zu schnell abgebrochen werden muß, und "R" zu schnell eingeleitet wird. Um "R" schön ausklingen zu lassen, muß man die Wellenformen "loopen". BEISPIEL:
(Sta1) 89 41 41 41 41 (Sta2) 40 80 (End)
Die Werte zwischen Start2 und End werden nun ständig wiederholt (bis "R" ausgeklungen ist). Aufbau: Bit 0 KEY (steuert ADSR) Bit 1 SYNC (es werden zwei Stimmen synchronisiert: 1+3,2+1,3+2) Bit 2 RING (Ringmodulation zwischen zwei Stimmen : 1+3,2+1,3+2) Bit 3 hoher, konstanter Ton Bit 4 TRI (Wellenform: Dreieck) Bit 5 SAW (Wellenform: Sägezahn) Bit 6 PUL (Wellenform: Rechteck) Bit 7 NSE (Geräusch) Glide Control: Aufbau: Bit 7-4 Stärke: 7 = schnell, 0 = lahm Bit 2 Töne verbinden (Portamneto) Es muß zunächst ein Ton ge- spielt werden, mit dem der neue Ton verbunden werden soll. Bit 1 Richtung: 0 = unten, 1 = oben Bit 0 Stay and Glide FX: 0 = aus, 1 = ein Edit Sector: Cursor auf gewünschten Sektor platzieren und RETURN drücken:
CLR - Sektor löschen INST - siehe oben DEL - siehe oben F1 - Ablegen des Sektorinhaltes in einen Zwischenspeicher. F2 - Schreiben des mit F1 abgelegten Sektors in einen anderen (Sektor in der Main Page wählen, RETURN und F2 drücken).
Noten eingeben über die Tastatur: "C", "D", "E", "F", "G", "A", "H" und "0" bis "7". BEISPIEL: C-3 Die Zahl hinter dem Ton gibt den Sound an. BEISPIEL: C-3 05 = Ton C-3 mit Sound 05 spielen) Halbtöne erreicht man durch das Setzen
von "#" zwischen Ton und Okatvenzahl. BEISPIEL: C#4 (om)