«pads» by snappizz

on 28 Jan'18 22:34 in ambientinstrumentpads

3.9+

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
(
SynthDef(\pad, {
    var snd, freq;
    freq = \freq.kr(440);
    // Four pulse waves (two one octave down) with randomly modulated pitches and pulse widths
    snd = Pulse.ar(
        freq * ({ LFNoise2.kr(3).range(-0.05, 0.05).midiratio }.dup(4)) * [1, 1/2, 1/2, 1],
        { LFNoise2.kr(3).range(0.3, 0.7) }.dup(4)
    );
    // Spread across stereo field
    snd = Splay.ar(snd);
    // Sharp hi cut made by cascading three lowpass filters
    3.do { snd = LPF.ar(snd, \ffreq.kr(1500)); };
    snd = snd * Env.asr(3, 1, 3, -4).ar(Done.freeSelf, \gate.kr(1));
    Out.ar(\out.kr(0), Balance2.ar(snd[0], snd[1], \pan.kr(0), \amp.kr(0.1)));
}).add;

SynthDef(\verb, {
    var snd, wet;
    snd = In.ar(\out.kr(0), 2);
    // Wet part of reverb has an additional octave pitched-up version of itself
    wet = snd.sum;
    wet = DelayN.ar(wet, 0.2, 0.2) + PitchShift.ar(wet, 0.2, 2, 0.01, 0.1);
    wet = GVerb.ar(wet, 100, 5);
    wet = HPF.ar(wet, 100) * -3.dbamp;
    snd = snd + wet;
    // Add a little bit of tape flutter
    snd = DelayC.ar(snd, 0.2, LFNoise2.kr(1).range(0, 0.005));
    ReplaceOut.ar(\out.kr(0), snd);
}).add;

SynthDef(\pluck, {
    var snd, freq;
    freq = \freq.kr(440);
    snd = CombC.ar(SinOsc.ar(XLine.ar(\ffreq.kr(1000), 100, 0.04)) * Env.perc(0.01, 0.04).ar, freq.reciprocal, freq.reciprocal, 1);
    snd = AllpassN.ar(snd, 0.2, 0.2, 2);
    snd = BPF.ar(snd, [814, 1144, 1324], [0.1, 0.1, 0.1]).sum;
    snd = LPF.ar(snd, 2000);
    snd = snd * Env.perc(0.01, 1, 1, 4).ar(Done.freeSelf);
    Out.ar(\out.kr(0), Pan2.ar(snd, \pan.kr(0), \amp.kr(0.1)));
}).add;

SynthDef(\sigh, {
    var snd, freq;
    freq = \freq.kr(440, 0.3) * LFNoise2.kr(6).range(-0.1, 0.1).midiratio;
    snd = Pulse.ar(freq, LFNoise2.kr(6).range(0.3, 0.7));
    snd = RLPF.ar(snd, LFNoise2.kr(3).exprange(500, 1000), 0.2);
    snd = LPF.ar(snd, 1000);
    snd = snd * Env.asr(0.1, 1, 3).ar(Done.freeSelf, \gate.kr(1));
    Out.ar(\out.kr(0), Pan2.ar(snd, \pan.kr(0), \amp.kr(0.1)));
}).add;

SynthDef(\bow, {
    var snd, freq;
    freq = \freq.kr(440, 0.3);
    snd = CombC.ar(LeakDC.ar({ PinkNoise.ar }.dup(2)), freq.reciprocal, freq.reciprocal, 5);
    snd = LeakDC.ar(snd);
    snd = RLPF.ar(snd, LFNoise2.kr(6).exprange(100, 600), 0.3);
    snd = snd * Env.perc(4, 1, 1, 4).ar(Done.freeSelf);
    Out.ar(\out.kr(0), Balance2.ar(snd[0], snd[1], \pan.kr(0), \amp.kr(0.1)));
}).add;
)

(
Pfx(
    Pbind(*[
        scale: Scale.dorian,
        root: 6,
    ]) <> Ppar([
        Pbind(*[
            instrument: \pad,
            amp: -30.dbamp,
            octave: 4,
            dur: 5,
            legato: 1,
            ffreq: Pseq([1500, 1000], inf),
            degree: Pseq([
                [0, 2, 4, 6, 8],
                [0, 3, 4, 5, 8],
                [2, 4, 6, 10],
                [1, 4, 6, 9],
            ], inf)
        ]),
        Pbind(*[
            instrument: \pluck,
            amp: -33.dbamp,
            degree: Pxrand([0, 1, 4], inf),
            octave: Prand([3, 4, 5], inf),
            dur: Pwhite(0.1, 0.3, inf),
            ffreq: Pexprand(400, 1500, inf),
            pan: Pwhite(-0.6, 0.6)
        ]),
        PmonoArtic(*[
            \sigh,
            amp: -43.dbamp,
            degree: Pseq([0, -1, Rest()], inf) + [0, -3],
            legato: Pseq([1.0, 0.9, 1.0], inf),
            octave: 6,
            dur: Pseq([Pwhite(3.0, 0.5, 1), Pwhite(0.2, 0.4, 1), Pwhite(5.0, 10.0, 1)], inf)
        ]),
        Pbind(*[
            instrument: \bow,
            amp: -25.dbamp,
            octave: Pseq([2, 3], inf),
            degree: Prand([0, 4], inf),
            dur: Pwhite(4, 8, inf),
        ])
    ]),
    \verb
).play;
)
raw 3790 chars (focus & ctrl+a+c to copy)
reception
comments