From 7e428c8ebc710596edb5b5fd20e18a9fa81d223b Mon Sep 17 00:00:00 2001 From: Leo Coogan Date: Wed, 30 Apr 2025 17:11:29 -0400 Subject: [PATCH] for gal 5 --- spectral_generative.scd | 54 ++++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/spectral_generative.scd b/spectral_generative.scd index d32e0c1..91815f5 100644 --- a/spectral_generative.scd +++ b/spectral_generative.scd @@ -4,7 +4,8 @@ b = Buffer.read(s, "/Users/lcoogan/snd/samples/scarlett/vocal backing.wav"); b = Buffer.read(s, "/Users/lcoogan/snd/live/2025-04-26.Basic_City_Brewery/trax/acheinu.wav"); b = Buffer.read(s, "/Users/lcoogan/Music/Musicians/My Bloody Valentine/Loveless/05 When You Sleep.opus"); - +b = Buffer.read(s, "/home/lcoogan/snd/live/2025-04-26.Basic_City_Brewery/trax/04-Cantor_Samuel_Malavsky_Zechor.wav"); +b = Buffer.read(s, "/home/lcoogan/snd/live/2025-04-26.Basic_City_Brewery/trax/zechor.wav"); b = Buffer.read(s,"/Users/lcoogan/snd/live/2025-04-26.Basic_City_Brewery/crawling-stems/lead.const.wav"); @@ -49,7 +50,7 @@ SynthDef(\pv_rectcomb, { |amp = 0.5| // PV_MagSmear only SynthDef(\pv_magsmear, { |amp = 0.5| - var sig = PlayBuf.ar(1, b, BufRateScale.kr(b), loop: 1); + var sig = PlayBuf.ar(1, b, rate:0.5, loop: 1); var chain = FFT(LocalBuf(1024), sig); var smearAmt = LFNoise2.kr(0.1).range(5, 50); @@ -104,7 +105,8 @@ Synth(\pv_rectcomb); ( Pbind( \instrument, \pv_brickwall, // Choose SynthDef - \amp, Pwhite(0.2, 0.8, inf), // Random amplitude (0.2 to 0.8) + // \amp, Pwhite(0.2, 0.8, inf), // Random amplitude (0.2 to 0.8) + \amp, 1, \mod1, Pwhite(5, 40, inf), // Random mod1 value (5 to 40) \mod2, Pwhite(0.01, 0.3, inf), // Random mod2 value (0.01 to 0.3) \mod3, Pwhite(1, 10, inf), // Random mod3 value (1 to 10) @@ -140,6 +142,7 @@ Pbind( ( +// hell yeah Routine({ loop { // Random parameter values @@ -151,8 +154,8 @@ Routine({ var dur = Pseq([2, 4, 1, 3], inf).next; // Duration pattern // Create synth - Synth(\pv_rectcomb, [ - \amp, 0.5, + Synth(\pv_magsmear, [ + \amp, 1.5, \mod1, mod1, \mod2, mod2, \mod3, mod3, @@ -160,15 +163,32 @@ Routine({ \mod5, mod5 ]); + Synth(\pv_brickwall, [ + \amp, 4.5, + \mod1, mod1, + \mod2, mod2, + \mod3, mod3, + \mod4, mod4, + \mod5, mod5 + ]); + + Synth(\pv_rectcomb, [ + \amp, 0.5, + \mod1, mod1, + \mod2, mod2, + \mod3, mod3, + \mod4, mod4, + ]); + // Wait for the duration - 1.wait; // Wait 1 second before the next iteration - } + 20.wait; // Wait 1 second before the next iteration + } }).play; ) ( SynthDef(\pv_brickwall, { |amp = 0.5| - var sig = PlayBuf.ar(1, b, BufRateScale.kr(b), loop: 1); + var sig = PlayBuf.ar(1, b, rate:0.5, loop: 1); var chain = FFT(LocalBuf(2048), sig); chain = PV_BrickWall(chain, SinOsc.ar(5) + SinOsc.kr(0.1)); sig = IFFT(chain.dup); @@ -192,8 +212,8 @@ SynthDef(\pv_distorted_bass, { |amp = 0.5| ( // PV_BrickWall + PV_RectComb with evolving complexity -SynthDef(\pv_brickwall, { |amp = 0.5| - var sig = PlayBuf.ar(1, b, BufRateScale.kr(b), loop: 1); +SynthDef(\pv_brickwall, { |amp = 80| + var sig = PlayBuf.ar(1, b, rate:0.1, loop: 1); var chain = FFT(LocalBuf(2048), sig); // Modulation sources for evolving behavior @@ -220,8 +240,8 @@ SynthDef(\pv_brickwall, { |amp = 0.5| ( // PV_BrickWall + PV_RectComb + PV_MagShift + PV_Freeze -SynthDef(\pv_complex_fx, { |amp = 0.5, freeze = 0, shiftAmt = 0.2| - var sig = PlayBuf.ar(1, b, BufRateScale.kr(b), loop: 1); +SynthDef(\pv_complex_fx, { |amp = 200, freeze = 0, shiftAmt = 0.2| + var sig = PlayBuf.ar(1, b, rate:0.5, loop: 1); var chain = FFT(LocalBuf(2048), sig); // Modulation sources @@ -249,16 +269,16 @@ SynthDef(\pv_complex_fx, { |amp = 0.5, freeze = 0, shiftAmt = 0.2| ( Routine({ - var amp = 0.5; // Start with a moderate amplitude + var amp = 5; // Start with a moderate amplitude Synth(\pv_brickwall, [\amp, amp]); 0.5.wait; - amp = amp * 0.8; // Decrease amplitude gradually - // Synth(\pv_distorted_bass, [\amp, amp]); + amp = amp * 5; // Decrease amplitude gradually + Synth(\pv_distorted_bass, [\amp, amp]); 1.wait; - amp = amp * 1.5; // Increase amplitude + amp = amp * 5; // Increase amplitude Synth(\pv_brickwall, [\amp, amp]); 0.1.wait; - Synth(\pv_complex_fx, [\amp, amp * 0.3]); // Lower volume for variation + Synth(\pv_complex_fx, [\amp, amp]); // Lower volume for variation }).play; )