vd-archiv:listings:4d2013-01-listings
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
vd-archiv:listings:4d2013-01-listings [2017-05-22 16:55] – [Wave Engine (5)] mka | vd-archiv:listings:4d2013-01-listings [2017-05-22 17:24] (aktuell) – [Tontabelle] mka | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
===== Wave Engine (5) ===== | ===== Wave Engine (5) ===== | ||
- | freqtab.fs | + | ==== freqtab.fs |
< | < | ||
Zeile 179: | Zeile 180: | ||
</ | </ | ||
+ | |||
+ | ==== tontabelle.fs ==== | ||
+ | |||
+ | < | ||
+ | |||
+ | \ -------1---------2---------3---------4---------5-----| | ||
+ | \ Wave Engine: Tabelle der Frequenzen & Phasenschritte | ||
+ | \ Last edit: 07feb2013 13:35 jgt | ||
+ | |||
+ | 7 set-precision | ||
+ | |||
+ | 2e 1e 53e f/ f** fconstant | ||
+ | 2e 1e 12e f/ f** fconstant | ||
+ | pi 2e f* fconstant | ||
+ | 440e fconstant | ||
+ | |||
+ | \ Exakt 10-spaltige Float-Ausgabe | ||
+ | \ z.B. 0.00232210 oder 8.344690E3 | ||
+ | : fs._ ( r --) 10 8 5 f.rdp ; | ||
+ | |||
+ | \ Frequenz des tiefsten Tons der " | ||
+ | : base53 | ||
+ | | ||
+ | |||
+ | \ Frequenz des tiefsten Tons der " | ||
+ | : base12 | ||
+ | | ||
+ | |||
+ | \ Frequenz eines Tons aus der " | ||
+ | : freq53 | ||
+ | | ||
+ | |||
+ | \ Frequenz eines Tons aus der " | ||
+ | : freq12 | ||
+ | | ||
+ | |||
+ | \ Aus der Frequenz den Phasenschritt berechnen | ||
+ | : freq> | ||
+ | ( r) 2pi f* 44100e f/ ; | ||
+ | |||
+ | \ Offset für 53stel Oktave => Offset für 12tel Oktave | ||
+ | : shrink | ||
+ | |||
+ | \ Wichtigste Tonbezeichnungen ausgeben | ||
+ | : names ( n --) | ||
+ | 53 mod CASE | ||
+ | 0 OF ." C " | ||
+ | 1 OF ." B# " ENDOF | ||
+ | 4 OF ." Db " ENDOF | ||
+ | 5 OF ." C# " ENDOF | ||
+ | 9 OF ." D " | ||
+ | 13 OF ." Eb " ENDOF | ||
+ | 14 OF ." D# " ENDOF | ||
+ | 17 OF ." Fb " ENDOF | ||
+ | 18 OF ." E " | ||
+ | 22 OF ." F " | ||
+ | 23 OF ." E# " ENDOF | ||
+ | 26 OF ." Gb " ENDOF | ||
+ | 27 OF ." F# " ENDOF | ||
+ | 31 OF ." G " | ||
+ | 35 OF ." Ab " ENDOF | ||
+ | 36 OF ." G# " ENDOF | ||
+ | 40 OF ." A " | ||
+ | 44 OF ." Bb " ENDOF | ||
+ | 45 OF ." A# " ENDOF | ||
+ | 48 OF ." Cb " ENDOF | ||
+ | 49 OF ." B " | ||
+ | | ||
+ | ENDCASE ; | ||
+ | |||
+ | \ Überschrift ausgeben | ||
+ | : head ( --) | ||
+ | cr ." Wave Engine: Alle Tonfrequenzen " | ||
+ | ." (bezogen auf " 440Hz f>s . ." Hz)" | ||
+ | cr cr ." base53 = 16.29822 Hz (tiefster Ton)" | ||
+ | cr ." base12 = 16.35160 Hz (tiefster Ton)" | ||
+ | cr cr ." Okt Sym Ton# " | ||
+ | ." | ||
+ | ." | ||
+ | cr ." ---------------------------------" | ||
+ | ." ---------------------------------" | ||
+ | |||
+ | \ Frequenz und Phasenschritt für " | ||
+ | : freq-step-53 | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | \ Frequenz und Phasenschritt für " | ||
+ | : freq-step-12 | ||
+ | 1+ shrink dup 3 .r space \ Offset | ||
+ | | ||
+ | | ||
+ | |||
+ | \ Anhalten nach jeder Oktave | ||
+ | : pause ( n --) | ||
+ | 1+ 53 mod 0= | ||
+ | | ||
+ | key drop | ||
+ | 24 0 DO 8 ( BS) emit LOOP | ||
+ | | ||
+ | THEN ; | ||
+ | |||
+ | \ Programmstart | ||
+ | : go head | ||
+ | cr ." | ||
+ | cr ." | ||
+ | 478 0 DO cr | ||
+ | i 53 / 2 spaces . | ||
+ | i names \ Bezeichnung | ||
+ | i 1+ 3 .r 3 spaces | ||
+ | |||
+ | i freq-step-53 | ||
+ | i freq-step-12 | ||
+ | |||
+ | i pause | ||
+ | | ||
+ | ; go | ||
+ | \ -----------------------------------------------------| | ||
+ | |||
+ | </ | ||
+ |
vd-archiv/listings/4d2013-01-listings.1495464933.txt.gz · Zuletzt geändert: 2017-05-22 16:55 von mka