Hey all,
I’m trying to synthesise a good pipe organ sound. This synth doesn’t sound too bad but the initial attack is still lacking and I’m not really sure how to improve it - maybe someone with better sound design chops than me can help me out here? As a reference I’ve been taking the first second or so of this.
(
var lfo;
lfo = {
|rate, amp|
LFNoise2.kr(rate) + (LFNoise2.kr(rate * 4)/4) + (LFNoise2.kr(rate*16)/4) * amp;
};
SynthDef(\parOrgan, { |freq|
var gate = \gate.kr(1);
var sig;
var phases, freqs, amps;
freqs = freq * [1, 2, 3, 4] +.x [lfo.(3, 1), lfo.(3, 1)];
amps = freqs.size.collect { |i| [1, 1] / (i+0.8) };
phases = freqs.size.collect { LFNoise2.kr(3).linlin(-1, 1, 0, 2pi) };
sig = LFPar.ar(freqs, phases) * amps * (LFNoise2.kr(3).dbamp ! freqs.size);
sig = [sig[0, 2..].mean, sig[1, 3..].mean];
sig = sig + (sig * PinkNoise.ar(-22.dbamp) * XLine.kr(0.5, 1, 0.1));
sig = (sig * 1.5).tanh;
sig = sig + (sig * WhiteNoise.ar(-37.dbamp) * XLine.kr(0.5, 1, 0.1));
sig = LPF.ar(sig, XLine.kr(3000, 8000, 0.2));
sig = sig + GVerb.ar(sig * -30.dbamp);
sig = sig * Env.asr(0.08, 1, 0.8).ar(Done.freeSelf, gate);
sig = DelayC.ar(sig, 0.5, 0.08) + (PinkNoise.ar * -39.dbamp * Env.asr(0.05, 1, 1, curve: -8).ar(Done.none, gate));
sig = sig * (1 + Env.perc(0, 0.05).ar);
sig = sig * -23.dbamp;
Out.ar(0, sig);
}).add;
)
(
Synth(\parOrgan, [freq: 265]);
Synth(\parOrgan, [freq: 456]);
)