summaryrefslogtreecommitdiff
path: root/examples-xml/fluid-2.csd.xml
blob: 224509e27d6c6f894184d0bbfb1cafe900a07f0e (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
<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 No messages   Look for midifile in folder manual/examples</emphasis>
-odac           -d        -F midichn_advanced.mid <emphasis role="comment">;;;reatime audio out</emphasis>
<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
<emphasis role="comment">; -o fluid-2.wav -W ;;; for file output any platform</emphasis>
<emphasis role="csdtag">&lt;/CsOptions&gt;</emphasis>
<emphasis role="csdtag">&lt;CsInstruments&gt;</emphasis>

<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1

<emphasis role="comment">; LOAD SOUNDFONTS</emphasis>
gienginenum1	<emphasis role="opc">fluidEngine</emphasis>
gienginenum2	<emphasis role="opc">fluidEngine</emphasis>
isfnum1	<emphasis role="opc">fluidLoad</emphasis> "Piano Steinway Grand Model C (21,738KB).sf2", gienginenum1, 1
<emphasis role="comment">; Bright Steinway, program 1, channel 1</emphasis>
		<emphasis role="opc">fluidProgramSelect</emphasis>	gienginenum1, 1, isfnum1, 0, 1
<emphasis role="comment">; Concert Steinway with reverb, program 2, channel 3</emphasis>
		<emphasis role="opc">fluidProgramSelect</emphasis>	gienginenum1, 3, isfnum1, 0, 2
isfnum2	<emphasis role="opc">fluidLoad</emphasis> "63.3mg The Sound Site Album Bank V1.0.SF2", gienginenum2, 1
<emphasis role="comment">; General MIDI, program 50, channel 2</emphasis>
		<emphasis role="opc">fluidProgramSelect</emphasis>	gienginenum2, 2, isfnum2, 0, 50

<emphasis role="comment">; SEND NOTES TO STEINWAY SOUNDFONT</emphasis>

<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">; FluidSynth Steinway Rev</emphasis>
  <emphasis role="comment">; INITIALIZATION</emphasis>
	<emphasis role="opc">mididefault</emphasis>	60, p3 <emphasis role="comment">; Default duration of 60 -- overridden by score.</emphasis>
	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5 <emphasis role="comment">; Channels MIDI input to pfields.</emphasis>
  <emphasis role="comment">; Use channel assigned in fluidload.</emphasis>
  ichannel   <emphasis role="op">=</emphasis> 1
  ikey       <emphasis role="op">=</emphasis> p4
  ivelocity  <emphasis role="op">=</emphasis> p5
	<emphasis role="opc">fluidNote</emphasis>	gienginenum1, ichannel, ikey, ivelocity
<emphasis role="oblock">endin</emphasis>

<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">; GM soundfont</emphasis>
  <emphasis role="comment">; INITIALIZATION</emphasis>
         <emphasis role="opc">mididefault</emphasis>   60, p3 <emphasis role="comment">; Default duration of 60 -- overridden by score.</emphasis>
         <emphasis role="opc">midinoteonkey</emphasis> p4, p5 <emphasis role="comment">; Channels MIDI input to pfields.</emphasis>
  <emphasis role="comment">; Use channel assigned in fluidload.</emphasis>
  ichannel   <emphasis role="op">=</emphasis> 2
  ikey       <emphasis role="op">=</emphasis> p4
  ivelocity  <emphasis role="op">=</emphasis> p5
         <emphasis role="opc">fluidNote</emphasis> gienginenum2, ichannel, ikey, ivelocity
<emphasis role="oblock">endin</emphasis>

<emphasis role="oblock">instr</emphasis> 3 <emphasis role="comment">; FluidSynth Steinway Rev</emphasis>
  <emphasis role="comment">; INITIALIZATION</emphasis>
         <emphasis role="opc">mididefault</emphasis>   60, p3 <emphasis role="comment">; Default duration of 60 -- overridden by score.</emphasis>
         <emphasis role="opc">midinoteonkey</emphasis> p4, p5 <emphasis role="comment">; Channels MIDI input to pfields.</emphasis>
  <emphasis role="comment">; Use channel assigned in fluidload.</emphasis>
  ichannel   <emphasis role="op">=</emphasis> 3
  ikey       <emphasis role="op">=</emphasis> p4
  ivelocity  <emphasis role="op">=</emphasis> p5
         <emphasis role="opc">fluidNote</emphasis> gienginenum1, ichannel, ikey, ivelocity
<emphasis role="oblock">endin</emphasis>

<emphasis role="comment">; COLLECT AUDIO FROM ALL SOUNDFONTS</emphasis>

<emphasis role="oblock">instr</emphasis> 100 <emphasis role="comment">; Fluidsynth output</emphasis>

  iamplitude1 <emphasis role="op">=</emphasis> 7
  iamplitude2 <emphasis role="op">=</emphasis> 7

<emphasis role="comment">; AUDIO</emphasis>
aleft1, aright1 <emphasis role="opc">fluidOut</emphasis>   gienginenum1
aleft2, aright2 <emphasis role="opc">fluidOut</emphasis>   gienginenum2
                <emphasis role="opc">outs</emphasis>       (aleft1 <emphasis role="op">*</emphasis> iamplitude1) <emphasis role="op">+</emphasis> (aleft2 <emphasis role="op">*</emphasis> iamplitude2),  \
                           (aright1 <emphasis role="op">*</emphasis> iamplitude1) <emphasis role="op">+</emphasis> (aright2 <emphasis role="op">*</emphasis> iamplitude2)
<emphasis role="oblock">endin</emphasis>
<emphasis role="csdtag">&lt;/CsInstruments&gt;</emphasis>
<emphasis role="csdtag">&lt;CsScore&gt;</emphasis>

<emphasis role="stamnt">i</emphasis> 1 0 3  60  100
<emphasis role="stamnt">i</emphasis> 2 1 3  60  100
<emphasis role="stamnt">i</emphasis> 3 3 3  63  100
<emphasis role="stamnt">i</emphasis> 100 0 10		<emphasis role="comment">;run for 10seconds </emphasis>
<emphasis role="stamnt">e</emphasis>
<emphasis role="csdtag">&lt;/CsScore&gt;</emphasis>
<emphasis role="csdtag">&lt;/CsoundSynthesizer&gt;</emphasis>
</programlisting>