// 1. Define SynthDef with a rich pad-like sound
SynthDef(\pad, { |freq = 440, amp = 0.5, dur = 1|
var env = EnvGen.ar(Env.perc(0.1, dur, -3), doneAction: 2);
var sig = Mix(SinOsc.ar(freq, 0, 0.3) + SinOsc.ar(freq * 1.01, 0, 0.2));
sig = sig * env * amp;
sig = sig + FreeVerb.ar(sig, 0.5, 0.8, 0.8);
Out.ar(0, sig ! 2);
}).store;
// 2. Create pattern with evolving harmonies
p = Pbind(
\instrument, \pad,
\dur, Pseq([0.5, 0.5, 1, 1, 2, 4], inf),
\degree, Pseq([0, 4, 7, 9, 12], inf),
\amp, 0.7,
\scale, Scale.major,
\root, Pseq([60, 62, 65, 67], inf)
);
// 3. Render via NRT
p.asScore(20).recordNRT(
outputFilePath: "~/output.wav".standardizePath,
headerFormat: "WAV",
sampleFormat: "int16",
sampleRate: 44100,
duration: 20
);