summaryrefslogtreecommitdiff
path: root/examples-xml/mode.csd.xml
blob: 52bc3f72267ca4ee55467f197ff0997d0b8e1972 (plain)
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
<programlisting>
<emphasis role="csdtag">&lt;CsoundSynthesizer&gt;</emphasis>
<emphasis role="csdtag">&lt;CsOptions&gt;</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 moogvcf.wav -W ;;; for file output any platform</emphasis>
<emphasis role="csdtag">&lt;/CsOptions&gt;</emphasis>
<emphasis role="csdtag">&lt;CsInstruments&gt;</emphasis>

<emphasis role="comment">; Initialize the global variables.</emphasis>
<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2

<emphasis role="oblock">instr</emphasis> 1<emphasis role="comment">; 2 modes excitator</emphasis>

idur <emphasis role="opc">init</emphasis> p3
ifreq11 <emphasis role="opc">init</emphasis> p4
ifreq12 <emphasis role="opc">init</emphasis> p5
iQ11    <emphasis role="opc">init</emphasis> p6
iQ12    <emphasis role="opc">init</emphasis> p7
iamp    <emphasis role="opc">init</emphasis> <emphasis role="opc">ampdb</emphasis>(p8)
ifreq21 <emphasis role="opc">init</emphasis> p9
ifreq22 <emphasis role="opc">init</emphasis> p10
iQ21    <emphasis role="opc">init</emphasis> p11
iQ22    <emphasis role="opc">init</emphasis> p12

<emphasis role="comment">; to simulate the shock between the excitator and the resonator</emphasis>
ashock  <emphasis role="opc">mpulse</emphasis>  3,0 

aexc1  <emphasis role="opc">mode</emphasis> ashock,ifreq11,iQ11
aexc1 <emphasis role="op">=</emphasis> aexc1<emphasis role="op">*</emphasis>iamp
aexc2  <emphasis role="opc">mode</emphasis> ashock,ifreq12,iQ12
aexc2 <emphasis role="op">=</emphasis> aexc2<emphasis role="op">*</emphasis>iamp


aexc <emphasis role="op">=</emphasis> (aexc1<emphasis role="op">+</emphasis>aexc2)<emphasis role="op">/</emphasis>2

<emphasis role="comment">;"Contact" condition : when aexc reaches 0, the excitator looses </emphasis>
<emphasis role="comment">;contact with the resonator, and stops "pushing it"</emphasis>
aexc limit aexc,0,3<emphasis role="op">*</emphasis>iamp 

<emphasis role="comment">; 2modes resonator</emphasis>

ares1  <emphasis role="opc">mode</emphasis> aexc,ifreq21,iQ21
ares2  <emphasis role="opc">mode</emphasis> aexc,ifreq22,iQ22

ares <emphasis role="op">=</emphasis> (ares1<emphasis role="op">+</emphasis>ares2)<emphasis role="op">/</emphasis>2

<emphasis role="opc">display</emphasis> aexc<emphasis role="op">+</emphasis>ares,p3
<emphasis role="opc">outs</emphasis>  aexc<emphasis role="op">+</emphasis>ares,aexc<emphasis role="op">+</emphasis>ares

<emphasis role="oblock">endin</emphasis>


<emphasis role="csdtag">&lt;/CsInstruments&gt;</emphasis>
<emphasis role="csdtag">&lt;CsScore&gt;</emphasis>

<emphasis role="comment">;wooden excitator against glass resonator</emphasis>
<emphasis role="stamnt">i</emphasis>1 0 8  1000   3000  12  8  70  440   888   500  420 

<emphasis role="comment">;felt against glass</emphasis>
<emphasis role="stamnt">i</emphasis>1 4 8  80   188  8  3  70  440   888   500  420 

<emphasis role="comment">;wood against wood</emphasis>
<emphasis role="stamnt">i</emphasis>1 8 8  1000   3000  12  8  70  440  630   60  53 

<emphasis role="comment">;felt against wood</emphasis>
<emphasis role="stamnt">i</emphasis>1 12 8  80   180  8  3  70  440  630   60  53 


<emphasis role="stamnt">i</emphasis>1 16 8  1000   3000  12  8  70  440  888   2000  1630
<emphasis role="stamnt">i</emphasis>1 23 8  80   180  8  3  70  440  888   2000  1630


<emphasis role="comment">;With a metallic excitator</emphasis>

<emphasis role="stamnt">i</emphasis>1 33 8 1000  1800  1000  720  70   440   882  500  500
<emphasis role="stamnt">i</emphasis>1 37 8 1000  1800  1000  850  70   440   630  60  53

<emphasis role="stamnt">i</emphasis>1 42 8 1000  1800  2000  1720  70   440   442  500  500


<emphasis role="csdtag">&lt;/CsScore&gt;</emphasis>
<emphasis role="csdtag">&lt;/CsoundSynthesizer&gt;</emphasis>
</programlisting>