File: DelayMod

package info (click to toggle)
cecilia 2.0.5-2.2
  • links: PTS
  • area: main
  • in suites: squeeze, wheezy
  • size: 4,452 kB
  • ctags: 833
  • sloc: tcl: 9,786; sh: 1,097; makefile: 69; csh: 13
file content (127 lines) | stat: -rw-r--r-- 3,213 bytes parent folder | download | duplicates (3)
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<info>
Stereo delay with modulation
Feedback phase and modulation waveshape control

Jean Piche, 1996
</info>
<tk_interface>
cfilein 	source
csepar  	Delays
csepar
cgraph 	delinitl 	-label "Delay Left" -unit s -rel log -min .0001  -max 15 -init 0.025 -gen 1
cgraph 	delinitr 	-label "Delay Right" -unit s -rel log  -min .0001  -max 15 -init .028 -gen 2
cgraph 	delayfdbk 	-label "Feedback" -init % -min 0 -max 1 -init .5  
csepar
csepar   	Mix
csepar
cgraph	mixoriz  	-label "Mix original" -rel log -min .01  -max 1 -init .5 
cgraph	mixdel1  	-label "Mix Delay"  -rel log -min .01  -max 1 -init .5 
csepar

csepar	Modulation
csepar
cgraph	modepthl	-label "Modulation\nDepth Left"  -rel lo -min 0.001  -max 1 -init .032  
cgraph	modepthr	-label "Modulation\nDepth Right"   -rel  lo  -min 0.001 -max 1  -init .032  
cgraph	modhzl	-label "Modulation\nFreq Left"  -rel log  -min 0.001  -max 200  -init 5  
cgraph	modhzr	-label "Modulation\nFreq Right"  -rel log  -min 0.001 -max 200  -init 5.3 

cslider	gain  	-label Gain -res .01 -min 0 -max 2  -init 1
cslider	duree_totale  	-label Time -ra i -uni sec. -res .01 -min 1 -max 200 -init 30
ctoggle	phdell  	-label "180 Phase Left"
ctoggle	phdelr  	-label "180 Phase Right"
ctoggle	loop 	-label "Loop"
ctoggle nodc -label "Remove dc offset" -init 0

cpopup	modtype  	-label "Modulation Waveform" -value "sine square saw rand" -init sine
</tk_interface>
<mono>

</mono>
<stereo>
instr 1

ar 	init 	0
ad 	init 	0
iloop	=	i(gkloop)

itype	init	[sinfo source chn]
kfac	=	( itype == 2 ?1:0.5) * [sinfo source sr] / sr
asig, asid 	diskin  	"[source]", kfac, [offsource], iloop
asid 	= 	(itype == 2?asid:asig)

if i(gknodc) == 0 goto nodc

asid	dcblock	asid
asig	dcblock	asig

nodc:

ktype 	= 	gkmodtype
kphs1 	= 	gkphdell
kphs2 	= 	gkphdelr

amod11	oscil	gkmodepthl/100, gkmodhzl, 100  
amod12	oscil	gkmodepthr/100, gkmodhzr, 100
amod21	oscil	gkmodepthl/100, gkmodhzl, 13  
amod22	oscil	gkmodepthr/100, gkmodhzr, 13
amod31	oscil	gkmodepthl/100, gkmodhzl, 14  
amod32	oscil	gkmodepthr/100, gkmodhzr, 14
amod41	randi	gkmodepthl/100, gkmodhzl, .1
amod42	randi	gkmodepthr/100, gkmodhzr, .71

if ktype 	= 	1  		goto square  
if ktype 	= 	2  		goto saw
if ktype 	= 	3  		goto randip

amodd = amod11+(gkmodepthl/100)
amodg = amod12+(gkmodepthr/100)
goto outer
square:
amodd = amod21+(gkmodepthl/100)
amodg = amod22+(gkmodepthr/100)
goto outer
saw:
amodd = amod31+(gkmodepthl/100)
amodg = amod32+(gkmodepthr/100)
goto outer
randip:
amodd = amod41+(gkmodepthl/100)
amodg = amod42+(gkmodepthr/100)

outer:
adump	delayr	16
ar	deltapi gkdelinitl+amodd+(1/kr) 
	if kphs1 = 1 goto phased180
	adelsendd = asig+(ar*gkdelayfdbk)
	goto oupt
	phased180:
	adelsendd = asig-(ar*gkdelayfdbk)
oupt:	
	delayw	adelsendd

adum1p	delayr	16
ad	deltapi gkdelinitr+amodg+(1/kr)
	if kphs2 = 1 goto phaseg180
	adelsendg = asid+(ad*gkdelayfdbk)
	goto oust
	phaseg180:
	adelsendg = asid-(ad*gkdelayfdbk)
oust:
	delayw	adelsendg
	
a1	=	((ar*gkmixdel1)+(asig*gkmixoriz))*gkgain
a2	=	((ad*gkmixdel1)+(asid*gkmixoriz))*gkgain

outs	a1, a2 
  
														    endin
</stereo>
<quad>

</quad>
<score>
f100 0 8192 10 1
f13 0 8192 7 -1 4075 -1 20 1 4075 1 20 -1
f14 0 8192 7 -1 8192 1
i1 0 [duree_totale]
</score>