;-------------------------------------------------------------------------
; Drone Instrument/Sruti Box
; by Dave Seidel
; with contributions from joachim heintz
; and Andres Cabrera.
;
; http://mysterybear.net/article/51/drone-instrumentsruti-box-new-version
;
; Written with Csound 5.12.1 (http://www.csounds.com)
; and QuteCsound 0.6.0 (http://qutecsound.sourceforge.net/).
;
; To use, open in QuteCsound, make sure the Widgets window
; is open, and click the Start button. Then use On/Off
; buttons to play or stop the drones.
;
; version 2.8 (14-Nov-2010)
; - option to record session (WAV file)
; - use vco2 for higher-quality saw, square, and (new) triangle waves;
; still using poscil3 for other waves
; - add a fifth drone
; - add "All On" and "All Off" buttons to activate/deactivate all drones
; at once
; - rename "Notes" to "Pitch class"
; version 2.7 (09-Oct-2010)
; - always play primary oscillator for each tone, independent of
; harmonic arpeggio or binaural beat output
; - made all pitch controls (Ratio, 8ve, and Base) changeable in realtime
; - add option to tune base frequency to conventional (Western) pitches,
; using pitch-class or note name
; version 2.6 (26-Sep-2010)
; - add level control for Risset effect (now labeled Harmonic Arpeggio);
; this allows the use of binaural beating by itself
; - line up all effects horizontally
; - use SpinBox for Harmonic Arpeggio Offset and Binaural Beats BPS, for
; finer control
; - normalize level controls to use 0.0-1.0 range
; - change multiplier for BB level from 5x to 4x, seems to match HA level better
; - layout tweakage
; version 2.5 (12-Sep-2010)
; - add precision to the base freq. per David First
; version 2.4 (12-Sep-2010)
; - bugfix from Mark Van Peteghem in the binauralize UDO
; version 2.3 (10-Sep-2010)
; - fixes from Andres
; version 2.2 (09-Sep-2010)
; - binaural beat and reverb controls
; - make Risset offset realtime
; version 2.1 (06-Sep-2010)
; - fixed release on turnoff
; - better "on" indicators fron joachim
; - added binaural beating effect
; version 2.0 (06-Sep-2010)
; - rewrite for QuteCsound
;
; Copyright 2005,2010, Dave Seidel. Some rights reserved.
; This work is licensed under a Creative Commons
; Attribution-Noncommercial 3.0 Unported License:
; http://creativecommons.org/licenses/by-nc/3.0/
;-------------------------------------------------------------------------
-odac -f -W
;-------------------------------------------------------------------------
; globals
;-------------------------------------------------------------------------
sr = 44100
ksmps = 100
nchnls = 2
0dbfs = 1
;-------------------------------------------------------------------------
; global channels
;-------------------------------------------------------------------------
gaL init 0
gaR init 0
;-------------------------------------------------------------------------
; basic offset value for Risset effect
;-------------------------------------------------------------------------
giofs init .01
;-------------------------------------------------------------------------
; multipler for binaural beat level
;-------------------------------------------------------------------------
gibblvl init 4
;-------------------------------------------------------------------------
; FFT size for pvsanal
;-------------------------------------------------------------------------
gifftsz init 2048
;-------------------------------------------------------------------------
; initialize globals for values from UI
;-------------------------------------------------------------------------
gktbl init 0
gkbase init 0
;---------------------------------------------------------------------------
; orchestra macros
;---------------------------------------------------------------------------
; base pitch in specified octave above base
#define BOCT(B'O) #$B.*(2^($O.))#
;---------------------------------------------------------------------------
; ogen macros
;---------------------------------------------------------------------------
; vco2 waveforms
#define OGEN_VCO2 #0#
#define OGEN_SAW #$OGEN_VCO2+0#
#define OGEN_SQUARE #$OGEN_VCO2+10#
#define OGEN_TRIANGLE #$OGEN_VCO2+12#
; poscil3 waveforms
#define OGEN_POSC #100#
#define OGEN_SINE #$OGEN_POSC+0#
#define OGEN_PRIME #$OGEN_POSC+1#
#define OGEN_FIB #$OGEN_POSC+2#
#define OGEN_ASYMP #$OGEN_POSC+3#
gitabsz init 1048576
; sine wave
giSine ftgen $OGEN_SINE, 0, gitabsz, 10, 1
; prime wave
giPrime ftgen $OGEN_PRIME, 0, gitabsz, 9, 1,1,0, 2,.5,0, 3,.3333,0, 5,.2,0, 7,.143,0, 11,.0909,0, 13,.077,0, 17,.0588,0, 19,.0526,0, 23,.0435,0, 27,.037,0
; Fibonacci wave
giFib ftgen $OGEN_FIB, 0, gitabsz, 9, 1,1,0, 2,.5,0, 3,.3333,0, 5,.2,0, 8,.125,0, 13,.0769,0, 21,.0476,0, 34,.0294,0, 55,.0182,0, 89,.0112,0 144,.0069,0
; David First's asymptotic sawtooth wave
giAsymp ftgen $OGEN_ASYMP, 0, gitabsz, 9, 1,1,0, 1.732050807568877,.5773502691896259,0, 2.449489742783178,.408248290463863,0, 3.162277660168379,.3162277660168379,0, 3.872983346207417,.2581988897471611,0, 4.58257569495584,.2182178902359924,0, 5.291502622129182,.1889822365046136,0, 6,.1666666666666667,0, 6.70820393249937,.1490711984999859,0, 7.416198487095663,.1348399724926484,0, 8.124038404635961,.1230914909793327,0, 9.539392014169456,.1048284836721918,0, 10.2469507659596,.0975900072948533,0, 10.95445115010332,.0912870929175277,0, 11.6619037896906,.0857492925712544,0
;---------------------------------------------------------------------------
; polymorphous oscillator
; in: iwaveform,kenvelope,kfrequency
; out: asignal
;---------------------------------------------------------------------------
opcode ogen, a, kki
kenv,kfreq,iwave xin
asig init 0
if (iwave >= $OGEN_POSC) then
asig poscil3 kenv, kfreq, iwave
else
asig vco2 kenv, kfreq, iwave
endif
xout asig
endop
;---------------------------------------------------------------------------------------
; panner
;---------------------------------------------------------------------------------------
opcode pan_equal_power, aa, ak
ain, kpan xin
kangl = 1.57079633 * (kpan + 0.5)
xout ain * sin(kangl), ain * cos(kangl)
endop
;---------------------------------------------------------------------------
; make binaural beats
;---------------------------------------------------------------------------
opcode binauralize, aa, akk
; collect inputs
ain,kcent,kdiff xin
; determine pitches
kp1 = kcent + (kdiff/2)
kp2 = kcent - (kdiff/2)
krat1 = kp1 / kcent
krat2 = kp2 / kcent
; take it apart
fsig pvsanal ain, gifftsz, gifftsz/4, gifftsz, 1
; create derived streams
fbinL pvscale fsig, krat1, 1
fbinR pvscale fsig, krat2, 1
; put it back together
abinL pvsynth fbinL
abinR pvsynth fbinR
; send it out
xout abinL, abinR
endop
;---------------------------------------------------------------------------
; oscillators with optional Risset harmonic arpeggio and binaural beating
;---------------------------------------------------------------------------
instr 3
itone = p4
iamp = ampdb(-15)/9
ipan = 0.0
itbl = i(gktbl)
kgoto kpass
; Send this value only in the init pass
Sdsp_c sprintf "disp_on_c%d", itone
outvalue Sdsp_c, 1
kpass:
; which tone is being played?
if (itone == 1) then
knum invalue "n_1"
kden invalue "d_1"
k8ve1 invalue "8ve_1"
kbase = $BOCT.(gkbase'k8ve1)
elseif (itone == 2) then
knum invalue "n_2"
kden invalue "d_2"
k8ve2 invalue "8ve_2"
kbase = $BOCT.(gkbase'k8ve2)
elseif (itone == 3) then
knum invalue "n_3"
kden invalue "d_3"
k8ve3 invalue "8ve_3"
kbase = $BOCT.(gkbase'k8ve3)
elseif (itone == 4) then
knum invalue "n_4"
kden invalue "d_4"
k8ve4 invalue "8ve_4"
kbase = $BOCT.(gkbase'k8ve4)
elseif (itone == 5) then
knum invalue "n_5"
kden invalue "d_5"
k8ve5 invalue "8ve_5"
kbase = $BOCT.(gkbase'k8ve5)
endif
; determine pitch
kfrac = knum/kden
kfreq = kbase*kfrac
; set up Risset effect
koff invalue "risset_offset"
koff0 = ((kden*2)/knum)*koff ; inversely proportional to ratio
koff1 = koff0 ; oscillator offset for arpeggio
koff2 = 2*koff ; .
koff3 = 3*koff ; .
koff4 = 4*koff ; .
; envelope
kenv linenr iamp, 2, 3, 0.01 ; env needs release segment for turnoff2
; generate primary tone
a1 ogen kenv, kfreq, itbl
; generate Risset tones
a2 ogen kenv, kfreq+koff1, itbl ; nine oscillators with the same envelope
a3 ogen kenv, kfreq+koff2, itbl ; and waveform, but slightly different
a4 ogen kenv, kfreq+koff3, itbl ; frequencies, create harmonic arpeggio
a5 ogen kenv, kfreq+koff4, itbl
a6 ogen kenv, kfreq-koff1, itbl
a7 ogen kenv, kfreq-koff2, itbl
a8 ogen kenv, kfreq-koff3, itbl
a9 ogen kenv, kfreq-koff4, itbl
; create simple output (just the primary oscillator)
a1L, a1R pan_equal_power a1, ipan
; create Risset output
krismix invalue "risset_mix"
aout sum a2, a3, a4, a5, a6, a7, a8, a9
a2L,a2R pan_equal_power aout*krismix, ipan
; create binaural beating output
kbbmix invalue "bb_mix"
kbbrate invalue "bb_rate"
a3L,a3R binauralize a1*(kbbmix*gibblvl), kfreq, kbbrate
; combine and send to global output channels
gaL = gaL+a1L+a2L+a3L
gaR = gaR+a1R+a2R+a3R
endin
;-------------------------------------------------------------------------
; turn off a tone (or all tones)
;-------------------------------------------------------------------------
instr 4
itone = p4
if (itone >= 1) then
Sdsp_c sprintf "disp_on_c%d", itone
outvalue Sdsp_c, 0
endif
if (itone < 1) then
turnoff2 3.1, 4, 1
outvalue "disp_on_c1", 0
turnoff2 3.2, 4, 1
outvalue "disp_on_c2", 0
turnoff2 3.3, 4, 1
outvalue "disp_on_c3", 0
turnoff2 3.4, 4, 1
outvalue "disp_on_c4", 0
turnoff2 3.5, 4, 1
outvalue "disp_on_c5", 0
elseif (itone == 1) then
turnoff2 3.1, 4, 1
elseif (itone == 2) then
turnoff2 3.2, 4, 1
elseif (itone == 3) then
turnoff2 3.3, 4, 1
elseif (itone == 4) then
turnoff2 3.4, 4, 1
elseif (itone == 5) then
turnoff2 3.5, 4, 1
endif
endin
;-------------------------------------------------------------------------
; turn on all tones (unless there are any running instances)
;-------------------------------------------------------------------------
instr 6
iinst active 3
if (iinst == 0) then
event_i "i", 3.1, 0, -1, 1
outvalue "disp_on_c1", 1
event_i "i", 3.2, 0, -1, 2
outvalue "disp_on_c2", 1
event_i "i", 3.3, 0, -1, 3
outvalue "disp_on_c3", 1
event_i "i", 3.4, 0, -1, 4
outvalue "disp_on_c4", 1
event_i "i", 3.5, 0, -1, 5
outvalue "disp_on_c5", 1
turnoff
endif
endin
;-------------------------------------------------------------------------
; stop everything and quit
;-------------------------------------------------------------------------
instr 5
turnoff2 3.1, 4, 1
outvalue "disp_on_c1", 0
turnoff2 3.2, 4, 1
outvalue "disp_on_c2", 0
turnoff2 3.3, 4, 1
outvalue "disp_on_c3", 0
turnoff2 3.4, 4, 1
outvalue "disp_on_c4", 0
turnoff2 3.5, 4, 1
outvalue "disp_on_c5", 0
exitnow
endin
;---------------------------------------------------------------------------
; write output to a file
;---------------------------------------------------------------------------
instr 100
Sfile invalue "rec_filename"
; if no filename given, exit
ilen strlen Sfile
if (ilen == 0) then
turnoff
else
aL, aR monitor
fout Sfile, 2, aL, aR
endif
endin
;---------------------------------------------------------------------------
; get/set base pitch and waveform
;---------------------------------------------------------------------------
instr 98
; base pitch
knotes invalue "cb_use_notes"
if (knotes == 0) then
; tuning by cycles per second
kbase0 invalue "base_freq"
koct = octcps(kbase0)
kpch = pchoct(koct)
kpch_i = int(kpch)
kpch_f = frac(kpch)
; outvalue "base_pch_int", kpch_i
; outvalue "base_pch_frac", kpch_f
else
; tuning by pitch-class
kpch_i invalue "base_pch_int"
kpch_f invalue "base_pch_frac"
kpch = kpch_i+(kpch_f/100)
kbase0 = cpspch(kpch)
outvalue "base_freq", kbase0
endif
gkbase = kbase0
; waveform
ktbl invalue "menu_waveform"
if (ktbl == 0) then
gktbl = $OGEN_SINE
elseif (ktbl = 1) then
gktbl = $OGEN_SAW
elseif (ktbl = 2) then
gktbl = $OGEN_SQUARE
elseif (ktbl = 3) then
gktbl = $OGEN_TRIANGLE
elseif (ktbl = 4) then
gktbl = $OGEN_PRIME
elseif (ktbl = 5) then
gktbl = $OGEN_FIB
elseif (ktbl = 6) then
gktbl = $OGEN_ASYMP
endif
endin
;---------------------------------------------------------------------------
; global output instrument with optional reverb
;---------------------------------------------------------------------------
instr 99
kfb invalue "reverb_feedback"
outvalue "feedback_display", kfb
kwet invalue "reverb_level"
aL, aR reverbsc gaL, gaR, kfb, p4, sr/1.5, p5, 0
aoutL = (gaL * kwet) + (aL * (1 - kwet))
aoutR = (gaR * kwet) + (aR * (1 - kwet))
outs gaL+aoutL, gaR+aoutR
gaL = 0
gaR = 0
endin
;---------------------------------------------------------------------------
; score
;---------------------------------------------------------------------------
#define A_LONG_TIME #36000#
; start reading UI values
i98 0 $A_LONG_TIME
; start output
i99 1 $A_LONG_TIME 4000 .5
; write output file
i100 1 $A_LONG_TIME
e
755
72
611
603
true
85
170
127
7
60
55
23
{e207fe11-0cdd-444e-930d-29bf13c11fb2}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
n_1
70
60
48
23
{69bad91e-0026-4238-862e-12c143685397}
true
0
-3
center
Arial
10
0
0
0
255
255
255
1.00000000
1
2048
false
13
118
60
11
25
{dac04e90-40e6-4165-b183-03b8f10511e3}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
d_1
129
60
48
23
{ef99bd92-1c6f-45f9-a32a-303c366b3332}
true
0
-3
center
Arial
10
0
0
0
255
255
255
1.00000000
1
2048
false
1
d_2
129
88
48
23
{aabc2b30-dc79-43af-88df-b977177aa58e}
true
0
-3
center
Arial
10
0
0
0
255
255
255
1.00000000
1
2048
false
1
118
90
11
25
{c3be46e9-f371-406a-ac25-0e0e07ac5c5f}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
n_2
70
88
48
23
{c32d5493-922d-4709-9f5a-56985fbb0475}
true
0
-3
center
Arial
10
0
0
0
255
255
255
1.00000000
1
2048
false
11
7
88
55
23
{e92844b5-0073-4da6-8d9b-991e8b0b0499}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
d_3
129
116
48
23
{af1ed01f-25bf-4565-85f8-0448d63214d8}
true
0
-3
center
Arial
10
0
0
0
255
255
255
1.00000000
1
2048
false
1
118
120
11
25
{07939aa1-6316-462f-8be9-976d94429e3a}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
n_3
70
116
48
23
{8e26cac5-5faa-410e-b2c2-1342978a5366}
true
0
-3
center
Arial
10
0
0
0
255
255
255
1.00000000
1
2048
false
7
7
116
55
23
{4df54217-074b-4984-b37d-2f9c0bfeadcc}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
7
144
55
25
{0ee4b373-0ead-405e-8333-c73008d4fd11}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
n_4
70
144
48
22
{09f87a96-555a-445a-82bd-478afb7abfb5}
true
0
-3
center
Arial
10
0
0
0
255
255
255
1.00000000
1
2048
false
5
118
150
11
25
{f216eb31-db8e-4ec4-be43-5c9f0c1aa2a0}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
d_4
129
144
48
23
{756d7d97-b16b-4877-a1a2-1a4f05a4753f}
true
0
-3
center
Arial
10
0
0
0
255
255
255
1.00000000
1
2048
false
1
_Play
69
524
100
30
{2f45e5ba-8d31-47a1-abfd-284ee246c74d}
true
0
-3
value
1.00000000
Start
/
i 3 0 -1
false
true
btn_stop
176
524
100
30
{8cfc7c9f-c14b-4e0a-969e-8c73d0e76eca}
true
0
-3
event
1.00000000
Stop
/
i5 0 1
false
true
base_freq
71
210
120
23
{983d831d-92f7-4f17-9b74-9dab7db7059f}
true
0
-3
right
Arial
12
0
0
0
255
255
255
0.00100000
1
20000
false
61.7337
7
211
65
23
{3505dfd5-a0ec-404f-8e71-ec9c3e53e7a6}
true
0
-3
left
Arial
13
3
0
0
0
255
255
255
noborder
1
1
menu_waveform
69
248
114
28
{5a9958a4-4a24-4c2e-8a93-9c900fc8b294}
true
0
-3
Sine
0
Saw
1
Square
2
Triangle
3
Prime
4
Fibonacci
5
Asymptotic Saw
6
4
false
7
251
55
23
{d2a792b5-5a54-4a15-894b-ff3ddf0d8dbf}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
389
351
67
25
{2438c973-bcba-42b8-88c3-7adcaed53eb1}
true
0
-3
right
Arial
13
3
0
0
0
255
255
255
noborder
1
1
8ve_1
205
60
35
23
{c398c0c6-f76b-464f-a86c-51e15765a9dd}
true
0
-3
right
Arial
10
0
0
0
255
255
255
1.00000000
-6
6
false
0
8ve_2
205
88
35
23
{051c6d7f-a070-42a6-8a8e-710d1439c9f5}
true
0
-3
right
Arial
10
0
0
0
255
255
255
1.00000000
-6
6
false
0
8ve_3
205
116
35
23
{4e4f3e61-cb8d-49bd-94e4-92f77b8dda9f}
true
0
-3
right
Arial
10
0
0
0
255
255
255
1.00000000
-6
6
false
0
8ve_4
205
144
35
23
{7185c5c5-613c-4002-ad91-7d7351bf3e43}
true
0
-3
right
Arial
10
0
0
0
255
255
255
1.00000000
-6
6
false
0
99
31
50
25
{32c98c25-6b0c-44ae-8aab-66b7991a0c3c}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
205
31
35
25
{b6aa167a-e0fb-495a-82bf-45a5ef1fabee}
true
0
-3
left
Arial
13
3
0
0
0
255
255
255
noborder
1
1
btn_on1
270
60
50
25
{0597468a-539e-46ff-ac9e-d27938ee4929}
true
0
-3
event
1.00000000
On
/
i 3.1 0 -1 1
false
false
btn_on2
270
88
50
25
{11e96f5c-80dd-4079-b41d-d64a0a0eeaf4}
true
0
-3
event
1.00000000
On
/
i 3.2 0 -1 2
false
false
btn_on5
270
144
50
25
{92247f2b-7cb0-4ba8-bc03-03361e1a10bd}
true
0
-3
event
1.00000000
On
/
i 3.4 0 -1 4
false
false
btn_on3
270
116
50
25
{2dcc0403-16c4-45e2-9427-3b5b46f1e84b}
true
0
-3
event
1.00000000
On
/
i 3.3 0 -1 3
false
true
btn_off1
325
60
50
25
{08fb344f-e380-40a0-abd0-26225f0d1532}
true
0
-3
event
1.00000000
Off
/
i 4 0 1 1
false
false
btn_off2
325
88
50
25
{c5b5e85b-86f3-45db-abf9-2399bda7e100}
true
0
-3
event
1.00000000
Off
/
i 4 0 1 2
false
false
btn_off3
325
116
50
25
{f0946452-bea5-454b-876c-ec1571771c49}
true
0
-3
event
1.00000000
Off
/
i 4 0 1 3
false
false
btn_off4
325
144
50
25
{c5a7748a-5eda-4033-9d22-aba27d00482a}
true
0
-3
event
1.00000000
Off
/
i 4 0 1 4
false
true
206
433
60
25
{f0263ce2-9501-41a2-b3ab-203447d7ec93}
true
0
-3
right
Arial
13
3
0
0
0
255
255
255
noborder
1
1
215
351
70
25
{4e5e56dd-ef75-421b-9168-48c7a3c2f396}
true
0
-3
right
Arial
13
3
0
0
0
255
255
255
noborder
1
1
bb_mix
283
324
80
80
{0764d8d5-22a9-489d-8ae5-4e19e0567038}
true
0
-3
0.00000000
1.00000000
0.50000000
lin
continuous
0.01000000
false
disp_on_c4
384
144
24
24
{bd87c226-5077-4660-84e1-f4dafbfff356}
true
0
-3
disp_on_c4
0.00000000
1.00000000
0.00000000
1.00000000
0.00000000
0.00000000
fill
1
0.00000000
jump
0
234
0
false
0
0
0
disp_on_c3
384
116
24
24
{ab7d8f5b-2b2a-462c-8199-050ead18ba84}
true
0
-3
disp_on_c3
0.00000000
1.00000000
0.00000000
1.00000000
0.00000000
0.00000000
fill
1
0.00000000
jump
0
234
0
false
0
0
0
disp_on_c2
384
88
24
24
{137d21e6-b6a2-4f9c-8495-111e5d44117e}
true
0
-3
disp_on_c2
0.00000000
1.00000000
0.00000000
1.00000000
0.00000000
0.00000000
fill
1
0.00000000
jump
0
234
0
false
0
0
0
disp_on_c1
384
61
24
24
{e4e782ae-e528-42d0-a9f3-57081bddbc78}
true
0
-3
disp_on_c1
0.00000000
1.00000000
0.00000000
1.00000000
0.00000000
0.00000000
fill
1
0.00000000
jump
0
234
0
false
0
0
0
reverb_feedback
456
324
80
80
{77d49f7c-db91-404a-bede-14601a37da3d}
true
0
-3
0.00000000
1.00000000
0.85000000
lin
continuous
0.01000000
false
68
292
130
30
{f20e492d-a935-480f-b37f-8bce3552de37}
true
0
-3
center
Arial
14
3
0
0
0
255
255
255
border
1
2
395
433
42
26
{69b5965f-ef1f-449f-9e76-0f2c7ba86ae5}
true
0
-3
right
Arial
13
3
0
0
0
255
255
255
noborder
1
1
feedback_display
456
404
80
23
{bbaf98ce-16fe-4bea-82db-1aa7909b40bd}
true
0
-3
right
Arial
13
0
255
0
0
0
0
0.85000000
0.00100000
0.00000000
1.00000000
border
3
1
false
bb_mix
283
404
80
23
{78afa9a1-f836-4547-8d80-81486db02073}
true
0
-3
right
Arial
13
0
255
0
0
0
0
0.50000000
0.01000000
0.00000000
5.00000000
border
3
1
false
reverb_level
434
433
120
25
{4e72262c-67a7-4b25-b963-2cbae66d3ebd}
true
0
-3
0.00000000
1.00000000
0.50833333
lin
continuous
-1.00000000
false
554
433
46
27
{f703a53a-5a85-4f19-8c0d-6d391fde0794}
true
0
-3
left
Arial
13
3
0
0
0
255
255
255
noborder
1
1
bb_rate
264
433
120
25
{5973dd8b-43a5-4e78-9fa9-19ff5ea90107}
true
0
-3
0.00000000
50.00000000
0.83333333
lin
continuous
-1.00000000
false
risset_offset
80
433
130
25
{5d4975a8-7006-449c-8c23-6d3b3dfa80f7}
true
0
-3
0.00000000
1.00000000
0.01000000
lin
continuous
-1.00000000
false
268
292
102
30
{72bb78eb-c17b-444d-ab8c-458b1edf0e7d}
true
0
-3
center
Arial
14
3
0
0
0
255
255
255
border
1
2
465
292
60
30
{53253bed-f55d-4864-ab60-d4b0906df846}
true
0
-3
center
Arial
14
3
0
0
0
255
255
255
border
1
2
70
3
270
25
{6c37ef1c-719c-4f0b-915d-c8bb75376e39}
true
0
-3
center
Arial
11
3
255
255
255
0
0
0
noborder
1
1
risset_offset
99
460
90
23
{f82caad1-7fd6-447a-98af-1416902075f6}
true
0
-3
left
Arial
12
0
0
0
255
255
255
0.01000000
0
1
false
0.01
bb_rate
278
460
95
23
{e8c0a39e-2286-4754-bcd1-e6799ba36fa2}
true
0
-3
left
Arial
12
0
0
0
255
255
255
0.00100000
0
50
false
0.833333
21
433
60
25
{8e757ace-4ed5-4de8-b95f-c9fcba0f68d9}
true
0
-3
right
Arial
13
3
0
0
0
255
255
255
noborder
1
1
risset_mix
96
404
80
23
{50511459-bbcd-4f22-8b93-4eb9cea421d9}
true
0
-3
right
Arial
13
0
255
0
0
0
0
1.00000000
0.01000000
0.00000000
1.00000000
border
3
1
false
risset_mix
96
324
80
80
{0740fcea-a7ec-4b55-b483-daf2f0f87e40}
true
0
-3
0.00000000
1.00000000
1.00000000
lin
continuous
0.01000000
false
28
351
70
25
{3ab28aff-4bce-4d36-ba26-65c92ebe6b8e}
true
0
-3
right
Arial
13
3
0
0
0
255
255
255
noborder
1
1
base_pch_int
278
210
40
23
{f234e643-9206-45d2-90cc-21903a1a0b08}
true
0
-3
left
Arial
12
0
0
0
255
255
255
1.00000000
1
9
false
5
base_pch_frac
327
210
40
23
{53ac49f4-196e-48d5-817c-dac614e8d692}
true
0
-3
left
Arial
12
0
0
0
255
255
255
1.00000000
0
11
false
11
base_pch_frac
373
210
43
23
{0f0d344d-e4ed-48c9-a710-9b2e2d5533c4}
true
0
-3
C
0
C#
1
D
2
D#
3
E
4
F
5
F#
6
G
7
G#
8
A
9
A#
10
B
11
11
false
cb_use_notes
256
213
20
18
{e14b7297-ea7c-42dd-9a08-e62468e528ad}
true
0
-3
true
1
false
191
210
67
23
{05a8ce7a-1422-45f1-846a-93ef4493186f}
true
0
-3
right
Arial
12
3
0
0
0
255
255
255
noborder
1
1
316
195
11
25
{1e42d19e-eb6d-48ef-a29a-3392d8b898c3}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
rec_filename
400
526
160
25
{223cd9b0-5674-42e6-9bb6-c90a3c766194}
true
0
-3
left
Arial
12
3
0
0
0
240
240
240
nobackground
304
512
90
55
{263cced0-0082-4cde-ade7-b0c65c6fde17}
true
0
-3
center
Arial
12
3
0
0
0
255
255
255
border
1
1
7
172
55
25
{9f0b2cbb-48b5-42ee-b57d-d87f6ac41b80}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
n_5
70
172
48
22
{2936d9b1-e929-4188-9e68-1df7cf17f008}
true
0
-3
center
Arial
10
0
0
0
255
255
255
1.00000000
1
2048
false
3
118
180
11
25
{95aee8d9-cb9f-454d-a252-4a0d5e35998d}
true
0
-3
center
Arial
13
3
0
0
0
255
255
255
noborder
1
1
d_5
129
172
48
23
{45f2b05b-e47b-4e82-8a78-70c4f4b9aab2}
true
0
-3
center
Arial
10
0
0
0
255
255
255
1.00000000
1
2048
false
1
8ve_5
205
172
35
23
{000f7e94-a671-42e3-a7f7-5de441fbeb43}
true
0
-3
right
Arial
10
0
0
0
255
255
255
1.00000000
-6
6
false
0
btn_on5
270
172
50
25
{b3437cbe-0085-4b61-8d59-57129bfdda90}
true
0
-3
event
1.00000000
On
/
i 3.5 0 -1 5
false
false
btn_off5
325
172
50
25
{f95465e2-487c-4c53-9394-567cd61224cc}
true
0
-3
event
1.00000000
Off
/
i 4 0 1 5
false
true
disp_on_c5
384
172
24
24
{956c4503-360f-42c2-8c66-30755f3a633d}
true
0
-3
disp_on_c5
0.00000000
1.00000000
0.00000000
1.00000000
0.00000000
0.00000000
fill
1
0.00000000
jump
0
234
0
false
0
0
0
btn_all_off
440
128
60
25
{660080f5-a5c6-40eb-b105-3339ffcea047}
true
0
-3
event
1.00000000
All Off
/
i4 0 1 -1
false
false
btn_all_on
440
100
60
25
{3f3d8ba8-9013-4fa9-a4a2-430472d83077}
true
0
-3
event
1.00000000
All On
/
i6 0 1
false
false
4.00000000
3.00000000
2.00000000
3.00000000
8.00000000
9.00000000
6.00000000
5.00000000
0
0
60.00000000
5.00000000
2.00000000
1.00000000
2.00000000
1.00000000
0
0
0
0
0
0
0
0
2.54999995
0.00000000
0.00000000
0.00000000
0.00000000
0.00000000
0.00000000
0.00000000
0.00000000
0.86000001
0.86000001
1.25000000
0.52499998
3.33333325
3.33333325
0.01000000
0.01000000
4.00000000
3.00000000
2.00000000
3.00000000
8.00000000
9.00000000
6.00000000
5.00000000
0
0
60.00000000
7.00000000
1.00000000
1.00000000
2.00000000
1.00000000
2.00000000
1.00000000
0
0
0
0
0
0
0
0
0.00000000
+
0.00000000
+
0.00000000
+
0.00000000
+
1.87500000
2.54999995
15.00000000
8.00000000
15.00000000
16.00000000
1.00000000
2.00000000
1.00000000
1.00000000
0
0
60.00000000
7.00000000
1.00000000
1.00000000
1.00000000
2.00000000
1.00000000
1.00000000
0
0
0
0
0
0
0
0
1.87500000
4.00000000
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
15.00000000
8.00000000
15.00000000
16.00000000
1.00000000
2.00000000
3.00000000
2.00000000
0
0
60.00000000
7.00000000
1.00000000
1.00000000
1.00000000
2.00000000
1.00000000
1.00000000
0
0
0
0
0
0
0
0
1.87500000
4.00000000
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
2.00000000
1.00000000
2.00000000
3.00000000
3.00000000
4.00000000
1.00000000
1.00000000
0
0
60.00000000
5.00000000
1.00000000
1.00000000
1.00000000
1.00000000
0
0
0
0
0
0
0
0
2.04999995
0.00000000
0.00000000
0.00000000
0.00000000
0.00000000
0.00000000
0.00000000
0.00000000
0.86000001
0.86000001
2.04999995
0.52499998
1.25000000
1.25000000
0.01000000
0.01000000
9.00000000
8.00000000
4.00000000
7.00000000
2.00000000
3.00000000
1.00000000
1.00000000
0
0
60.00000000
5.00000000
2.00000000
1.00000000
1.00000000
1.00000000
0
0
0
0
0
0
0
0
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
1.00000000
0.86000001
0.86000001
1.00000000
0.52499998
1.25000000
0.02000000
0.02000000
0.33333334
1.00000000
1.00000000
Version: 3
Render: Real
Ask: Yes
Functions: ioObject
Listing: Window
WindowBounds: 755 72 611 603
CurrentView: io
IOViewEdit: On
Options:
ioView background {21845, 43690, 32639}
ioText {7, 60} {55, 23} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Drone 1
ioText {70, 60} {48, 23} editnum 13.000000 1.000000 "n_1" center "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 13.000000
ioText {118, 60} {11, 25} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder :
ioText {129, 60} {48, 23} editnum 1.000000 1.000000 "d_1" center "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 1.000000
ioText {129, 88} {48, 23} editnum 1.000000 1.000000 "d_2" center "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 1.000000
ioText {118, 90} {11, 25} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder :
ioText {70, 88} {48, 23} editnum 11.000000 1.000000 "n_2" center "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 11.000000
ioText {7, 88} {55, 23} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Drone 2
ioText {129, 116} {48, 23} editnum 1.000000 1.000000 "d_3" center "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 1.000000
ioText {118, 120} {11, 25} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder :
ioText {70, 116} {48, 23} editnum 7.000000 1.000000 "n_3" center "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 7.000000
ioText {7, 116} {55, 23} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Drone 3
ioText {7, 144} {55, 25} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Drone 4
ioText {70, 144} {48, 22} editnum 5.000000 1.000000 "n_4" center "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 5.000000
ioText {118, 150} {11, 25} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder :
ioText {129, 144} {48, 23} editnum 1.000000 1.000000 "d_4" center "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 1.000000
ioButton {69, 524} {100, 30} value 1.000000 "_Play" "Start" "/" i 3 0 -1
ioButton {176, 524} {100, 30} event 1.000000 "btn_stop" "Stop" "/" i5 0 1
ioText {71, 210} {120, 23} editnum 61.733671 0.001000 "base_freq" right "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 61.733671
ioText {7, 211} {65, 23} label 0.000000 0.00100 "" left "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Base (Hz)
ioMenu {69, 248} {114, 28} 4 303 " Sine, Saw, Square, Triangle, Prime, Fibonacci, Asymptotic Saw" menu_waveform
ioText {7, 251} {55, 23} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Wave
ioText {389, 351} {67, 25} label 0.000000 0.00100 "" right "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Feedback
ioText {205, 60} {35, 23} editnum 0.000000 1.000000 "8ve_1" right "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 0.000000
ioText {205, 88} {35, 23} editnum 0.000000 1.000000 "8ve_2" right "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 0.000000
ioText {205, 116} {35, 23} editnum 0.000000 1.000000 "8ve_3" right "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 0.000000
ioText {205, 144} {35, 23} editnum 0.000000 1.000000 "8ve_4" right "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 0.000000
ioText {99, 31} {50, 25} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Ratio
ioText {205, 31} {35, 25} label 0.000000 0.00100 "" left "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 8ve
ioButton {270, 60} {50, 25} event 1.000000 "btn_on1" "On" "/" i 3.1 0 -1 1
ioButton {270, 88} {50, 25} event 1.000000 "btn_on2" "On" "/" i 3.2 0 -1 2
ioButton {270, 144} {50, 25} event 1.000000 "btn_on5" "On" "/" i 3.4 0 -1 4
ioButton {270, 116} {50, 25} event 1.000000 "btn_on3" "On" "/" i 3.3 0 -1 3
ioButton {325, 60} {50, 25} event 1.000000 "btn_off1" "Off" "/" i 4 0 1 1
ioButton {325, 88} {50, 25} event 1.000000 "btn_off2" "Off" "/" i 4 0 1 2
ioButton {325, 116} {50, 25} event 1.000000 "btn_off3" "Off" "/" i 4 0 1 3
ioButton {325, 144} {50, 25} event 1.000000 "btn_off4" "Off" "/" i 4 0 1 4
ioText {206, 433} {60, 25} label 0.000000 0.00100 "" right "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder BPS
ioText {215, 351} {70, 25} label 0.000000 0.00100 "" right "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Level
ioKnob {283, 324} {80, 80} 1.000000 0.000000 0.010000 0.500000 bb_mix
ioMeter {384, 144} {24, 24} {0, 59904, 0} "disp_on_c4" 0.000000 "disp_on_c4" 0.000000 fill 1 0 mouse
ioMeter {384, 116} {24, 24} {0, 59904, 0} "disp_on_c3" 0.000000 "disp_on_c3" 0.000000 fill 1 0 mouse
ioMeter {384, 88} {24, 24} {0, 59904, 0} "disp_on_c2" 0.000000 "disp_on_c2" 0.000000 fill 1 0 mouse
ioMeter {384, 61} {24, 24} {0, 59904, 0} "disp_on_c1" 0.000000 "disp_on_c1" 0.000000 fill 1 0 mouse
ioKnob {456, 324} {80, 80} 1.000000 0.000000 0.010000 0.850000 reverb_feedback
ioText {68, 292} {130, 30} label 0.000000 0.00100 "" center "Arial" 14 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Harmonic Arpeggio
ioText {395, 433} {42, 26} label 0.000000 0.00100 "" right "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Wet
ioText {456, 404} {80, 23} scroll 0.850000 0.001000 "feedback_display" right "Arial" 13 {0, 65280, 0} {0, 0, 0} background noborder
ioText {283, 404} {80, 23} scroll 0.500000 0.010000 "bb_mix" right "Arial" 13 {0, 65280, 0} {0, 0, 0} background noborder
ioSlider {434, 433} {120, 25} 0.000000 1.000000 0.508333 reverb_level
ioText {554, 433} {46, 27} label 0.000000 0.00100 "" left "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Dry
ioSlider {264, 433} {120, 25} 0.000000 50.000000 0.833333 bb_rate
ioSlider {80, 433} {130, 25} 0.000000 1.000000 0.010000 risset_offset
ioText {268, 292} {102, 30} label 0.000000 0.00100 "" center "Arial" 14 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Binaural Beats
ioText {465, 292} {60, 30} label 0.000000 0.00100 "" center "Arial" 14 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Reverb
ioText {70, 3} {270, 25} label 0.000000 0.00100 "" center "Arial" 11 {65280, 65280, 65280} {0, 0, 0} nobackground noborder Sruti/Drone Box 2.8 - Dave Seidel
ioText {99, 460} {90, 23} editnum 0.010000 0.010000 "risset_offset" left "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 0.010000
ioText {278, 460} {95, 23} editnum 0.833333 0.001000 "bb_rate" left "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 0.833333
ioText {21, 433} {60, 25} label 0.000000 0.00100 "" right "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Offset
ioText {96, 404} {80, 23} scroll 1.000000 0.010000 "risset_mix" right "Arial" 13 {0, 65280, 0} {0, 0, 0} background noborder
ioKnob {96, 324} {80, 80} 1.000000 0.000000 0.010000 1.000000 risset_mix
ioText {28, 351} {70, 25} label 0.000000 0.00100 "" right "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Level
ioText {278, 210} {40, 23} editnum 5.000000 1.000000 "base_pch_int" left "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 5.000000
ioText {327, 210} {40, 23} editnum 11.000000 1.000000 "base_pch_frac" left "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 11.000000
ioMenu {373, 210} {43, 23} 11 303 " C, C#, D, D#, E, F, F#, G, G#, A, A#, B" base_pch_frac
ioCheckbox {256, 213} {20, 18} on cb_use_notes
ioText {191, 210} {67, 23} label 0.000000 0.00100 "" right "Arial" 12 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Pitch class
ioText {316, 195} {11, 25} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder .
ioText {400, 526} {160, 25} edit 0.000000 0.00100 "rec_filename" "Arial" 12 {0, 0, 0} {61440, 61440, 61440} falsenoborder
ioText {304, 512} {90, 55} label 0.000000 0.00100 "" center "Arial" 12 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Output file¬(complete path,¬blank for none)
ioText {7, 172} {55, 25} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder Drone 5
ioText {70, 172} {48, 22} editnum 3.000000 1.000000 "n_5" center "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 3.000000
ioText {118, 180} {11, 25} label 0.000000 0.00100 "" center "Arial" 13 {0, 0, 0} {61440, 61440, 61440} nobackground noborder :
ioText {129, 172} {48, 23} editnum 1.000000 1.000000 "d_5" center "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 1.000000
ioText {205, 172} {35, 23} editnum 0.000000 1.000000 "8ve_5" right "" 0 {0, 0, 0} {61440, 61440, 61440} nobackground noborder 0.000000
ioButton {270, 172} {50, 25} event 1.000000 "btn_on5" "On" "/" i 3.5 0 -1 5
ioButton {325, 172} {50, 25} event 1.000000 "btn_off5" "Off" "/" i 4 0 1 5
ioMeter {384, 172} {24, 24} {0, 59904, 0} "disp_on_c5" 0.000000 "disp_on_c5" 0.000000 fill 1 0 mouse
ioButton {440, 128} {60, 25} event 1.000000 "btn_all_off" "All Off" "/" i4 0 1 -1
ioButton {440, 100} {60, 25} event 1.000000 "btn_all_on" "All On" "/" i6 0 1