Der Sound ManagerPeriodenlängeMit der Der Sound Manager: PeriodenlängePeriodenlänge wird die Frequenz des Tones festgelegt. Es handelt sich dabei genau um den Kehrwert der Frequenz, so dass mit kleineren (kürzeren) Perioden größere, höhere Frequenzen erziehlt werden. Diese Der Sound Manager: PeriodenlängePeriodenlänge ist der Wert, mit dem der Die ICs im Überblick: Der PSG AY-3-8912 Das kleinste Raster ist deshalb 16 Mikrosekunden = 16/1.000.000 Sekunden. Wird der Die ICs im Überblick: Der PSG AY-3-8912 1 16 * pl 1.000.000 1.000.000 --- = ----------- <=> f = ----------- <=> pl = ----------- f 1.000.000 16 * pl 16 * f Der Kammerton Operationen: BD5B / 349A / 349A: FLO SUBA ist momentan auf 440 Hertz festgelegt. Um ihn wiederzugeben muss der Die ICs im Überblick: Der PSG AY-3-8912 1.000.000
pl(Operationen: BD5B / 349A / 349A: FLO SUBA) = ----------- = 142
16 * 440
Unser Gehör arbeitet logarithmisch (zwangsweise, das wird ihm durch die Oberwellen Datentypen: Realrealer Töne diktiert). Zwei Töne, die eine Periodenlängen der Noten aus 9 Oktaven: Oktave -4 In der uns geläufigen 12-Tonleiter liegen dabei alle Töne um den Faktor 12te-Wurzel-2 auseinander. Die Der Sound Manager: PeriodenlängePeriodenlänge eines Tones, der den Halbton-Abstand 'd' zum Kammerton Operationen: BD5B / 349A / 349A: FLO SUBA hat, berechnet sich deshalb wie folgt: pl(Operationen: BD5B / 349A / 349A: FLO SUBA+d) = pl(Operationen: BD5B / 349A / 349A: FLO SUBA) / 2^(d/12) Dabei kann d positiv oder negativ sein. Bei d>0 liegt der andere Ton über Operationen: BD5B / 349A / 349A: FLO SUBA und bei d<0 darunter. Wählt man einen Abstand von 12 Halbtoenen, so ergibt sich: pl(Operationen: BD5B / 349A / 349A: FLO SUBA+12) = pl(Operationen: BD5B / 349A / 349A: FLO SUBA) / 2^(12/12) = pl(Operationen: BD5B / 349A / 349A: FLO SUBA) / 2 So, wie es sein soll, ergibt sich für das Operationen: BD5B / 349A / 349A: FLO SUBa' der nächsten Periodenlängen der Noten aus 9 Oktaven: Oktave -4 Wer keine Lust hat, die wahnsinnig krummen drei- oder vierstelligen Zahlen aus der Tabelle abzutippen, kann die Der Sound Manager: PeriodenlängePeriodenlängen so jederzeit errechnen! Da aber Exponente über umfangreiche Polynom-Entwicklungen errechnet werden müssen, wird der CPC dadurch unnötig gebremst, wenn er die Berechnung für jedes Sound-Statement neu durchführen muss. Am sinnvollsten ist es deshalb, zu Beginn des Programmes die benötigten Halbtoene zu berechnen und in einem Integer-Array abzulegen. |