You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1000 B
37 lines
1000 B
(
|
|
name: 'perc_gen',
|
|
func: {
|
|
|freq, gate|
|
|
|
|
var pitchEnv = Env([0, \pitchMultiplier.kr(2.0), 1.0], [0, \pitchDecay.kr(0.01)], [-2]).kr(gate: gate);
|
|
var f = freq * pitchEnv;
|
|
var ff = f * (\fRatio1.kr(1) / \fRatio2.kr(1));
|
|
var mod = SinOsc.ar(ff) * f * \modIndex.kr(0.0);
|
|
var body = SinOsc.ar(f + mod) * \toneGain.kr(1.0);
|
|
var noise = WhiteNoise.ar;
|
|
var noiseEnv = Env([0.0, 1.0, 0.0], [0, \noiseRelease.kr(0.01)], [-2]).kr(gate: gate);
|
|
var tick = LPF.ar(noise * noiseEnv, \noiseFilter.kr(1000)) * \noiseGain.kr(-12.dbamp);
|
|
var sig = Mix([body, tick]);
|
|
|
|
sig;
|
|
},
|
|
useSaturation: true,
|
|
saturationSteps: 4,
|
|
useEnv: true,
|
|
defaults: (attack: 0.01, decay: 0.05, curve: -4),
|
|
specs:(
|
|
attack: [0.0, 1.0],
|
|
envCurve: [-6, 6],
|
|
noiseFilter: [80, 20000],
|
|
noiseGain: [0.0, 1.0],
|
|
noiseRelease: [0.01, 2.0],
|
|
pitchDecay: [0.01, 4.0],
|
|
pitchMultiplier: [0.01, 2.0],
|
|
release: [0.01, 2.0],
|
|
toneGain: [0.0, 1.0],
|
|
fRatio1: [1.0, 10.0],
|
|
fRatio2: [1.0, 10.0],
|
|
modIndex: [0.0, 1.0]
|
|
)
|
|
)
|