Update voltage.scd

This commit is contained in:
Omar Mashaal 2023-01-11 22:21:33 +11:00 committed by GitHub
parent 8e7c6a483d
commit e5d409a561
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 47 additions and 14 deletions

View File

@ -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
);