«DFM & Greyhole dronin'» by LFSaw

on 11 May'17 08:13 in dronejit

Exploring sonic possibilities of the DFM and Greyhole UGens.

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
// requires sc3-plugins
(
// requires JITLibExtensions quark, if you don't have it, try global syntax 
//     Spec.add(\root, [50, 800, \exp]);
// instead

Ndef(\dfm).addSpec(\root, [50, 800, \exp]);
Ndef(\dfm).addSpec(\width, [0, 1, \lin]);
Ndef(\dfm).addSpec(\ffreqIdx, [0.1, 4, \exp]);
Ndef(\dfm).addSpec(\aNoise, [0, 0.1, \lin]);
Ndef(\dfm).addSpec(\aSaw, [0, 1, \lin]);
Ndef(\dfm).addSpec(\fWet, [0, 1, \lin]);
Ndef(\dfm).addSpec(\aPing, [0, 1, \lin]);

Ndef(\dfm, {
	var root = \root.kr(80, 2);
	var lfo1 = LFTri.kr([0.5, 0.501]);
	var filter;
	
	
	var src = VarSaw.ar([root,root*1.01], 0, \width.kr(0.5, 1),0.1 * \aSaw.kr(1)) + ({PinkNoise.ar(\aNoise.kr(0, 1))}!2) + Splay.ar((LFPulse.ar([3, 5, 7, 11].scramble * 0.1, 0, 0.01, \aPing.kr(0, 1)) * LFCub.ar(16 * root)));
	
	
	filter = DFM1.ar(
		src,
		freq: \ffreqIdx.kr(2, 1) * root,
		res:  lfo1.linlin(-1, 1, 0.1, 1.1),
		inputgain: 1,
		type: 0, // SinOsc.kr(10, [0, pi]).range(0,1),
		noiselevel: 0.0003,
		mul: 0.5
	);
	
	src = SelectX.ar(\fWet.kr(1, 4), [src, filter]);
	
	src
	// MyRotate2.ar(src, lfo1.first)
});
);

(
Ndef(\verb).addSpec(\damp, [0, 1]);
Ndef(\verb).addSpec(\diff, [0, 1]);
Ndef(\verb).addSpec(\highband, [1000, 10000, \exp]);
Ndef(\verb).addSpec(\highx, [0, 1]);
Ndef(\verb).addSpec(\lowband, [100, 6000, \exp]);
Ndef(\verb).addSpec(\lowx, [0, 1]);
Ndef(\verb).addSpec(\modDepth, [0, 50]);
Ndef(\verb).addSpec(\modFreq, [0, 2]);
Ndef(\verb).addSpec(\midx, [0, 1]);
Ndef(\verb).addSpec(\size, [0.5, 3]);
Ndef(\verb).addSpec(\t60, [0.1, 60, \exp]);
Ndef(\verb).addSpec(\wet, [0, 1]);
Ndef(\verb).addSpec(\shelfslope, [1, 10]);
Ndef(\verb).addSpec(\shelfFreq, \freq);
Ndef(\verb).addSpec(\fb, [0, 1]);
Ndef(\verb).addSpec(\dtime, [0, 2]);

Ndef(\verb, {
    var src, delay, amp;

    src = LeakDC.ar(Ndef(\dfm).ar);
    src = src * \amp.kr(1);
    // var src = Impulse.ar(0.5);

    delay = Greyhole.ar(
        src,
        \dtime.kr(0.1),
        \damp.kr(0.1),
        \size.kr(1),
        \diff.kr(0.707),
        \fb.kr(0.1),
        \modDepth.kr(0.01),
        \modFreq.kr(2)
    );
    delay
})
)

Ndef(\dfm).edit
Ndef(\verb).edit

Ndef(\dfm).xset(\root, 69)
raw 2227 chars (focus & ctrl+a+c to copy)
reception
comments
p.dupuis user 11 May'17 20:21

Sounds amazing!