|
|
@ -0,0 +1,65 @@ |
|
|
|
( |
|
|
|
SynthDef(\verbDelayFX, { |
|
|
|
arg inBus, outBus, revWet=0.8, dlyWet=0.8, feedback = 0.5 ; |
|
|
|
|
|
|
|
var snd = In.ar(inBus, 2); |
|
|
|
var verb = JPverb.ar(snd); |
|
|
|
var delay = Greyhole.ar(snd, feedback: feedback); |
|
|
|
snd = snd + (verb * revWet) + (delay * dlyWet) * 0.5; |
|
|
|
|
|
|
|
Out.ar(outBus, snd); |
|
|
|
}).add; |
|
|
|
|
|
|
|
SynthDef(\bgrain, { |out = 0, gate = 1, amp = 0.1, bufnum = \b, gfreq=150, rate=0.5| |
|
|
|
var snd, pan, env, freqdev; |
|
|
|
|
|
|
|
pan = LFNoise1.kr(0.1).range(-1, 1) * LFNoise0.kr(gfreq).range(0.2,1); |
|
|
|
env = EnvGen.kr( |
|
|
|
Env([0, 1, 0], [20, 20], \sin, 1), |
|
|
|
gate, |
|
|
|
doneAction: Done.freeSelf); |
|
|
|
rate = [0.5, 1]; |
|
|
|
snd = GrainBuf.ar( |
|
|
|
numChannels:2, |
|
|
|
trigger:Impulse.kr(LFNoise1.kr(gfreq).range(0.8,1) * gfreq), |
|
|
|
dur: 0.7 * LFNoise0.kr(gfreq).range(1,1.1), |
|
|
|
sndbuf: bufnum, |
|
|
|
rate: [rate * LFNoise1.kr.range(0.99, 1), rate * LFNoise1.kr.range(0.99, 1) * 2], |
|
|
|
pos: LFNoise2.kr(0.01).range(0, 1) * LFNoise0.kr(gfreq).range(1,1.02), |
|
|
|
//pos: LFTri.kr(0.25), |
|
|
|
interp: 2, |
|
|
|
pan: pan); |
|
|
|
snd = RLPF.ar(snd, freq: LFNoise2.kr(0.1).exprange(400,15000)); |
|
|
|
snd = snd * LFNoise2.ar(0.01).range(0.6,1); |
|
|
|
snd = snd * env * amp; |
|
|
|
snd = Limiter.ar(snd, 0.7); |
|
|
|
|
|
|
|
Out.ar(out, snd); |
|
|
|
}).add; |
|
|
|
); |
|
|
|
|
|
|
|
// load sound file |
|
|
|
//b = Buffer.read(s, thisProcess.nowExecutingPath.dirname +/+ "smp/calling.wav"); |
|
|
|
b = Buffer.readChannel(s, thisProcess.nowExecutingPath.dirname +/+ "smp/Famonics - Gliding - Calling.flac", channels: [0]); |
|
|
|
|
|
|
|
// create a bus for reverb |
|
|
|
~reverBus = Bus.audio(s,2); |
|
|
|
|
|
|
|
( |
|
|
|
// create reverb with input from reverb bus |
|
|
|
~reverbDelay = Synth(\verbDelayFX, [\inBus, ~reverBus, \outBus, 0, \revWet, 0.5, \dlyWet, 0.5], addAction: \addAfter); |
|
|
|
|
|
|
|
// start granulator |
|
|
|
~grain1 = Synth(\bgrain, [\out, ~reverBus, \bufnum, b], addAction: \addToHead); |
|
|
|
) |
|
|
|
|
|
|
|
// fadeout |
|
|
|
~grain1.set(\gate, 0); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|