1+ REM The introduction to Bach's Tocatta and Fuges
2+ REM Demonstration of ENVELOPE and SOUND TONE
3+
14ON ERROR PROCcontinue
25MODLOAD "ac97"
36ON ERROR OFF
47
5- ' Streams
6- STREAM CREATE lead
7- STREAM CREATE pedal
8- STREAM CREATE colour
8+ REM Streams
9+ STREAM CREATE lead1
10+ STREAM CREATE lead2
11+ STREAM CREATE lead3
912
10- ' Envelopes (plain organ — no vibrato)
11- ' id, wave, vol, pulse, attack, decay, sustain, release, vib_depth, vib_rate, glide, pwm_rate, pwm_depth
12- ENVELOPE CREATE 0, 1, 255, 128, 12, 70, 210, 420, 0, 0, 0, 0, 0
13+ REM ADSR envelopes
1314ENVELOPE CREATE 2, 1, 255, 128, 25,120, 220, 800, 0, 0, 0, 0, 0
1415ENVELOPE CREATE 3, 0, 220, 128, 10, 60, 180, 320, 0, 0, 0, 3,12
1516ENVELOPE CREATE 63, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0
1617
17- SOUND TONE lead, 880, 20, 2
18- SOUND TONE lead, 784, 20, 2
19- SOUND TONE lead, 880, 100, 2
20- SOUND TONE lead, 100, 40, 63
21- SOUND TONE lead, 100, 40, 63
22- SOUND TONE lead, 784, 20, 2
23- SOUND TONE lead, 698, 20, 2
24- SOUND TONE lead, 659, 20, 2
25- SOUND TONE lead, 587, 20, 2
26- SOUND TONE lead, 554, 90, 2
27- SOUND TONE lead, 587, 90, 2
18+ REM tune
19+ PROCchord(880, 20, 3)
20+ PROCchord(784, 20, 3)
21+ PROCchord(880, 100, 3)
22+ PROCchord(100, 40, 63)
23+ PROCchord(100, 40, 63)
24+ PROCchord(784, 20, 2)
25+ PROCchord(698, 20, 2)
26+ PROCchord(659, 20, 2)
27+ PROCchord(587, 20, 2)
28+ PROCchord(554, 90, 2)
29+ PROCchord(587, 90, 2)
2830
31+ REM wait for tune to leave buffer
2932SLEEP 6000
3033END
3134
3235DEF PROCcontinue
36+ ENDPROC
37+
38+ DEF PROCchord(rootHz, durCs, env)
39+ SOUND TONE lead1, rootHz, durCs, env
40+ SOUND TONE lead2, rootHz * 1.2599, durCs, env ' major 3rd
41+ SOUND TONE lead3, rootHz * 1.4983, durCs, env ' perfect 5th
3342ENDPROC
0 commit comments