ADVANCED MUSIC PROGRAMMER
Dieses Utility ermöglicht es jedem begabten 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 Diskettenoperationen ( SNG = Song, DAT = Lied ohne Playerroutine, NOT = Nur Notendaten und VOI = Nur Sounds) .
F3 setzt den Startstep.
F5 definiert den Endstep ( den angegebenen 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-, Verschiebeund Löschoperationen 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 erstellen.
Durch setzen des " Pulse"- Schrankenregisters 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" unterbrochen 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 beibehä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 gespielt 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-305= Ton C-3 mit Sound 05 spielen) Halbtöne erreicht man durch das Setzen
von "#" zwischen Ton und Okatvenzahl. BEISPIEL: C#4 (om)