1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
<programlisting>
<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
<emphasis role="csdtag"><CsOptions></emphasis>
<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
<emphasis role="comment">; Audio out Audio in No messages</emphasis>
-odac -iadc -d <emphasis role="comment">;;;RT audio I/O</emphasis>
<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
<emphasis role="comment">; -o grain2.wav -W ;;; for file output any platform</emphasis>
<emphasis role="csdtag"></CsOptions></emphasis>
<emphasis role="csdtag"><CsInstruments></emphasis>
<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 48000
<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 750
<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 64
<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> square wave <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
i_ <emphasis role="ohdr">ftgen</emphasis> 1, 0, 4096, 7, 1, 2048, 1, 0, <emphasis role="op">-</emphasis>1, 2048, <emphasis role="op">-</emphasis>1
<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> window <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
i_ <emphasis role="ohdr">ftgen</emphasis> 2, 0, 16384, 7, 0, 4096, 1, 4096, 0.3333, 8192, 0
<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> sine wave <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
i_ <emphasis role="ohdr">ftgen</emphasis> 3, 0, 1024, 10, 1
<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> room parameters <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
i_ <emphasis role="ohdr">ftgen</emphasis> 7, 0, 64, <emphasis role="op">-</emphasis>2, 4, 50, <emphasis role="op">-</emphasis>1, <emphasis role="op">-</emphasis>1, <emphasis role="op">-</emphasis>1, 11, \
1, 26.833, 0.05, 0.85, 10000, 0.8, 0.5, 2, \
1, 1.753, 0.05, 0.85, 5000, 0.8, 0.5, 2, \
1, 39.451, 0.05, 0.85, 7000, 0.8, 0.5, 2, \
1, 33.503, 0.05, 0.85, 7000, 0.8, 0.5, 2, \
1, 36.151, 0.05, 0.85, 7000, 0.8, 0.5, 2, \
1, 29.633, 0.05, 0.85, 7000, 0.8, 0.5, 2
ga01 <emphasis role="opc">init</emphasis> 0
<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> generate bandlimited square waves <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
i0 <emphasis role="op">=</emphasis> 0
<emphasis role="olabel">loop1</emphasis><emphasis role="op">:</emphasis>
imaxh <emphasis role="op">=</emphasis> <emphasis role="ohdr">sr</emphasis> <emphasis role="op">/</emphasis> (2 <emphasis role="op">*</emphasis> 440.0 <emphasis role="op">*</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2.0) <emphasis role="op">*</emphasis> (i0 <emphasis role="op">-</emphasis> 69) <emphasis role="op">/</emphasis> 12))
i_ <emphasis role="ohdr">ftgen</emphasis> i0 <emphasis role="op">+</emphasis> 256, 0, 4096, <emphasis role="op">-</emphasis>30, 1, 1, imaxh
i0 <emphasis role="op">=</emphasis> i0 <emphasis role="op">+</emphasis> 1
<emphasis role="octrl">if</emphasis> (i0 <emphasis role="op"><</emphasis> 127.5) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">loop1</emphasis>
<emphasis role="oblock">instr</emphasis> 1
p3 <emphasis role="op">=</emphasis> p3 <emphasis role="op">+</emphasis> 0.2
<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> note velocity <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
iamp <emphasis role="op">=</emphasis> 0.0039 <emphasis role="op">+</emphasis> p5 <emphasis role="op">*</emphasis> p5 <emphasis role="op">/</emphasis> 16192
<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> <emphasis role="opc">vibrato</emphasis> <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
kcps <emphasis role="opc">oscili</emphasis> 1, 8, 3
kenv <emphasis role="opc">linseg</emphasis> 0, 0.05, 0, 0.1, 1, 1, 1
<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> frequency <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
kcps <emphasis role="op">=</emphasis> (kcps <emphasis role="op">*</emphasis> kenv <emphasis role="op">*</emphasis> 0.01 <emphasis role="op">+</emphasis> 1) <emphasis role="op">*</emphasis> 440 <emphasis role="op">*</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2) <emphasis role="op">*</emphasis> (p4 <emphasis role="op">-</emphasis> 69) <emphasis role="op">/</emphasis> 12)
<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> <emphasis role="opc">grain</emphasis> ftable <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
kfn <emphasis role="op">=</emphasis> <emphasis role="opc">int</emphasis>(256 <emphasis role="op">+</emphasis> 69 <emphasis role="op">+</emphasis> 0.5 <emphasis role="op">+</emphasis> 12 <emphasis role="op">*</emphasis> <emphasis role="opc">log</emphasis>(kcps <emphasis role="op">/</emphasis> 440) <emphasis role="op">/</emphasis> <emphasis role="opc">log</emphasis>(2))
<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> <emphasis role="opc">grain</emphasis> duration <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
kgdur <emphasis role="opc">port</emphasis> 100, 0.1, 20
kgdur <emphasis role="op">=</emphasis> kgdur <emphasis role="op">/</emphasis> kcps
a1 <emphasis role="opc">grain2</emphasis> kcps, kcps <emphasis role="op">*</emphasis> 0.02, kgdur, 50, kfn, 2, <emphasis role="op">-</emphasis>0.5, 22, 2
a1 <emphasis role="opc">butterlp</emphasis> a1, 3000
a2 <emphasis role="opc">grain2</emphasis> kcps, kcps <emphasis role="op">*</emphasis> 0.02, 4 <emphasis role="op">/</emphasis> kcps, 50, kfn, 2, <emphasis role="op">-</emphasis>0.5, 23, 2
a2 <emphasis role="opc">butterbp</emphasis> a2, 12000, 8000
a2 <emphasis role="opc">butterbp</emphasis> a2, 12000, 8000
aenv1 <emphasis role="opc">linseg</emphasis> 0, 0.01, 1, 1, 1
aenv2 <emphasis role="opc">linseg</emphasis> 3, 0.05, 1, 1, 1
aenv3 <emphasis role="opc">linseg</emphasis> 1, p3 <emphasis role="op">-</emphasis> 0.2, 1, 0.07, 0, 1, 0
a1 <emphasis role="op">=</emphasis> aenv1 <emphasis role="op">*</emphasis> aenv3 <emphasis role="op">*</emphasis> (a1 <emphasis role="op">+</emphasis> a2 <emphasis role="op">*</emphasis> 0.7 <emphasis role="op">*</emphasis> aenv2)
ga01 <emphasis role="op">=</emphasis> ga01 <emphasis role="op">+</emphasis> a1 <emphasis role="op">*</emphasis> 10000 <emphasis role="op">*</emphasis> iamp
<emphasis role="oblock">endin</emphasis>
<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> output <emphasis role="oblock">instr</emphasis> <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
<emphasis role="oblock">instr</emphasis> 81
i1 <emphasis role="op">=</emphasis> 0.000001
aLl, aLh, aRl, aRh <emphasis role="opc">spat3di</emphasis> ga01 <emphasis role="op">+</emphasis> i1<emphasis role="op">*</emphasis>i1<emphasis role="op">*</emphasis>i1<emphasis role="op">*</emphasis>i1, 3.0, 4.0, 0.0, 0.5, 7, 4
ga01 <emphasis role="op">=</emphasis> 0
aLl <emphasis role="opc">butterlp</emphasis> aLl, 800.0
aRl <emphasis role="opc">butterlp</emphasis> aRl, 800.0
<emphasis role="opc">outs</emphasis> aLl <emphasis role="op">+</emphasis> aLh, aRl <emphasis role="op">+</emphasis> aRh
<emphasis role="oblock">endin</emphasis>
<emphasis role="csdtag"></CsInstruments></emphasis>
<emphasis role="csdtag"><CsScore></emphasis>
<emphasis role="stamnt">t</emphasis> 0 60
<emphasis role="stamnt">i</emphasis> 1 0.0 1.3 60 127
<emphasis role="stamnt">i</emphasis> 1 2.0 1.3 67 127
<emphasis role="stamnt">i</emphasis> 1 4.0 1.3 64 112
<emphasis role="stamnt">i</emphasis> 1 4.0 1.3 72 112
<emphasis role="stamnt">i</emphasis> 81 0 6.4
<emphasis role="stamnt">e</emphasis>
<emphasis role="csdtag"></CsScore></emphasis>
<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
</programlisting>
|