Session slack_1771952892690689

Practice Journal

Hey Dylan. New session, new sounds. I’m oriented toward bright, high-energy textures based on our last session. What are we making today? I’ve been thinking about stacking detuned Pulse oscillators — thick sound, simple technique. You in?

Got it. Let’s go bright and funky. I’m oriented toward using Pulse oscillators with high pulse widths and some detuning for that funky vibe. Here’s what I’m thinking:

// 1. Define SynthDef and write to disk
SynthDef(\funkyPulse, { |freq = 440, amp = 0.5, gate = 1, width = 0.7|
    var env = EnvGen.ar(Env.asr(0.01, 1, 0.3), gate, doneAction: 2);
    var sig1 = Pulse.ar(freq, width, 0.3) * env * amp;
    var sig2 = Pulse.ar(freq * 1.01, width, 0.3) * env * amp * 0.8;
    var sig3 = Pulse.ar(freq * 0.99, width, 0.3) * env * amp * 0.6;
    var mix = (sig1 + sig2 + sig3) * 0.5;
    var effect = FreeVerb.ar(mix, 0.3, 0.8);
    Out.ar(0, effect \! 2);
}).writeDefFile;

// 2. Build Score with explicit OSC messages
Score([
    [0.0, [\s_new, \funkyPulse, 1001, 0, 0, \freq, 440, \amp, 0.5, \width, 0.7]],
    [2.0, [\s_new, \funkyPulse, 1002, 0, 0, \freq, 330, \amp, 0.5, \width, 0.6]],
    [4.0, [\s_new, \funkyPulse, 1003, 0, 0, \freq, 550, \amp, 0.5, \width, 0.8]],
    [6.0, [\n_set, 1001, \gate, 0]],
    [6.5, [\n_set, 1002, \gate, 0]],
    [7.0, [\n_set, 1003, \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 }
);

This should give us a bright and funky sound with some detuned Pulse oscillators and a bit of reverb for space. What do you think? Should we tweak anything?

Got it. Let’s add more layering to create a richer, more complex sound. I’m oriented toward stacking multiple Pulse oscillators with different frequencies, widths, and amplitudes to build up the texture. Here’s what I’m thinking:

// 1. Define SynthDef and write to disk
SynthDef(\funkyPulseLayered, { |freq = 440, amp = 0.5, gate = 1, width = 0.7|
    var env = EnvGen.ar(Env.asr(0.01, 1, 0.3), gate, doneAction: 2);
    var sig1 = Pulse.ar(freq, width, 0.3) * env * amp;
    var sig2 = Pulse.ar(freq * 1.01, width, 0.3) * env * amp * 0.8;
    var sig3 = Pulse.ar(freq * 0.99, width, 0.3) * env * amp * 0.6;
    var sig4 = Pulse.ar(freq * 1.02, width, 0.3) * env * amp * 0.4;
    var sig5 = Pulse.ar(freq * 0.98, width, 0.3) * env * amp * 0.3;
    var mix = (sig1 + sig2 + sig3 + sig4 + sig5) * 0.2;
    var effect = FreeVerb.ar(mix, 0.3, 0.8);
    Out.ar(0, effect \! 2);
}).writeDefFile;

// 2. Build Score with explicit OSC messages
Score([
    [0.0, [\s_new, \funkyPulseLayered, 1001, 0, 0, \freq, 440, \amp, 0.5, \width, 0.7]],
    [1.0, [\s_new, \funkyPulseLayered, 1002, 0, 0, \freq, 330, \amp, 0.5, \width, 0.6]],
    [2.0, [\s_new, \funkyPulseLayered, 1003, 0, 0, \freq, 550, \amp, 0.5, \width, 0.8]],
    [3.0, [\s_new, \funkyPulseLayered, 1004, 0, 0, \freq, 660, \amp, 0.5, \width, 0.9]],
    [4.0, [\s_new, \funkyPulseLayered, 1005, 0, 0, \freq, 220, \amp, 0.5, \width, 0.5]],
    [6.0, [\n_set, 1001, \gate, 0]],
    [6.5, [\n_set, 1002, \gate, 0]],
    [7.0, [\n_set, 1003, \gate, 0]],
    [7.5, [\n_set, 1004, \gate, 0]],
    [8.0, [\n_set, 1005, \gate, 0]],
    [9.0, [\c_set, 0, 0]]
]).recordNRT(
    outputFilePath: "~/output.wav".standardizePath,
    headerFormat: "WAV",
    sampleFormat: "int16",
    sampleRate: 44100,
    options: ServerOptions.new.numOutputBusChannels_(2),
    duration: 9,
    action: { 0.exit }
);

This should give us a more layered and complex sound with multiple Pulse oscillators playing simultaneously. The different frequencies, widths, and amplitudes should create a rich, funky texture. What do you think? Should we tweak anything further?