.cc - week eight.
Josh's and MCLD's extensions for SuperCollider did not integrate into my or the "most recent" build of SuperCollider for me. Basically, when I execute SuperCollider the post window prints errors. What I have created is a program that uses PV_RandComb, and I am hoping that once I have this issue resolved it will be a fairly simple process to add something like PV_OddBin or PV_EvenBin. These allow the author use selected bins from audio samples, and potentially to combine/morph them.
(
//create buffer
var path = ((PathName.new(Document.current.path)).pathOnly) ++"sample/";
v = Buffer.alloc(s,2048,2);
b = Buffer.read(
server: s,
path: path++"macstartup.wav");
)
(
//'enter' this code a couple of times to install it
SynthDef("Fonzeey", { arg out=0, bufnum=0, trigRate = 0.5, wipeBins = 0.95;
var in, chain;
in = BrownNoise.ar(0.8); //try PinkNoise, WhiteNoise, BrownNoise, GrayNoise
chain = FFT(bufnum, in);
chain = PV_RandComb(chain, wipeBins, Impulse.kr(trigRate));
Out.ar(out, IFFT(chain).dup);
}).load(s);
//make an instance
~randComb = Synth("Fonzeey", [\out, 0, \bufnum, v]);
)
(
//GUI
var w, b, line, titleBox;
w = GUI.window.new( "Fonzeey", Rect( 128, 600, 408, 316 ));
w.view.decorator = FlowLayout( w.view.bounds );
w.view.background = Color( 0.0,0.714,0.96 );
//title
titleBox = SCStaticText(
parent: w,
bounds: Rect(20, 100, 410, 65)
);
titleBox.stringColor_(Color.white);
titleBox.background_(Color(0.0,0.714,0.96));
titleBox.string_("Phase Vocoder - Random Bin Comb");
titleBox.font_(Font("Arial Black", 25));
//heading one
titleBox = SCStaticText(
parent: w,
bounds: Rect(20, 100, 410, 65)
);
titleBox.stringColor_(Color.white);
titleBox.background_(Color(0.0,0.714,0.96));
titleBox.string_("Morph between Noise and Sample");
titleBox.font_(Font("Arial Black", 15));
//slider one
y = SCSlider(w, Rect(20, 80, 400, 40));
y.focusColor_(Color.white);
y.action_({
~randComb.set(\wipeBins, [0.01, 0.90].asSpec.map(y.value));
});
y.value_(0.95);
w.front;
//heading two
titleBox = SCStaticText(
parent: w,
bounds: Rect(20, 100, 410, 65)
);
titleBox.stringColor_(Color.white);
titleBox.background_(Color(0.0,0.714,0.96));
titleBox.string_("Trigger Rate for Random Ordering:");
titleBox.font_(Font("Arial Black", 15));
//slider two
a = SCSlider(w, Rect(20, 80, 400, 40));
a.focusColor_(Color.white);
a.action_({
~randComb.set(\trigRate, [0.1, 20.1].asSpec.map(a.value).round(0.1));
});
w.front;
)
week8example.mp3 (1.4 mB) | jakesFFT2.zip (460 kB)
.sources.
Haines, Christian 09.10.08, "FFT (2)." Lecture of EMU, Adelaide University.
iieiwrmeieweeiimeemmwreiweremweireeemeimwieewwrwweereireeiimeewmiwwwemwiewimeeeremeiewmemweewieewerwemwiimiewmeiwireiiwrrewmwewree |
15.10.08
pvFFT!
copywrite 12:06 am
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment