%%HP: T(3)A(D)F(.); DIR @ MUSIK-Programme von Otto Praxl. @ Stand vom Oktober 2011. @ www.praxelius.de. Info \<< STD WHILE CLLCD " Musik-Informationen " INF1 1. CHOOSE REPEAT \->STR CLLCD 1. DISP 0. WAIT DROP END \>> GT 440. GTA \<< " Grundton " IF 'GT' VTYPE -1. == THEN " GT fehlt.... Wird angelegt!" + 4000. .1 BEEP 440. 'GT' STO ELSE " GT = " GT \->STR + " Hz" + + END CLLCD 2. DISP 2. WAIT \>> ELISE \<< IF 'GT' VTYPE -1. == THEN 440. 'GT' STO 1000. .1 BEEP 2000. .15 BEEP "Variable GT = 440 Hz wurde angelegt. Bitte nochmals starten!" MSGBOX ELSE CLLCD "'F\252r Elise' von Ludwig van Beethoven Tonart: a-Moll 3/4-Takt, Poco moto Achtelnote = 0.15 s Beginn mit Note E2" 1. DISP .15 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 GS1 H1 2. * C2 2. / P E1 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 C2 H1 2. * A1 P 2. / E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 GS1 H1 2. * C2 2. / P E1 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 C2 H1 2. * A1 2. / P H1 C2 D2 2. * E2 2. / P G1 F2 E2 2. * D2 2. / P F1 E2 D2 2. * C2 2. / P E1 D2 C2 2. * H1 2. / E1 E2 E2 E3 E1 E2 3. * P 3. / DS2 E2 P P DS2 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 GS1 H1 2. * C2 2. / P E1 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 C2 H1 2. * A1 2. / P H1 C2 D2 2. * E2 2. / P G1 F2 E2 2. * D2 2. / P F1 E2 D2 2. * C2 2. / P E1 D2 C2 2. * H1 2. / E1 E2 E2 E3 E1 E2 3. * P 3. / DS2 E2 P P DS2 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 GS1 H1 2. * C2 2. / P E1 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 C2 H1 2. * A1 2. / P C2 C2 C2 2. * C2 P 2. / 1.5 * F2 3. / E2 4. * E2 D2 2. / 1.5 * B2 3. / A2 2. * A2 G2 F2 E2 D2 C2 2. * B1 2. / A1 B1 2. / A1 G1 A1 B1 4. * C2 P 2. / D2 DS2 3. * E2 3. / E2 F2 A1 2. * C2 P 2. / 1.5 * D2 3. / H1 C2 G2 G1 G2 A1 G2 H1 G2 C2 G2 D2 G2 E2 G2 C3 H2 A2 G2 F2 E2 D2 G2 F2 D2 C2 G2 G1 G2 A1 G2 H1 G2 C2 G2 D2 G2 E2 G2 C3 H2 A2 G2 F2 E2 D2 G2 F2 D2 E2 F2 E2 DS2 E2 H1 E2 DS2 E2 H1 E2 DS2 6. * E2 3. / H1 E2 DS2 3. * E2 3. / H1 E2 DS2 2. * E2 2. / E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 GS1 H1 2. * C2 2. / P E1 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 C2 H1 2. * A1 P 2. / E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 GS1 H1 2. * C2 2. / P E1 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 C2 H1 2. * A1 2. / P H1 C2 D2 2. * E2 2. / P G1 F2 E2 2. * D2 2. / P F1 E2 D2 2. * C2 2. / P E1 D2 C2 2. * H1 2. / E1 E2 E2 E3 E1 E2 3. * P 3. / DS2 E2 P P DS2 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 GS1 H1 2. * C2 2. / P E1 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 C2 H1 2. * A1 2. / P H1 C2 D2 2. * E2 2. / P G1 F2 E2 2. * D2 2. / P F1 E2 D2 2. * C2 2. / P E1 D2 C2 2. * H1 2. / E1 E2 E2 E3 E1 E2 3. * P 3. / DS2 E2 P P DS2 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 GS1 H1 2. * C2 2. / P E1 E2 DS2 E2 DS2 E2 H1 D2 C2 2. * A1 2. / P C1 E1 A1 2. * H1 2. / P E1 C2 H1 2. * A1 DROP END \>> HANS \<< ".533.422.1234555.533.422.13551.2222234.3333345.533.422.13551" \>> TONF \<< \->STR DUP WHILE DUP SIZE 0. > REPEAT DUP HEAD DUP NUM \<< \-> n \<< IF 'n\>=48. AND n\<=57.' THEN OBJ\-> 1. + NOTE SWAP GET .3 BEEP ELSE DROP .3 WAIT END \>> \>> EVAL TAIL END DROP \>> INF1 { { "Info allgemein" "Musik-Programme von Otto Praxl, www.praxelius.de, Oktober 2011. Liedbeispiel: ELISE Tonfolge: HANS" } { "Info Musik" " Die Noten C0 bis H3 und die Pause P \252ber Programm oder auf Tasten spielen. Im Stack: Tonl\228nge [s] Siehe Programm!" } { "Grundton GT" " Die Variable GT muss vorhanden sein. Inhalt: 440 Dieser Grundton bestimmt die H\246henlage aller Noten." } { "Notenbereich" " Grundton GT muss als Variable existieren. Voreinstellung: GT = 440 Hz. C0 = Ton c Oktave 0 CS0= Ton cis ... H3 = Ton h Oktave 3" } { "Programm" "Programmierbeispiel: \<< .2 G2 E2 2 * E2 P 2 / F2 D2 D2 DROP \>>, dabei ist .2 Dauer 1. Ton 2 / Dauer halbiert 2 * Dauer doppelt" } { "Info TONF" "TONF=Tonfolge C-Dur: Ziffern als String in Stack stellen, TONF spielt nur die Ziffern 0 bis 9 = Noten H0 bis D2. Andere Zeichen=Pause" } { "Das Lied ELISE" "'F\252r Elise' von Ludwig van Beethoven Tonart: a-Moll Achtelnote = 0.15 Sek. 3/4-Takt, Poco moto Variable GT wird beim Start angelegt." } { " P = Pause" " Die L\228nge der Pause wird wie die Noten- l\228nge ausgew\228hlt." } { " C0 = c0" " C0 = 261.63 Hz Beginn Oktave 0" } { "CS0 = cis0" " CS0 = 277.18 Hz" } { " D0 = d0" " D0 = 293.66 Hz" } { "DS0 = dis0" " DS0 = 311.13 Hz" } { " E0 = e0" " E0 = 329.63 Hz" } { " F0 = f0" " F0 = 349.23 Hz" } { "FS0 = fis0" "FS0 = 369.99 Hz" } { " G0 = g0" " G0 = 392.00 Hz" } { "GS0 = gis0" " GS0 = 415.30 Hz" } { " A0 = a0" "A0 = 440.00 Hz = GT = Grundton Falls GT sich \228ndert, \228ndert sich auch A0 und die H\246henlage aller anderen Noten." } { " B0 = b0 =ais0" " B0 = 466.16 Hz" } { " H0 = h0" " H0 = 493.88 Hz" } { " C1 = c1" " C1 = 523.25 Hz Beginn Oktave 1" } { "CS1 = cis1" " CS1 = 554.37 Hz" } { " D1 = d1" " D1 = 587.33 Hz" } { "DS1 = dis1" " DS1 = 622.25 Hz" } { " E1 = e1" " E1 = 659.26 Hz" } { " F1 = f1" " F1 = 698.46 Hz" } { "FS1 = fis1" " FS1 = 739.99 Hz" } { " G1 = g1" " G1 = 783.99 Hz" } { "GS1 = gis1" " GS1 = 830.61 Hz" } { " A1 = a1" " A1 = 880.00 Hz" } { " B1 = b1 =ais1" " B1 = 932.33 Hz" } { " H1 = h1" " H1 = 987.77 Hz" } { " C2 = c2" " C2 = 1046.50 Hz Beginn Oktave 2" } { "CS2 = cis2" " CS2 = 1108.73 Hz" } { " D2 = d2" " D2 = 1174.66 Hz" } { "DS2 = dis2" " DS2 = 1244.51 Hz" } { " E2 = e2" " E2 = 1318.51 Hz" } { " F2 = f2" " F2 = 1396.91 Hz" } { "FS2 = fis2" " FS2 = 1479.98 Hz" } { " G2 = g2" " G2 = 1567.98 Hz" } { "GS2 = gis2" " GS2 = 1661.22 Hz" } { " A2 = a2" " A2 = 1760.00 Hz" } { " B2 = b2 =ais2" " B2 = 1864.66 Hz" } { " H2 = h2" " H2 = 1975.53 Hz" } { " C3 = c3" " C3 = 2093.00 Hz Beginn Oktave 3" } { "CS3 = cis3" " CS3 = 2217.46 Hz" } { " D3 = d3" " D3 = 2349.32 Hz" } { "DS3 = dis3" " DS3 = 2489.02 Hz" } { " E3 = e3" " E3 = 2637.02 Hz" } { " F3 = f3" " F3 = 2793.83 Hz" } { "FS3 = fis3" " FS3 = 2959.96 Hz" } { " G3 = g3" " G3 = 3135.96 Hz" } { "GS3 = gis3" " GS3 = 3322.44 Hz" } { " A3 = a3" " A3 = 3520.00 Hz" } { " B3 = b3 =ais3" " B3 = 3729.31 Hz" } { " H3 = h3" " H3 = 3951.07 Hz" } } NOTE { 493.88 523.25 587.33 659.26 698.46 783.99 880. 987.77 1046.5 1174.66 } C0 \<< DUP GT .595 * SWAP BEEP \>> CS0 \<< DUP GT .63 * SWAP BEEP \>> D0 \<< DUP GT .667 * SWAP BEEP \>> DS0 \<< DUP GT .707 * SWAP BEEP \>> E0 \<< DUP GT .749 * SWAP BEEP \>> F0 \<< DUP GT .794 * SWAP BEEP \>> FS0 \<< DUP GT .841 * SWAP BEEP \>> G0 \<< DUP GT .891 * SWAP BEEP \>> GS0 \<< DUP GT .944 * SWAP BEEP \>> A0 \<< DUP GT SWAP BEEP \>> B0 \<< DUP GT 1.059 * SWAP BEEP \>> H0 \<< DUP GT 1.122 * SWAP BEEP \>> C1 \<< DUP GT 1.189 * SWAP BEEP \>> CS1 \<< DUP GT 1.26 * SWAP BEEP \>> D1 \<< DUP GT 1.335 * SWAP BEEP \>> DS1 \<< DUP GT 1.414 * SWAP BEEP \>> E1 \<< DUP GT 1.498 * SWAP BEEP \>> F1 \<< DUP GT 1.587 * SWAP BEEP \>> FS1 \<< DUP GT 1.682 * SWAP BEEP \>> G1 \<< DUP GT 1.782 * SWAP BEEP \>> GS1 \<< DUP GT 1.888 * SWAP BEEP \>> A1 \<< DUP GT 2. * SWAP BEEP \>> B1 \<< DUP GT 2.119 * SWAP BEEP \>> H1 \<< DUP GT 2.245 * SWAP BEEP \>> C2 \<< DUP GT 2.378 * SWAP BEEP \>> CS2 \<< DUP GT 2.52 * SWAP BEEP \>> D2 \<< DUP GT 2.67 * SWAP BEEP \>> DS2 \<< DUP GT 2.828 * SWAP BEEP \>> E2 \<< DUP GT 2.997 * SWAP BEEP \>> F2 \<< DUP GT 3.175 * SWAP BEEP \>> FS2 \<< DUP GT 3.364 * SWAP BEEP \>> G2 \<< DUP GT 3.564 * SWAP BEEP \>> GS2 \<< DUP GT 3.775 * SWAP BEEP \>> A2 \<< DUP GT 4. * SWAP BEEP \>> B2 \<< DUP GT 4.238 * SWAP BEEP \>> H2 \<< DUP GT 4.49 * SWAP BEEP \>> C3 \<< DUP GT 4.757 * SWAP BEEP \>> CS3 \<< DUP GT 5.04 * SWAP BEEP \>> D3 \<< DUP GT 5.339 * SWAP BEEP \>> DS3 \<< DUP GT 5.657 * SWAP BEEP \>> E3 \<< DUP GT 5.993 * SWAP BEEP \>> F3 \<< DUP GT 6.35 * SWAP BEEP \>> FS3 \<< DUP GT 6.727 * SWAP BEEP \>> G3 \<< DUP GT 7.127 * SWAP BEEP \>> GS3 \<< DUP GT 7.551 * SWAP BEEP \>> A3 \<< DUP GT 8. * SWAP BEEP \>> B3 \<< DUP GT 8.476 * SWAP BEEP \>> H3 \<< DUP GT 8.98 * SWAP BEEP \>> P \<< DUP WAIT \>> $VARS { GT } $HIDDEN { INF1 NOTE } $CONFIG 1. $TITLE "MUSIK Programme von Otto Praxl, Oktober 2011" $ROMID 1720. $VISIBLE { Info GTA ELISE HANS TONF C0 CS0 D0 DS0 E0 F0 FS0 G0 GS0 A0 B0 H0 C1 CS1 D1 DS1 E1 F1 FS1 G1 GS1 A1 B1 H1 C2 CS2 D2 DS2 E2 F2 FS2 G2 GS2 A2 B2 H2 C3 CS3 D3 DS3 E3 F3 FS3 G3 GS3 A3 B3 H3 P } END