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.
bmSClib/DSP/synths/drones/delayed_pulse_drone.scd

38 lines
874 B

(
name: 'delayed_pulse_drone',
func: {
|freq|
var ap;
var numWaves = 6;
var formants = Array.series(numWaves, 1, \freqAddStep.ir(1.25));
var freqs = formants * freq;
var widths = { Rand(0.0, 1.0) }!numWaves;
var sig = Pulse.ar(freqs, widths);
sig = sig.collect { |s, i| s * (i + 1).reciprocal; };
sig = sig.collect { |s| OnePole.ar(s, \onePoleCoef.kr(0.5)); };
ap = numWaves.collect { |it|
AllpassC.ar(
sig[it],
0.2,
SinOsc.kr(\delayModFreq.kr(0.1), rrand(0.0, 2pi)).range(0.08, 0.1))
};
sig = LinXFade2.ar(sig, ap, \drywet.kr(0.5));
sig = SplayAz.ar(numWaves, sig, orientation: \orientation.kr(0.5));
sig;
},
useEnv: true,
specs:(
freqAddStep: [1.0, 10.0],
onePoleCoef: [0.0, 0.98],
drywet: [0.0, 1.0],
orientation: [0.0, 10.0],
delayModFreq: [0.0001, 1.0]
),
defaults:(
attack: 0.01,
release: 0.1,
curve: 1
)
)