«Kalimba» by snappizz
on 22 Apr'16 01:45 ini needed a kalimba sound so i built one with SinOsc + DynKlank. feedback and improvements are welcome :)
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
(
SynthDef(\kalimba, {
|out = 0, freq = 440, amp = 0.1, mix = 0.1|
var snd;
// Basic tone is a SinOsc
snd = SinOsc.ar(freq) * EnvGen.ar(Env.perc(0.005, Rand(2.5, 3.5), 1, -8), doneAction: 2);
// The "clicking" sounds are modeled with a bank of resonators excited by enveloped pink noise
snd = (snd * (1 - mix)) + (DynKlank.ar(`[
// the resonant frequencies are randomized a little to add variation
// there are two high resonant freqs and one quiet "bass" freq to give it some depth
[240*ExpRand(0.9, 1.1), 2020*ExpRand(0.9, 1.1), 3151*ExpRand(0.9, 1.1)],
[-7, 0, 3].dbamp,
[0.8, 0.05, 0.07]
], PinkNoise.ar * EnvGen.ar(Env.perc(0.001, 0.01))) * mix);
Out.ar(out, Pan2.ar(snd, 0, amp));
}).add;
Pbind(
\instrument, \kalimba,
\dur, Pseq([0.3, 0.15], inf),
\amp, 0.1*(2**Pgauss(0, 0.1)),
\mix, Pwhite(0.05, 0.15),
\degree, Pseq([0, -3, [1, 4], 2, Rest, 1, -3, -2, -4, -2, [0, 5], 1, Rest, 0, -2, Rest], inf)
).play;
)
reception
Nice sound! Have you tried using PinkNoise instead? It might be good to add a mix argument to balance the amout of click and resonnance (snd*mix) + (click*(1-mix))
Thanks Patrick! PinkNoise really improves the realism.