From e5d409a561a39409819ed2fe7fbbd1cd75b034e2 Mon Sep 17 00:00:00 2001 From: Omar Mashaal Date: Wed, 11 Jan 2023 22:21:33 +1100 Subject: [PATCH] Update voltage.scd --- voltage.scd | 61 +++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 47 insertions(+), 14 deletions(-) diff --git a/voltage.scd b/voltage.scd index b14bc7e..5dccb69 100644 --- a/voltage.scd +++ b/voltage.scd @@ -1,6 +1,8 @@ ( ( - SynthDef (\pitch, { | out, + SynthDef(\pitch, { + | + out, n, channel, stepsPerOctave = 12, @@ -14,53 +16,84 @@ n = (n + (n / stepsPerOctave) * (1 / (stepsPerOctave + 1)) / 10); slew = (portamento); slew = (slew + (slew / stepsPerOctave) * (1 / (stepsPerOctave + 1)) / 10); - env = Env ([n, n + slew], [delta / rate]); - phase = Line.ar (begin, end, delta / rate); - OffsetOut.ar (channel, IEnvGen.ar (env, phase)); + env = Env([n, n + slew], [delta / rate]); + phase = Line.ar(begin, end, delta / rate); + OffsetOut.ar(channel, IEnvGen.ar(env, phase)); }).add ); ( - SynthDef (\gate, { | out, + SynthDef(\gate, { + | + out, channel, + amp, n | n = n * 5; - OffsetOut.ar (channel, DC.ar (n)); + OffsetOut.ar(channel, DC.ar(n) * amp); }).add ); ( - SynthDef (\voltage, { | out, + SynthDef(\voltage, { + | + out, channel, n, rate = 1, delta, begin, + amp = 1, end, portamento = 0 | var slew, env, phase; n = n * 5; slew = (portamento); rate = rate; - env = Env ([n, n + slew], [delta / rate]); - phase = Line.ar (begin, end, delta / rate); - OffsetOut.ar (channel, IEnvGen.ar (env, phase)); + env = Env([n, n + slew], [delta / rate]); + phase = Line.ar(begin, end, delta / rate); + OffsetOut.ar(channel, EnvGen.ar(env, phase) * amp); }).add ); ( - SynthDef (\ar, { | out, + SynthDef(\saw, { + | + out, + channel, + amp = 1, + rate = 0.5 | + OffsetOut.ar(channel, abs(Saw.ar(rate)) * amp); + }).add; + ); + + ( + SynthDef(\lfo, { + | + out, + channel, + amp = 1, + rate = 0.5 | + OffsetOut.ar(channel, K2A.ar(abs(SinOsc.ar(rate, 0)) * amp)); + }).add; + ); + + ( + SynthDef(\ar, { + | + out, channel, attack = 0.01, decay = 0.25, sustain = 0.25, release = 0.25, begin, + amp = 1, end | var env, phase; - env = Env.adsr (attack, decay, sustain, release); - phase = Line.ar (begin, end, sustain); - OffsetOut.ar (channel, IEnvGen.ar (env, phase)); + env = Env.adsr(attack, decay, sustain, release); + phase = Line.ar(begin, end, sustain); + OffsetOut.ar(channel, IEnvGen.ar(env, phase) * amp); }).add );