You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
3.0 KiB
Plaintext
147 lines
3.0 KiB
Plaintext
// Author: Leo Coogan
|
|
// Title: Rimbaud
|
|
// Assignment: 2-3 minute soundscape
|
|
|
|
(
|
|
SynthDef(\help_Klank, { |out = 0, i_freq|
|
|
var klank, n, harm, amp, ring;
|
|
|
|
// harmonics
|
|
harm = \harm.ir(Array.series(4, 1, 1).postln);
|
|
// amplitudes
|
|
amp = \amp.ir(Array.fill(4, 0.05));
|
|
// ring times
|
|
ring = \ring.ir(Array.fill(4, 0.01));
|
|
|
|
klank = Klank.ar(`[harm, amp, ring], { ClipNoise.ar(0.003) }.dup, i_freq);
|
|
|
|
Out.ar(out, klank);
|
|
}).add;
|
|
)
|
|
|
|
(
|
|
SynthDef(\help_Klanke, { |out = 0, i_freq|
|
|
var klank, n, harm, amp, ring;
|
|
|
|
// harmonics
|
|
harm = \harm.ir(Array.series(4, 1, 1).postln);
|
|
// amplitudes
|
|
amp = \amp.ir(Array.fill(4, 0.05));
|
|
// ring times
|
|
ring = \ring.ir(Array.fill(4, 0.001));
|
|
|
|
klank = Klank.ar(`[harm, amp, ring], { ClipNoise.ar(0.003) }.dup, i_freq);
|
|
|
|
Out.ar(out, klank);
|
|
}).add;
|
|
)
|
|
|
|
|
|
|
|
// nothing special yet, just using the default set of harmonics.
|
|
a = Synth(\help_Klank, [\i_freq, 300]);
|
|
b = Synth(\help_Klank, [\i_freq, 400]);
|
|
|
|
// bugs
|
|
c = Synth(\help_Klank, [\i_freq, 533.33, \belWidth, 0.1]);
|
|
|
|
|
|
d = Synth(\help_Klank, [\i_freq, 711.11, \belWidth, 0.01]);
|
|
|
|
|
|
// above
|
|
d = Synth(\help_Klanke, [\i_freq, 711.11, \belWidth, 0.01]);
|
|
|
|
|
|
// water scaping
|
|
// rocks scraping
|
|
// hand grabing
|
|
// "the pagan blood comes back!"
|
|
|
|
|
|
// first
|
|
(
|
|
a = Synth(\help_Klank, [
|
|
\i_freq, 110,
|
|
\harm, [4, 1, 3, 5, 7],
|
|
\ring, Array.fill(4, 0.1), // set shorter ring time
|
|
\amp, Array.fill(4, 0.05) // set louder amps
|
|
])
|
|
);
|
|
|
|
|
|
|
|
|
|
// first
|
|
(
|
|
a = Synth(\help_Klank, [
|
|
\i_freq, 110,
|
|
\harm, [4, 1, 3, 5, 7],
|
|
\ring, Array.fill(4, 0.1), // set shorter ring time
|
|
\amp, Array.fill(4, 0.05) // set louder amps
|
|
])
|
|
);
|
|
|
|
|
|
|
|
(
|
|
a = Synth(\help_Klank, [
|
|
\i_freq, 110,
|
|
\harm, [4, 1, 3, 5, 7] +.f [1, 2, 3],
|
|
\ring, Array.fill(4, 0.1), // set shorter ring time
|
|
\amp, Array.fill(4, 0.05) // set louder amps
|
|
])
|
|
);
|
|
|
|
(
|
|
a = Synth(\help_Klank, [
|
|
\i_freq, 110,
|
|
\harm, [4, 1, 3, 5, 7] +.f [1, 2, 3] +.x [4, 5, 6],
|
|
\ring, Array.fill(4, 0.1), // set shorter ring time
|
|
\amp, Array.fill(4, 0.05) // set louder amps
|
|
])
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// Church organ
|
|
// thunder
|
|
// noise
|
|
// rocks scraping in water
|
|
|
|
|
|
|
|
// Overpass example
|
|
(
|
|
SynthDef("help-KlankOverlapTexture2",
|
|
{|out = 0, freqs = #[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], rings = #[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], atk = 5, sus = 8, rel = 5, pan = 0|
|
|
var e = EnvGen.kr(Env.linen(atk, sus, rel, 1, 4), doneAction: Done.freeSelf);
|
|
var i = BrownNoise.ar(0.0012);
|
|
var z = Klank.ar(
|
|
`[freqs, nil, rings], // specs
|
|
i // input
|
|
);
|
|
Out.ar(out, Pan2.ar(z*e, pan));
|
|
}).add;
|
|
|
|
r = Routine{
|
|
var sustain = 6, transition = 4, overlap = 5;
|
|
var period = transition*2+sustain/overlap;
|
|
0.5.wait; // wait for the synthdef to be sent to the server
|
|
inf.do {
|
|
Synth("help-KlankOverlapTexture2", [
|
|
\atk, transition,
|
|
\sus, sustain,
|
|
\rel, transition,
|
|
\pan, 1.0.rand2,
|
|
\freqs, {1000.0.linrand+80}.dup(12),
|
|
\rings, {0.1.rrand(1)}.dup(12)
|
|
]);
|
|
period.wait;
|
|
}
|
|
};
|
|
r.play;
|
|
)
|