Magic Disk 64

home to index to text: MD9112-UTILITIES-A.M.P.txt
       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)

Valid HTML 4.0 Transitional Valid CSS!