34 lines
951 B
Plaintext
34 lines
951 B
Plaintext
SynthDef(\formoo, {
|
|
arg formants = #[850, 1610];
|
|
var sig, env;
|
|
env = Env.perc(\attack.kr(0), \decay.kr(1)).ar(Done.freeSelf);
|
|
sig = 10.collect{
|
|
var octave = [1, 2, 0.5, 1.5];
|
|
// base freq * octave * detuning over time
|
|
// sounds like a chorus fx
|
|
var voice = Saw.ar(\freq.kr(220) * LFNoise2.kr(3).linlin(-1, 1, 0.99, 1.1) * octave.choose);
|
|
// formant * detuning; very high resonance
|
|
voice = RLPF.ar(
|
|
voice,
|
|
formants *
|
|
formants.size.collect{
|
|
LFNoise2.kr(3).linlin(-1, 1, 0.98, 1.05)
|
|
}, 0.05).sum;
|
|
// detune and blur some more
|
|
voice = voice + PitchShift.ar(voice, {Rand(0.01, 0.1)}, 0.98) * 0.5;
|
|
// a bit of distortion
|
|
voice = voice.softclip;
|
|
};
|
|
sig = Splay.ar(sig);
|
|
// narrowing the spectrum a little more
|
|
sig = RLPF.ar(
|
|
sig,
|
|
\ff.kr(4700) *
|
|
LFNoise2.kr(1).linlin(-1, 1, 0.95, 1.05),
|
|
\qr.kr(0.9)
|
|
);
|
|
sig = sig * env;
|
|
sig = sig * \amp.kr(0.25);
|
|
sig = Limiter.ar(sig);
|
|
Out.ar(\out.kr(0), sig);
|
|
}).add; |