Hi, I am to translate this basic Max/MSP patch into a Supercollider synthdef:
This is my (broken) attempt so far:
(
SynthDef(\speakerbass, { |out = 0, amp = 1|
var source, trig, freqRandStart, freqRandEnd, lineFreq;
//trig clock
trig = Metro.kr(100, 2, mul: 1, add: 0);
//random line freqs
freqRandStart = Drand([75, 66, 50, 90, 100, 60], inf);
freqRandEnd = Drand([27, 26, 21, 21, 20, 24], inf);
//demand bass freq, on trig
lineFreq = Demand.kr(trig, 0, Line.ar(start: freqRandStart, end: freqRandEnd, dur: 3, mul: 1, add: 0););
//sine output
source = SinOsc.ar(freq: lineFreq, phase: 0.0, mul: amp, add: 0.0);
Out.ar(out, source) / 2;
}
).play;
);
I expect it to differ from my Max version in that both the Start and End line frequencies are randomized rather than paired, the line duration is always 3 seconds, and the clock is in BPM vs ms. But at the moment I’m not getting any audio output. Can anyone offer any suggestions, or an ideal approach to this problem? Little things like this just seem so much simpler in Max&PD… Thank you:)))
Peter