1;Written by Iain McCurdy, 2009
2
3;Modified for QuteCsound by René, March 2011
4;Tested on Ubuntu 10.04 with csound-float 5.13.0 and QuteCsound svn rev 817
5
6;Notes on modifications from original csd:
7;	Add tables for exp slider
8;	Use menu for exitation signal choice
9;	INIT instrument added
10;	Add Browser for audio file and use of FilePlay2 udo, now accept mono or stereo wav files
11
12
13;my flags on Ubuntu: -odac -b1024 -B2048 -+rtaudio=alsa -+rtmidi=alsa -Ma -m0
14<CsoundSynthesizer>
15<CsOptions>
16
17</CsOptions>
18<CsInstruments>
19sr		= 44100	;SAMPLE RATE
20ksmps	= 100	;NUMBER OF AUDIO SAMPLES IN EACH CONTROL
21nchnls	= 2		;NUMBER OF CHANNELS (2=STEREO)
220dbfs	= 1		;MAXIMUM AMPLITUDE REGARDLESS OF BIT DEPTH
23
24
25gisine	ftgen	0,0,1024,10,1						;A SINE WAVE
26giExp1	ftgen	0, 0, 129, -25, 0, 20.0, 128, 8000.0	;TABLE FOR EXP SLIDER
27giExp2	ftgen	0, 0, 129, -25, 0,  5.0, 128, 7000.0	;TABLE FOR EXP SLIDER
28
29
30opcode FilePlay2, aa, Skoo		; Credit to Joachim Heintz
31	;gives stereo output regardless your soundfile is mono or stereo
32	Sfil, kspeed, iskip, iloop	xin
33	ichn		filenchnls	Sfil
34	if ichn == 1 then
35		aL		diskin2	Sfil, kspeed, iskip, iloop
36		aR		=		aL
37	else
38		aL, aR	diskin2	Sfil, kspeed, iskip, iloop
39	endif
40		xout		aL, aR
41endop
42
43
44instr	10	;GUI
45	ktrig	metro	10
46	if (ktrig == 1)	then
47		gkInput		invalue	"Input"
48		gkNseDur		invalue	"NoiseDur"
49		kSineTFrq		invalue	"SineTFreq"
50		gkSineTFrq	tablei	kSineTFrq, giExp1, 1
51					outvalue	"SineTFreq_Value", gkSineTFrq
52		gkSineDur		invalue	"SineBDur"
53		kSineFrq		invalue	"SineBFreq"
54		gkSineFrq		tablei	kSineFrq, giExp1, 1
55					outvalue	"SineBFreq_Value", gkSineFrq
56
57		gkplk		invalue	"PluckPos"
58		gkpick		invalue	"PickPos"
59		gkrefl		invalue	"Reflection"
60		kcps			invalue	"Pitch"
61		gkcps		tablei	kcps, giExp2, 1
62					outvalue	"Pitch_Value", gkcps
63		gkamp		invalue	"Amplitude"
64		gkImplsGain	invalue	"ImpGain"
65		gkOutGain		invalue	"OutGain"
66
67		Sfile_new		strcpy	""											;INIT TO EMPTY STRING
68		gSfile		invalue	"_Browse"
69		Sfile_old		strcpyk	Sfile_new
70		Sfile_new		strcpyk	gSfile
71		gkfile 		strcmpk	Sfile_new, Sfile_old
72	endif
73endin
74
75instr	1	;MIDI ACTIVATED INSTRUMENT
76	icps		cpsmidi														;FREQUENCY IS READ FROM INCOMING MIDI NOTE
77	iamp		ampmidi	1													;AMPLITUDE IS READ FROM INCOMING MIDI NOTE
78	iporttime	=		0.1													;PORTAMENTO TIME
79	kporttime	linseg	0,0.01,iporttime,1,iporttime								;PORTAMENTO TIME VARIABLE THAT RAMPS UP FROM ZERO
80	kpick	portk	gkpick, kporttime										;APPLY PORTAMENTO TO 'PICK-UP POSITION' VARIABLE (PREVENTS 'ZIP' NOISE)
81	kSineTFrq	portk	gkSineTFrq, kporttime									;APPLY PORTAMENTO TO 'SINE TONE FREQUENCY' VARIABLE (MAKES MODULATION SMOOTHER)
82	kenv		expseg	1,i(gkNseDur),.00001,1,.00001								;CREATE AN AMPLITUDE ENVELOPE FOR THE NOISE BURST
83
84	axcite	pinkish	kenv													;CREATE A PINK NOISE SIGNAL
85
86	;OUTPUT	OPCODE	INPUT ARGS...
87	kSwitch	changed	gkplk												;GENERATE A MOMENTARY '1' PULSE IN OUTPUT 'kSwitch' IF ANY OF THE SCANNED INPUT VARIABLES CHANGE. (OUTPUT 'kSwitch' IS NORMALLY ZERO)
88	if 	kSwitch=1	then
89		reinit	START
90	endif
91	START:
92	ares 	repluck 	i(gkplk), gkamp, icps, kpick, gkrefl, axcite * gkImplsGain		;REPLUCK. NOTE EXCITATION SIGNAL SCALED BY gkImplsGain WHICH IS CREATED BY A GUI SLIDER
93			rireturn
94	aenv		linsegr	1,3600,1,0.1,0											;CREATE AN AMPLITUDE ENVELOPE. THIS WILL BE USED TO PREVENT CLICKS.
95			outs 	ares*aenv*iamp, ares*aenv*iamp							;SEND AUDIO TO OUTPUTS
96endin
97
98instr	2	;GUI ACTIVATED INSTRUMENT
99	iporttime	=		0.1													;PORTAMENTO TIME
100	kporttime	linseg	0,0.01,iporttime,1,iporttime								;PORTAMENTO TIME VARIABLE THAT RAMPS UP FROM ZERO
101	kpick	portk	gkpick, kporttime										;APPLY PORTAMENTO TO 'PICK-UP POSITION' VARIABLE (PREVENTS 'ZIP' NOISE)
102	kSineTFrq	portk	gkSineTFrq, kporttime									;APPLY PORTAMENTO TO 'SINE TONE FREQUENCY' VARIABLE (MAKES MODULATION SMOOTHER)
103
104	if		gkInput==0	then												;IF gkinput=1, I.E. IF 'NOISE BURST' IS SELECTED...
105		kenv		expseg	1,i(gkNseDur),.00001,1,.00001							;CREATE AN AMPLITUDE ENVELOPE FOR THE NOISE BURST
106		axcite	pinkish	kenv												;CREATE A PINK NOISE SIGNAL
107	elseif	gkInput==1	then												;IF gkinput=2, I.E. IF 'SOUND FILE' IS SELECTED...
108		kNew_file	changed	gkfile											;GENERATE A MOMENTARY '1' PULSE IN OUTPUT 'kSwitch' IF ANY OF THE SCANNED INPUT VARIABLES CHANGE. (OUTPUT 'kSwitch' IS NORMALLY ZERO)
109		if	kNew_file=1	then												;IF I-RATE VARIABLE CHANGE TRIGGER IS '1'...
110			reinit	NEW_FILE												;BEGIN A REINITIALISATION PASS FROM LABEL 'START'
111		endif
112		NEW_FILE:
113		;OUTPUTS	OPCODE	FILE  | SPEED | INSKIP | LOOPING (0=OFF 1=ON)
114		axcite,aR	FilePlay2	gSfile,  1,      0,         1							;GENERATE 2 AUDIO SIGNALS FROM A STEREO SOUND FILE RIGHT CHANNEL WILL BE IGNORED
115				rireturn													;RETURN FROM REINITIALISATION PASS TO PERFORMANCE TIME PASSES
116
117	elseif	gkInput==2	then												;IF gkinput=3, I.E. IF 'SINE TONE' IS SELECTED...
118		kenv		expseg	1,i(gkSineDur),.00001,1,.00001						;CREATE AN AMPLITUDE ENVELOPE FOR THE SINE BURST
119		axcite	oscili	kenv, gkSineFrq, gisine								;CREATE A SINE TONE, FREQUENCY TAKEN FROM GUI SLIDER
120	elseif	gkInput==3	then												;IF gkinput=4, I.E. IF 'SINE BURST' IS SELECTED...
121		axcite	oscili	1, kSineTFrq, gisine								;CREATE A SINE TONE
122	endif
123
124	;OUTPUT	OPCODE		INPUT ARGS...
125	kSwitch	changed	gkcps, gkplk											;GENERATE A MOMENTARY '1' PULSE IN OUTPUT 'kSwitch' IF ANY OF THE SCANNED INPUT VARIABLES CHANGE. (OUTPUT 'kSwitch' IS NORMALLY ZERO)
126	if 	kSwitch=1	then
127		reinit	START
128	endif
129	START:
130	ares 	repluck 	i(gkplk), gkamp, i(gkcps), kpick, gkrefl, axcite * gkImplsGain	;REPLUCK. NOTE EXCITATION SIGNAL SCALED BY gkImplsGain WHICH IS CREATED BY A GUI SLIDER
131			rireturn
132			outs 	ares * gkOutGain, ares * gkOutGain							;SEND AUDIO TO OUTPUTS, SCALE OUTPUT BY gkOutGain WHICH IS CREATED BY A GUI SLIDER
133endin
134
135instr	3	;INIT
136		outvalue	"PluckPos"	, .98
137		outvalue	"PickPos"		, .1
138		outvalue	"Reflection"	, 0.5
139		outvalue	"Pitch"		, 0.566
140		outvalue	"Amplitude"	, 0.1
141		outvalue	"ImpGain"		, 0.15
142		outvalue	"OutGain"		, 0.7
143		outvalue	"NoiseDur"	, 0.3
144		outvalue	"SineBDur"	, 0.3
145		outvalue	"SineBFreq"	, 0.452
146		outvalue	"SineTFreq"	, 0.452
147endin
148</CsInstruments>
149<CsScore>
150;INSTR | START | DURATION
151i 10		0		3600	;GUI
152
153i 3		0		0.1	;INIT
154</CsScore>
155</CsoundSynthesizer>
156
157<bsbPanel>
158 <label>Widgets</label>
159 <objectName/>
160 <x>72</x>
161 <y>179</y>
162 <width>400</width>
163 <height>200</height>
164 <visible>true</visible>
165 <uuid/>
166 <bgcolor mode="background">
167  <r>241</r>
168  <g>226</g>
169  <b>185</b>
170 </bgcolor>
171 <bsbObject version="2" type="BSBLabel">
172  <objectName/>
173  <x>2</x>
174  <y>2</y>
175  <width>515</width>
176  <height>463</height>
177  <uuid>{aa607456-d368-4d59-8497-d16d608404c3}</uuid>
178  <visible>true</visible>
179  <midichan>0</midichan>
180  <midicc>0</midicc>
181  <label>repluck</label>
182  <alignment>center</alignment>
183  <font>Liberation Sans</font>
184  <fontsize>18</fontsize>
185  <precision>3</precision>
186  <color>
187   <r>0</r>
188   <g>0</g>
189   <b>0</b>
190  </color>
191  <bgcolor mode="background">
192   <r>147</r>
193   <g>154</g>
194   <b>255</b>
195  </bgcolor>
196  <bordermode>border</bordermode>
197  <borderradius>5</borderradius>
198  <borderwidth>2</borderwidth>
199 </bsbObject>
200 <bsbObject version="2" type="BSBLabel">
201  <objectName/>
202  <x>8</x>
203  <y>112</y>
204  <width>220</width>
205  <height>30</height>
206  <uuid>{640b50b7-7200-4f81-8394-89d9843ae939}</uuid>
207  <visible>true</visible>
208  <midichan>0</midichan>
209  <midicc>0</midicc>
210  <label>Pluck Position (i-rate)</label>
211  <alignment>left</alignment>
212  <font>Liberation Sans</font>
213  <fontsize>10</fontsize>
214  <precision>3</precision>
215  <color>
216   <r>0</r>
217   <g>0</g>
218   <b>0</b>
219  </color>
220  <bgcolor mode="nobackground">
221   <r>255</r>
222   <g>255</g>
223   <b>255</b>
224  </bgcolor>
225  <bordermode>noborder</bordermode>
226  <borderradius>1</borderradius>
227  <borderwidth>1</borderwidth>
228 </bsbObject>
229 <bsbObject version="2" type="BSBHSlider">
230  <objectName>PluckPos</objectName>
231  <x>8</x>
232  <y>91</y>
233  <width>500</width>
234  <height>27</height>
235  <uuid>{5585fa6f-0f63-4ac3-bf1b-809c2b1d9134}</uuid>
236  <visible>true</visible>
237  <midichan>0</midichan>
238  <midicc>0</midicc>
239  <minimum>0.01000000</minimum>
240  <maximum>0.99000000</maximum>
241  <value>0.98000002</value>
242  <mode>lin</mode>
243  <mouseControl act="jump">continuous</mouseControl>
244  <resolution>-1.00000000</resolution>
245  <randomizable group="0">false</randomizable>
246 </bsbObject>
247 <bsbObject version="2" type="BSBDisplay">
248  <objectName>PluckPos</objectName>
249  <x>448</x>
250  <y>112</y>
251  <width>60</width>
252  <height>30</height>
253  <uuid>{b731b52e-e14a-476a-a583-f3b2bd885539}</uuid>
254  <visible>true</visible>
255  <midichan>0</midichan>
256  <midicc>0</midicc>
257  <label>0.980</label>
258  <alignment>right</alignment>
259  <font>Liberation Sans</font>
260  <fontsize>9</fontsize>
261  <precision>3</precision>
262  <color>
263   <r>0</r>
264   <g>0</g>
265   <b>0</b>
266  </color>
267  <bgcolor mode="nobackground">
268   <r>255</r>
269   <g>255</g>
270   <b>255</b>
271  </bgcolor>
272  <bordermode>noborder</bordermode>
273  <borderradius>1</borderradius>
274  <borderwidth>1</borderwidth>
275 </bsbObject>
276 <bsbObject version="2" type="BSBButton">
277  <objectName/>
278  <x>8</x>
279  <y>43</y>
280  <width>120</width>
281  <height>30</height>
282  <uuid>{04d44ebe-12eb-4bb0-a3f5-9e4fd3e7830e}</uuid>
283  <visible>true</visible>
284  <midichan>0</midichan>
285  <midicc>0</midicc>
286  <type>event</type>
287  <pressedValue>1.00000000</pressedValue>
288  <stringvalue/>
289  <text>  On / Off (MIDI)</text>
290  <image>/</image>
291  <eventLine>i 2 0 -1</eventLine>
292  <latch>true</latch>
293  <latched>false</latched>
294 </bsbObject>
295 <bsbObject version="2" type="BSBLabel">
296  <objectName/>
297  <x>8</x>
298  <y>158</y>
299  <width>220</width>
300  <height>30</height>
301  <uuid>{1fee3c20-99d2-4c60-baa7-669d23492f06}</uuid>
302  <visible>true</visible>
303  <midichan>0</midichan>
304  <midicc>0</midicc>
305  <label>Pick-up Position (k-rate)</label>
306  <alignment>left</alignment>
307  <font>Liberation Sans</font>
308  <fontsize>10</fontsize>
309  <precision>3</precision>
310  <color>
311   <r>0</r>
312   <g>0</g>
313   <b>0</b>
314  </color>
315  <bgcolor mode="nobackground">
316   <r>255</r>
317   <g>255</g>
318   <b>255</b>
319  </bgcolor>
320  <bordermode>noborder</bordermode>
321  <borderradius>1</borderradius>
322  <borderwidth>1</borderwidth>
323 </bsbObject>
324 <bsbObject version="2" type="BSBHSlider">
325  <objectName>PickPos</objectName>
326  <x>8</x>
327  <y>137</y>
328  <width>500</width>
329  <height>27</height>
330  <uuid>{f5ebacc2-9a31-48e3-adb0-3cb090aec444}</uuid>
331  <visible>true</visible>
332  <midichan>0</midichan>
333  <midicc>0</midicc>
334  <minimum>0.00000000</minimum>
335  <maximum>0.99999000</maximum>
336  <value>0.10000000</value>
337  <mode>lin</mode>
338  <mouseControl act="jump">continuous</mouseControl>
339  <resolution>-1.00000000</resolution>
340  <randomizable group="0">false</randomizable>
341 </bsbObject>
342 <bsbObject version="2" type="BSBDisplay">
343  <objectName>PickPos</objectName>
344  <x>448</x>
345  <y>158</y>
346  <width>60</width>
347  <height>30</height>
348  <uuid>{221d17eb-f6ee-4286-a97f-e6bc5c0a1749}</uuid>
349  <visible>true</visible>
350  <midichan>0</midichan>
351  <midicc>0</midicc>
352  <label>0.100</label>
353  <alignment>right</alignment>
354  <font>Liberation Sans</font>
355  <fontsize>9</fontsize>
356  <precision>3</precision>
357  <color>
358   <r>0</r>
359   <g>0</g>
360   <b>0</b>
361  </color>
362  <bgcolor mode="nobackground">
363   <r>255</r>
364   <g>255</g>
365   <b>255</b>
366  </bgcolor>
367  <bordermode>noborder</bordermode>
368  <borderradius>1</borderradius>
369  <borderwidth>1</borderwidth>
370 </bsbObject>
371 <bsbObject version="2" type="BSBLabel">
372  <objectName/>
373  <x>8</x>
374  <y>204</y>
375  <width>220</width>
376  <height>30</height>
377  <uuid>{bce7cccd-a303-4a57-af94-fd50cf914991}</uuid>
378  <visible>true</visible>
379  <midichan>0</midichan>
380  <midicc>0</midicc>
381  <label>Reflection</label>
382  <alignment>left</alignment>
383  <font>Liberation Sans</font>
384  <fontsize>10</fontsize>
385  <precision>3</precision>
386  <color>
387   <r>0</r>
388   <g>0</g>
389   <b>0</b>
390  </color>
391  <bgcolor mode="nobackground">
392   <r>255</r>
393   <g>255</g>
394   <b>255</b>
395  </bgcolor>
396  <bordermode>noborder</bordermode>
397  <borderradius>1</borderradius>
398  <borderwidth>1</borderwidth>
399 </bsbObject>
400 <bsbObject version="2" type="BSBHSlider">
401  <objectName>Reflection</objectName>
402  <x>8</x>
403  <y>183</y>
404  <width>500</width>
405  <height>27</height>
406  <uuid>{aaf82558-9229-4d61-8190-0286f3764e87}</uuid>
407  <visible>true</visible>
408  <midichan>0</midichan>
409  <midicc>0</midicc>
410  <minimum>0.00010000</minimum>
411  <maximum>0.99990000</maximum>
412  <value>0.50000000</value>
413  <mode>lin</mode>
414  <mouseControl act="jump">continuous</mouseControl>
415  <resolution>-1.00000000</resolution>
416  <randomizable group="0">false</randomizable>
417 </bsbObject>
418 <bsbObject version="2" type="BSBDisplay">
419  <objectName>Reflection</objectName>
420  <x>448</x>
421  <y>204</y>
422  <width>60</width>
423  <height>30</height>
424  <uuid>{1cd1723d-bcd9-44df-9f08-9d8191f03601}</uuid>
425  <visible>true</visible>
426  <midichan>0</midichan>
427  <midicc>0</midicc>
428  <label>0.500</label>
429  <alignment>right</alignment>
430  <font>Liberation Sans</font>
431  <fontsize>9</fontsize>
432  <precision>3</precision>
433  <color>
434   <r>0</r>
435   <g>0</g>
436   <b>0</b>
437  </color>
438  <bgcolor mode="nobackground">
439   <r>255</r>
440   <g>255</g>
441   <b>255</b>
442  </bgcolor>
443  <bordermode>noborder</bordermode>
444  <borderradius>1</borderradius>
445  <borderwidth>1</borderwidth>
446 </bsbObject>
447 <bsbObject version="2" type="BSBLabel">
448  <objectName/>
449  <x>8</x>
450  <y>250</y>
451  <width>220</width>
452  <height>30</height>
453  <uuid>{0f0e06ef-104c-459c-8a8b-3bf531321341}</uuid>
454  <visible>true</visible>
455  <midichan>0</midichan>
456  <midicc>0</midicc>
457  <label>Pitch in CPS</label>
458  <alignment>left</alignment>
459  <font>Liberation Sans</font>
460  <fontsize>10</fontsize>
461  <precision>3</precision>
462  <color>
463   <r>0</r>
464   <g>0</g>
465   <b>0</b>
466  </color>
467  <bgcolor mode="nobackground">
468   <r>255</r>
469   <g>255</g>
470   <b>255</b>
471  </bgcolor>
472  <bordermode>noborder</bordermode>
473  <borderradius>1</borderradius>
474  <borderwidth>1</borderwidth>
475 </bsbObject>
476 <bsbObject version="2" type="BSBHSlider">
477  <objectName>Pitch</objectName>
478  <x>8</x>
479  <y>229</y>
480  <width>500</width>
481  <height>27</height>
482  <uuid>{4a2f399c-8a7b-40cf-84ab-839e1d7012f5}</uuid>
483  <visible>true</visible>
484  <midichan>0</midichan>
485  <midicc>0</midicc>
486  <minimum>0.00000000</minimum>
487  <maximum>1.00000000</maximum>
488  <value>0.56599998</value>
489  <mode>lin</mode>
490  <mouseControl act="jump">continuous</mouseControl>
491  <resolution>-1.00000000</resolution>
492  <randomizable group="0">false</randomizable>
493 </bsbObject>
494 <bsbObject version="2" type="BSBDisplay">
495  <objectName>Pitch_Value</objectName>
496  <x>448</x>
497  <y>250</y>
498  <width>60</width>
499  <height>30</height>
500  <uuid>{62bd5b38-121f-4382-8c01-02c75edf2237}</uuid>
501  <visible>true</visible>
502  <midichan>0</midichan>
503  <midicc>0</midicc>
504  <label>301.891</label>
505  <alignment>right</alignment>
506  <font>Liberation Sans</font>
507  <fontsize>9</fontsize>
508  <precision>3</precision>
509  <color>
510   <r>0</r>
511   <g>0</g>
512   <b>0</b>
513  </color>
514  <bgcolor mode="nobackground">
515   <r>255</r>
516   <g>255</g>
517   <b>255</b>
518  </bgcolor>
519  <bordermode>noborder</bordermode>
520  <borderradius>1</borderradius>
521  <borderwidth>1</borderwidth>
522 </bsbObject>
523 <bsbObject version="2" type="BSBLabel">
524  <objectName/>
525  <x>8</x>
526  <y>296</y>
527  <width>220</width>
528  <height>30</height>
529  <uuid>{3967c371-a6b0-46ca-a51c-5a44bcad618d}</uuid>
530  <visible>true</visible>
531  <midichan>0</midichan>
532  <midicc>0</midicc>
533  <label>Amplitude</label>
534  <alignment>left</alignment>
535  <font>Liberation Sans</font>
536  <fontsize>10</fontsize>
537  <precision>3</precision>
538  <color>
539   <r>0</r>
540   <g>0</g>
541   <b>0</b>
542  </color>
543  <bgcolor mode="nobackground">
544   <r>255</r>
545   <g>255</g>
546   <b>255</b>
547  </bgcolor>
548  <bordermode>noborder</bordermode>
549  <borderradius>1</borderradius>
550  <borderwidth>1</borderwidth>
551 </bsbObject>
552 <bsbObject version="2" type="BSBHSlider">
553  <objectName>Amplitude</objectName>
554  <x>8</x>
555  <y>275</y>
556  <width>500</width>
557  <height>27</height>
558  <uuid>{fa94c4bb-3469-4fbf-9096-f6f7c115eb69}</uuid>
559  <visible>true</visible>
560  <midichan>0</midichan>
561  <midicc>0</midicc>
562  <minimum>0.00000000</minimum>
563  <maximum>1.00000000</maximum>
564  <value>0.10000000</value>
565  <mode>lin</mode>
566  <mouseControl act="jump">continuous</mouseControl>
567  <resolution>-1.00000000</resolution>
568  <randomizable group="0">false</randomizable>
569 </bsbObject>
570 <bsbObject version="2" type="BSBDisplay">
571  <objectName>Amplitude</objectName>
572  <x>448</x>
573  <y>296</y>
574  <width>60</width>
575  <height>30</height>
576  <uuid>{1f01b045-b441-4f44-8dfe-884fb64aba2a}</uuid>
577  <visible>true</visible>
578  <midichan>0</midichan>
579  <midicc>0</midicc>
580  <label>0.100</label>
581  <alignment>right</alignment>
582  <font>Liberation Sans</font>
583  <fontsize>9</fontsize>
584  <precision>3</precision>
585  <color>
586   <r>0</r>
587   <g>0</g>
588   <b>0</b>
589  </color>
590  <bgcolor mode="nobackground">
591   <r>255</r>
592   <g>255</g>
593   <b>255</b>
594  </bgcolor>
595  <bordermode>noborder</bordermode>
596  <borderradius>1</borderradius>
597  <borderwidth>1</borderwidth>
598 </bsbObject>
599 <bsbObject version="2" type="BSBLabel">
600  <objectName/>
601  <x>8</x>
602  <y>342</y>
603  <width>220</width>
604  <height>30</height>
605  <uuid>{ca70090e-4ea1-4812-92c7-b0185789dd74}</uuid>
606  <visible>true</visible>
607  <midichan>0</midichan>
608  <midicc>0</midicc>
609  <label>Impulse Gain</label>
610  <alignment>left</alignment>
611  <font>Liberation Sans</font>
612  <fontsize>10</fontsize>
613  <precision>3</precision>
614  <color>
615   <r>0</r>
616   <g>0</g>
617   <b>0</b>
618  </color>
619  <bgcolor mode="nobackground">
620   <r>255</r>
621   <g>255</g>
622   <b>255</b>
623  </bgcolor>
624  <bordermode>noborder</bordermode>
625  <borderradius>1</borderradius>
626  <borderwidth>1</borderwidth>
627 </bsbObject>
628 <bsbObject version="2" type="BSBHSlider">
629  <objectName>ImpGain</objectName>
630  <x>8</x>
631  <y>321</y>
632  <width>500</width>
633  <height>27</height>
634  <uuid>{5c956305-dd8a-41c4-a8c8-f6810de98456}</uuid>
635  <visible>true</visible>
636  <midichan>0</midichan>
637  <midicc>0</midicc>
638  <minimum>0.00000000</minimum>
639  <maximum>1.00000000</maximum>
640  <value>0.15000001</value>
641  <mode>lin</mode>
642  <mouseControl act="jump">continuous</mouseControl>
643  <resolution>-1.00000000</resolution>
644  <randomizable group="0">false</randomizable>
645 </bsbObject>
646 <bsbObject version="2" type="BSBDisplay">
647  <objectName>ImpGain</objectName>
648  <x>448</x>
649  <y>342</y>
650  <width>60</width>
651  <height>30</height>
652  <uuid>{5c7fff71-06fa-4537-b05e-42f313464f5e}</uuid>
653  <visible>true</visible>
654  <midichan>0</midichan>
655  <midicc>0</midicc>
656  <label>0.150</label>
657  <alignment>right</alignment>
658  <font>Liberation Sans</font>
659  <fontsize>9</fontsize>
660  <precision>3</precision>
661  <color>
662   <r>0</r>
663   <g>0</g>
664   <b>0</b>
665  </color>
666  <bgcolor mode="nobackground">
667   <r>255</r>
668   <g>255</g>
669   <b>255</b>
670  </bgcolor>
671  <bordermode>noborder</bordermode>
672  <borderradius>1</borderradius>
673  <borderwidth>1</borderwidth>
674 </bsbObject>
675 <bsbObject version="2" type="BSBLabel">
676  <objectName/>
677  <x>8</x>
678  <y>388</y>
679  <width>220</width>
680  <height>30</height>
681  <uuid>{5c040edc-9c01-48f3-82f1-b1ab4ab783a7}</uuid>
682  <visible>true</visible>
683  <midichan>0</midichan>
684  <midicc>0</midicc>
685  <label>Output Gain</label>
686  <alignment>left</alignment>
687  <font>Liberation Sans</font>
688  <fontsize>10</fontsize>
689  <precision>3</precision>
690  <color>
691   <r>0</r>
692   <g>0</g>
693   <b>0</b>
694  </color>
695  <bgcolor mode="nobackground">
696   <r>255</r>
697   <g>255</g>
698   <b>255</b>
699  </bgcolor>
700  <bordermode>noborder</bordermode>
701  <borderradius>1</borderradius>
702  <borderwidth>1</borderwidth>
703 </bsbObject>
704 <bsbObject version="2" type="BSBHSlider">
705  <objectName>OutGain</objectName>
706  <x>8</x>
707  <y>367</y>
708  <width>500</width>
709  <height>27</height>
710  <uuid>{5964ce8f-786f-4f9c-b7fd-4296524ae0d9}</uuid>
711  <visible>true</visible>
712  <midichan>0</midichan>
713  <midicc>0</midicc>
714  <minimum>0.00000000</minimum>
715  <maximum>1.00000000</maximum>
716  <value>0.69999999</value>
717  <mode>lin</mode>
718  <mouseControl act="jump">continuous</mouseControl>
719  <resolution>-1.00000000</resolution>
720  <randomizable group="0">false</randomizable>
721 </bsbObject>
722 <bsbObject version="2" type="BSBDisplay">
723  <objectName>OutGain</objectName>
724  <x>448</x>
725  <y>388</y>
726  <width>60</width>
727  <height>30</height>
728  <uuid>{3e946893-6ed7-47aa-a9f4-01ca8e1b0aa9}</uuid>
729  <visible>true</visible>
730  <midichan>0</midichan>
731  <midicc>0</midicc>
732  <label>0.700</label>
733  <alignment>right</alignment>
734  <font>Liberation Sans</font>
735  <fontsize>9</fontsize>
736  <precision>3</precision>
737  <color>
738   <r>0</r>
739   <g>0</g>
740   <b>0</b>
741  </color>
742  <bgcolor mode="nobackground">
743   <r>255</r>
744   <g>255</g>
745   <b>255</b>
746  </bgcolor>
747  <bordermode>noborder</bordermode>
748  <borderradius>1</borderradius>
749  <borderwidth>1</borderwidth>
750 </bsbObject>
751 <bsbObject version="2" type="BSBLabel">
752  <objectName/>
753  <x>520</x>
754  <y>2</y>
755  <width>515</width>
756  <height>463</height>
757  <uuid>{d4197d59-95e7-4fb4-8c29-56aaf8759c16}</uuid>
758  <visible>true</visible>
759  <midichan>0</midichan>
760  <midicc>0</midicc>
761  <label>Exitation signal</label>
762  <alignment>center</alignment>
763  <font>Liberation Sans</font>
764  <fontsize>18</fontsize>
765  <precision>3</precision>
766  <color>
767   <r>0</r>
768   <g>0</g>
769   <b>0</b>
770  </color>
771  <bgcolor mode="background">
772   <r>147</r>
773   <g>154</g>
774   <b>255</b>
775  </bgcolor>
776  <bordermode>border</bordermode>
777  <borderradius>5</borderradius>
778  <borderwidth>2</borderwidth>
779 </bsbObject>
780 <bsbObject version="2" type="BSBLabel">
781  <objectName/>
782  <x>528</x>
783  <y>112</y>
784  <width>220</width>
785  <height>30</height>
786  <uuid>{46af5ce6-bccf-4dde-8bf1-3b1813564763}</uuid>
787  <visible>true</visible>
788  <midichan>0</midichan>
789  <midicc>0</midicc>
790  <label>Noise Burst Duration</label>
791  <alignment>left</alignment>
792  <font>Liberation Sans</font>
793  <fontsize>10</fontsize>
794  <precision>3</precision>
795  <color>
796   <r>0</r>
797   <g>0</g>
798   <b>0</b>
799  </color>
800  <bgcolor mode="nobackground">
801   <r>255</r>
802   <g>255</g>
803   <b>255</b>
804  </bgcolor>
805  <bordermode>noborder</bordermode>
806  <borderradius>1</borderradius>
807  <borderwidth>1</borderwidth>
808 </bsbObject>
809 <bsbObject version="2" type="BSBHSlider">
810  <objectName>NoiseDur</objectName>
811  <x>528</x>
812  <y>91</y>
813  <width>500</width>
814  <height>27</height>
815  <uuid>{6b9dfa56-4f64-43e4-917b-e67a1651cfa0}</uuid>
816  <visible>true</visible>
817  <midichan>0</midichan>
818  <midicc>0</midicc>
819  <minimum>0.10000000</minimum>
820  <maximum>2.00000000</maximum>
821  <value>0.30000001</value>
822  <mode>lin</mode>
823  <mouseControl act="jump">continuous</mouseControl>
824  <resolution>-1.00000000</resolution>
825  <randomizable group="0">false</randomizable>
826 </bsbObject>
827 <bsbObject version="2" type="BSBDisplay">
828  <objectName>NoiseDur</objectName>
829  <x>968</x>
830  <y>112</y>
831  <width>60</width>
832  <height>30</height>
833  <uuid>{f6d137ad-4713-4831-b3df-5a9ffeac43d6}</uuid>
834  <visible>true</visible>
835  <midichan>0</midichan>
836  <midicc>0</midicc>
837  <label>0.300</label>
838  <alignment>right</alignment>
839  <font>Liberation Sans</font>
840  <fontsize>9</fontsize>
841  <precision>3</precision>
842  <color>
843   <r>0</r>
844   <g>0</g>
845   <b>0</b>
846  </color>
847  <bgcolor mode="nobackground">
848   <r>255</r>
849   <g>255</g>
850   <b>255</b>
851  </bgcolor>
852  <bordermode>noborder</bordermode>
853  <borderradius>1</borderradius>
854  <borderwidth>1</borderwidth>
855 </bsbObject>
856 <bsbObject version="2" type="BSBLabel">
857  <objectName/>
858  <x>528</x>
859  <y>158</y>
860  <width>220</width>
861  <height>30</height>
862  <uuid>{5827f4b1-ad0a-4d1c-8747-414e88af2ee7}</uuid>
863  <visible>true</visible>
864  <midichan>0</midichan>
865  <midicc>0</midicc>
866  <label>Sine Tone Frequency</label>
867  <alignment>left</alignment>
868  <font>Liberation Sans</font>
869  <fontsize>10</fontsize>
870  <precision>3</precision>
871  <color>
872   <r>0</r>
873   <g>0</g>
874   <b>0</b>
875  </color>
876  <bgcolor mode="nobackground">
877   <r>255</r>
878   <g>255</g>
879   <b>255</b>
880  </bgcolor>
881  <bordermode>noborder</bordermode>
882  <borderradius>1</borderradius>
883  <borderwidth>1</borderwidth>
884 </bsbObject>
885 <bsbObject version="2" type="BSBHSlider">
886  <objectName>SineTFreq</objectName>
887  <x>528</x>
888  <y>137</y>
889  <width>500</width>
890  <height>27</height>
891  <uuid>{bb541ae6-8236-40d8-a0d0-744c3296a512}</uuid>
892  <visible>true</visible>
893  <midichan>0</midichan>
894  <midicc>0</midicc>
895  <minimum>0.00000000</minimum>
896  <maximum>1.00000000</maximum>
897  <value>0.45199999</value>
898  <mode>lin</mode>
899  <mouseControl act="jump">continuous</mouseControl>
900  <resolution>-1.00000000</resolution>
901  <randomizable group="0">false</randomizable>
902 </bsbObject>
903 <bsbObject version="2" type="BSBDisplay">
904  <objectName>SineTFreq_Value</objectName>
905  <x>968</x>
906  <y>158</y>
907  <width>60</width>
908  <height>30</height>
909  <uuid>{084a8d91-cf42-4dc1-95a8-c3da37aa3874}</uuid>
910  <visible>true</visible>
911  <midichan>0</midichan>
912  <midicc>0</midicc>
913  <label>300.067</label>
914  <alignment>right</alignment>
915  <font>Liberation Sans</font>
916  <fontsize>9</fontsize>
917  <precision>3</precision>
918  <color>
919   <r>0</r>
920   <g>0</g>
921   <b>0</b>
922  </color>
923  <bgcolor mode="nobackground">
924   <r>255</r>
925   <g>255</g>
926   <b>255</b>
927  </bgcolor>
928  <bordermode>noborder</bordermode>
929  <borderradius>1</borderradius>
930  <borderwidth>1</borderwidth>
931 </bsbObject>
932 <bsbObject version="2" type="BSBLabel">
933  <objectName/>
934  <x>528</x>
935  <y>204</y>
936  <width>220</width>
937  <height>30</height>
938  <uuid>{62a32db8-949d-4a30-baf2-0eb6962c0383}</uuid>
939  <visible>true</visible>
940  <midichan>0</midichan>
941  <midicc>0</midicc>
942  <label>Sine Burst Duration</label>
943  <alignment>left</alignment>
944  <font>Liberation Sans</font>
945  <fontsize>10</fontsize>
946  <precision>3</precision>
947  <color>
948   <r>0</r>
949   <g>0</g>
950   <b>0</b>
951  </color>
952  <bgcolor mode="nobackground">
953   <r>255</r>
954   <g>255</g>
955   <b>255</b>
956  </bgcolor>
957  <bordermode>noborder</bordermode>
958  <borderradius>1</borderradius>
959  <borderwidth>1</borderwidth>
960 </bsbObject>
961 <bsbObject version="2" type="BSBHSlider">
962  <objectName>SineBDur</objectName>
963  <x>528</x>
964  <y>183</y>
965  <width>500</width>
966  <height>27</height>
967  <uuid>{aa58e620-d673-4877-a5c8-0a970b666b12}</uuid>
968  <visible>true</visible>
969  <midichan>0</midichan>
970  <midicc>0</midicc>
971  <minimum>0.10000000</minimum>
972  <maximum>2.00000000</maximum>
973  <value>0.30000001</value>
974  <mode>lin</mode>
975  <mouseControl act="jump">continuous</mouseControl>
976  <resolution>-1.00000000</resolution>
977  <randomizable group="0">false</randomizable>
978 </bsbObject>
979 <bsbObject version="2" type="BSBDisplay">
980  <objectName>SineBDur</objectName>
981  <x>968</x>
982  <y>204</y>
983  <width>60</width>
984  <height>30</height>
985  <uuid>{fb39934d-98b2-46d5-aa5b-9e321297c251}</uuid>
986  <visible>true</visible>
987  <midichan>0</midichan>
988  <midicc>0</midicc>
989  <label>0.300</label>
990  <alignment>right</alignment>
991  <font>Liberation Sans</font>
992  <fontsize>9</fontsize>
993  <precision>3</precision>
994  <color>
995   <r>0</r>
996   <g>0</g>
997   <b>0</b>
998  </color>
999  <bgcolor mode="nobackground">
1000   <r>255</r>
1001   <g>255</g>
1002   <b>255</b>
1003  </bgcolor>
1004  <bordermode>noborder</bordermode>
1005  <borderradius>1</borderradius>
1006  <borderwidth>1</borderwidth>
1007 </bsbObject>
1008 <bsbObject version="2" type="BSBLabel">
1009  <objectName/>
1010  <x>528</x>
1011  <y>250</y>
1012  <width>220</width>
1013  <height>30</height>
1014  <uuid>{acf61f85-e306-4fa2-9ec4-7339ea03554c}</uuid>
1015  <visible>true</visible>
1016  <midichan>0</midichan>
1017  <midicc>0</midicc>
1018  <label>Sine Burst Frequency</label>
1019  <alignment>left</alignment>
1020  <font>Liberation Sans</font>
1021  <fontsize>10</fontsize>
1022  <precision>3</precision>
1023  <color>
1024   <r>0</r>
1025   <g>0</g>
1026   <b>0</b>
1027  </color>
1028  <bgcolor mode="nobackground">
1029   <r>255</r>
1030   <g>255</g>
1031   <b>255</b>
1032  </bgcolor>
1033  <bordermode>noborder</bordermode>
1034  <borderradius>1</borderradius>
1035  <borderwidth>1</borderwidth>
1036 </bsbObject>
1037 <bsbObject version="2" type="BSBHSlider">
1038  <objectName>SineBFreq</objectName>
1039  <x>528</x>
1040  <y>229</y>
1041  <width>500</width>
1042  <height>27</height>
1043  <uuid>{d38266cc-b4dc-4933-9631-98588ff07969}</uuid>
1044  <visible>true</visible>
1045  <midichan>0</midichan>
1046  <midicc>0</midicc>
1047  <minimum>0.00000000</minimum>
1048  <maximum>1.00000000</maximum>
1049  <value>0.45199999</value>
1050  <mode>lin</mode>
1051  <mouseControl act="jump">continuous</mouseControl>
1052  <resolution>-1.00000000</resolution>
1053  <randomizable group="0">false</randomizable>
1054 </bsbObject>
1055 <bsbObject version="2" type="BSBDisplay">
1056  <objectName>SineBFreq_Value</objectName>
1057  <x>968</x>
1058  <y>250</y>
1059  <width>60</width>
1060  <height>30</height>
1061  <uuid>{bea552e7-1162-45d7-a7be-ab38bfa073ec}</uuid>
1062  <visible>true</visible>
1063  <midichan>0</midichan>
1064  <midicc>0</midicc>
1065  <label>300.067</label>
1066  <alignment>right</alignment>
1067  <font>Liberation Sans</font>
1068  <fontsize>9</fontsize>
1069  <precision>3</precision>
1070  <color>
1071   <r>0</r>
1072   <g>0</g>
1073   <b>0</b>
1074  </color>
1075  <bgcolor mode="nobackground">
1076   <r>255</r>
1077   <g>255</g>
1078   <b>255</b>
1079  </bgcolor>
1080  <bordermode>noborder</bordermode>
1081  <borderradius>1</borderradius>
1082  <borderwidth>1</borderwidth>
1083 </bsbObject>
1084 <bsbObject version="2" type="BSBDropdown">
1085  <objectName>Input</objectName>
1086  <x>528</x>
1087  <y>8</y>
1088  <width>137</width>
1089  <height>30</height>
1090  <uuid>{7a28c75c-0384-43d7-a78c-917ef55f9f74}</uuid>
1091  <visible>true</visible>
1092  <midichan>0</midichan>
1093  <midicc>0</midicc>
1094  <bsbDropdownItemList>
1095   <bsbDropdownItem>
1096    <name>Noise Burst</name>
1097    <value>0</value>
1098    <stringvalue/>
1099   </bsbDropdownItem>
1100   <bsbDropdownItem>
1101    <name>Sound File</name>
1102    <value>1</value>
1103    <stringvalue/>
1104   </bsbDropdownItem>
1105   <bsbDropdownItem>
1106    <name>Sine Burst</name>
1107    <value>2</value>
1108    <stringvalue/>
1109   </bsbDropdownItem>
1110   <bsbDropdownItem>
1111    <name>Sine Tone</name>
1112    <value>3</value>
1113    <stringvalue/>
1114   </bsbDropdownItem>
1115  </bsbDropdownItemList>
1116  <selectedIndex>1</selectedIndex>
1117  <randomizable group="0">false</randomizable>
1118 </bsbObject>
1119 <bsbObject version="2" type="BSBLabel">
1120  <objectName/>
1121  <x>524</x>
1122  <y>266</y>
1123  <width>507</width>
1124  <height>197</height>
1125  <uuid>{4dd9a56f-89f0-4d88-aacf-1fcb6f6145fd}</uuid>
1126  <visible>true</visible>
1127  <midichan>0</midichan>
1128  <midicc>0</midicc>
1129  <label>----------------------------------------------------------------------------------------------------------------------------
1130repluck is an implementation of the Karpluss-Strong plucked string algorithm. It is rather similar in design to wgpluck in that it also takes an exitation signal as input but its internal filtering works slightly differently. Filtering or damping is controlled using 'Reflection'. This can be though of as the reflectiveness (or the amount of damping action) of the 2 points of fixture at either end of the string. The 'Amplitude' control seems to be more effective in repluck. Again, low values here allow greater predominance of the exitation signal in the output. Some of the other aspects of this example are explained more fully in the example 'wgpluck.csd'.
1131This example can also be played from a MIDI keyboard.</label>
1132  <alignment>left</alignment>
1133  <font>Liberation Sans</font>
1134  <fontsize>14</fontsize>
1135  <precision>3</precision>
1136  <color>
1137   <r>0</r>
1138   <g>0</g>
1139   <b>0</b>
1140  </color>
1141  <bgcolor mode="nobackground">
1142   <r>255</r>
1143   <g>255</g>
1144   <b>255</b>
1145  </bgcolor>
1146  <bordermode>noborder</bordermode>
1147  <borderradius>1</borderradius>
1148  <borderwidth>1</borderwidth>
1149 </bsbObject>
1150 <bsbObject version="2" type="BSBButton">
1151  <objectName>_Browse</objectName>
1152  <x>528</x>
1153  <y>43</y>
1154  <width>170</width>
1155  <height>30</height>
1156  <uuid>{43341095-bc3a-4607-bd0e-01254da7bc67}</uuid>
1157  <visible>true</visible>
1158  <midichan>0</midichan>
1159  <midicc>0</midicc>
1160  <type>value</type>
1161  <pressedValue>1.00000000</pressedValue>
1162  <stringvalue>Songpan.wav</stringvalue>
1163  <text>Browse Audio File</text>
1164  <image>/</image>
1165  <eventLine/>
1166  <latch>false</latch>
1167  <latched>false</latched>
1168 </bsbObject>
1169 <bsbObject version="2" type="BSBLineEdit">
1170  <objectName>_Browse</objectName>
1171  <x>697</x>
1172  <y>44</y>
1173  <width>330</width>
1174  <height>28</height>
1175  <uuid>{b66f3878-dfd0-4290-9b9d-73be88197222}</uuid>
1176  <visible>true</visible>
1177  <midichan>0</midichan>
1178  <midicc>0</midicc>
1179  <label>Songpan.wav</label>
1180  <alignment>left</alignment>
1181  <font>Arial</font>
1182  <fontsize>10</fontsize>
1183  <precision>3</precision>
1184  <color>
1185   <r>0</r>
1186   <g>0</g>
1187   <b>0</b>
1188  </color>
1189  <bgcolor mode="nobackground">
1190   <r>240</r>
1191   <g>235</g>
1192   <b>226</b>
1193  </bgcolor>
1194  <background>nobackground</background>
1195 </bsbObject>
1196</bsbPanel>
1197<bsbPresets>
1198</bsbPresets>
1199<EventPanel name="" tempo="60.00000000" loop="8.00000000" x="913" y="162" width="655" height="346" visible="true" loopStart="0" loopEnd="0">    </EventPanel>
1200