C64 Handbuch


<<zurück (Seite 90) vor>>
 

Page 90
background image
82
Die Tonerzeugung mit dem Computer hat zwei
Hauptanwendungsgebiete: das Spielen von Musikstücken und das
Erzeugen von Klangeffekten. Wie werden nun kurz darauf eingehen, wie
ein Musikprogramm im allgemeinen aufgebaut ist und besprechen dann
ein Programm, mit dem Sie experimentieren können.
ZUR STRUKTUR EINES MUSIKPROGRAMMS
Der Klang eines Tones wird durch vier Eigenschaften bestimmt: die
Tonhöhe, die Lautstärke, die Klangfarbe und die Art des Anschlags.
Die beiden letzten Eigenschaften bewirken, daß wir überhaupt
verschiedene Instrumente mit dem Gehör unterscheiden können, gerade
diese wichtigen Eigenschaften werden Sie daher mit Ihrem Programm
auch beeinflussen wollen.
Ihr COMMODORE 64 besitzt zu diesem Zweck wieder einen eigens
konstruierten elektronischen Baustein, den SID (Sound Interface Device).
Im SID ist eine Reihe von Speicherplätzen für die Parameter enthalten,
die das gewünschte Klangbild zu synthetisieren gestatten. Sie wissen
schon, daß Ihr COMMODORE 64 drei Stimmen gleichzeitig erzeugen
kann; sehen wir uns zunächst die erste dieser Stimmen an.
Die Basisadresse des SID - wir wollen sie analog zum vorigen Kapitel
durch die Variable SI abkürzen - ist 54272:
SI = 54272
Die Tonhöhe wird physikalisch durch die Frequenz bestimmt; die
Frequenz wird im SID durch einen Parameter gespeichert, der Werte
zwischen fast Null und 65000 annehmen kann. Sie haben im vorigen
Kapitel gelernt, daß man so große Zahlen nicht in einer Speicherzelle
abspeichern kann; wir müssen den Frequenz-Parameter zerlegen in ein
höherwertiges und ein niederwertiges Byte, meist als Hi-(High)-Byte und
Lo-(Low)-Byte bezeichnet. Diese beiden Bytes belegen die ersten beiden
Register im SID:
FL = SI
(Frequenz, Lo-Byte)
FH = SI+1
(Frequenz, Hi-Byte)
Für die Lautstärke sind im SID 16 Stufen vorgesehen, von Null
(ausgeschaltet) bis 15 (volle Lautstärke). Der entsprechende Parameter
wird in Register 24 abgespeichert:
L = SI+24
(Lautstärke)

<<zurück (Seite 90) vor>>
 
 
 
 
 
 

Datenschutzerklärung