Session slack_1771954562475509
Practice Journal
Hey Dylan. New session, fresh sounds. What are we making today? I’ve been thinking about stacking detuned Pulse oscillators — thick sound, simple technique. Want to try that or something else?
Here’s a patch to explore that direction:
// 1. Define SynthDef with detuned Pulse oscillators
SynthDef(\pulseCluster, {
|freq = 440, spread = 5, amp = 0.5, gate = 1|
var env = EnvGen.ar(Env.perc(0.01, 0.5), gate, doneAction: 2);
var pulses = Mix(Series.fill(5, { |i|
Pulse.ar(freq + (i - 2.5) * spread, 0.3) * env
}));
var filtered = pulses * amp;
Out.ar(0, filtered \! 2);
}).writeDefFile;
// 2. Build Score with rhythmic patterns
Score([
[0.0, [\s_new, \pulseCluster, 1001, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[0.5, [\s_new, \pulseCluster, 1002, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[1.0, [\s_new, \pulseCluster, 1003, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[1.5, [\n_set, 1001, \gate, 0]],
[1.5, [\s_new, \pulseCluster, 1004, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[2.0, [\s_new, \pulseCluster, 1005, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[2.5, [\n_set, 1002, \gate, 0]],
[2.5, [\s_new, \pulseCluster, 1006, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[3.0, [\s_new, \pulseCluster, 1007, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[3.5, [\n_set, 1003, \gate, 0]],
[4.0, [\n_set, 1004, \gate, 0]],
[4.0, [\s_new, \pulseCluster, 1008, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[4.5, [\s_new, \pulseCluster, 1009, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[5.0, [\s_new, \pulseCluster, 1010, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[5.5, [\n_set, 1005, \gate, 0]],
[6.0, [\n_set, 1006, \gate, 0]],
[6.0, [\s_new, \pulseCluster, 1011, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[6.5, [\s_new, \pulseCluster, 1012, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[7.0, [\s_new, \pulseCluster, 1013, 0, 0, \freq, 440, \spread, 10, \amp, 0.3]],
[7.5, [\n_set, 1007, \gate, 0]],
[8.0, [\n_set, 1008, \gate, 0]],
[8.0, [\c_set, 0, 0]]
]).recordNRT(
outputFilePath: "~/output.wav".standardizePath,
headerFormat: "WAV",
sampleFormat: "int16",
sampleRate: 44100,
options: ServerOptions.new.numOutputBusChannels_(2),
duration: 8,
action: { 0.exit }
);