SuperCollider : BasiQue

SuperCollider :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register
(
s = Server.local;
s.boot;
p = ProxySpace.push(s);
)
currentEnvironment.clear;
ProxySpace.pop; // restauration de l'environnement originel

// Stethoscope(s);

//MODULATION
(
         ~modulation = {|freq = 1, amp = 1|
            LFSaw.kr(freq, mul: amp.midicps).abs * 2 - 1 }; //modulation de freq;
)

(
        SynthDef(\sinInstr, { |freq, modFreq |
             Out.ar(0,
                LFSaw.ar(freq + modFreq).abs * 2 - 1
                * EnvGen.kr(Env([0, 1 , 0.3, 0.1, 0], [0.001, 0.2, 0.2, 0.2] ), doneAction: 2)
                .dup
             )
        }).send(s);
        )
       

       
        (
        ~out = Pbind(
            \dur, 0.5,
            \instrument, \sinInstr,
            \freq, Prand(([0, 3, 5, 7, 10]+48).midicps, inf),
            \modFreq, ~modulation
                )
        )
       
~modulation.set(\amp, 0, \freq, 5.43)
       
        =======================================================
//PULSEWIDTH MODULATION

(
         ~pwModulation = {|freq = 1, amp = 1, add = 0.5|
            LFSaw.kr(freq,  amp, add).abs  
            }; //modulation de freq;
)

(
        SynthDef(\pwInstr, { |pulsefreq = 440, pwWidth=0.5, mul = 1 |
             Out.ar(0,
                Pulse.ar(pulsefreq ,  pwWidth, mul)
                * EnvGen.kr(Env([0, 1 , 0.3, 0.1, 0], [0.001, 0.1, 0.2, 0.2] ), doneAction: 2)
                .dup
             )
        }).store;
        )
       
       
                (
        ~out = Pbind(
            \dur, 0.2,
            \instrument, \pwInstr,
            \pulsefreq, Prand(([0, 3, 5, 7, 10]+ 32).midicps, inf),
            \pwWidth, ~pwModulation  
                )
        )
       
        ~pwModulation.set(\amp,0.4, \freq, 1)

        =======================================================
// FILTRE MULTIMODE
(
         ~pwModulation = {|freq = 1, amp = 1, add = 0.5|
            LFSaw.kr(freq,  amp, add).abs  
            }; //modulation de freq;
)
(
         ~filterModulation = {|freq = 1, amp = 1|
            LFSaw.kr(freq,  amp.midicps).abs * 2 - 1  
            }; //modulation de freq;
)
(
        SynthDef(\pwInstr, { |i_out = 0, pulsefreq = 440, pwWidth=0.5, mul = 1 |
             Out.ar(i_out,
                Pulse.ar([pulsefreq, pulsefreq * LFNoise2.kr(0.3, 0.02 ).midiratio] ,  pwWidth, mul)
                * EnvGen.kr(Env([0, 1 , 0.3, 0.1, 0], [0.001, 0.02, 0.2, 0.1] ), doneAction: 2)
               
             )
        }).store;
        )
       
       
                (
        ~osc = Pbind(
            \dur, 0.2,
            \instrument, \pwInstr,
            \pulsefreq, Prand(([0, 3, 5, 7, 10]+ 32).midicps, inf),
            \pwWidth, ~pwModulation  
                )
        )
    ~osc.stop   
   
        ~pwModulation.set(\amp,0.4, \freq, 1);
(
        ~multiFilter =  { | hp=50, band=10000, rq = 2, lp=500, witch = 0, filterMod = 0|
                LPF.ar(
                    HPF.ar(
                        Select.ar(witch, [BPF.ar(~osc.ar, band * filterMod.midiratio , rq) , BRF.ar(~osc.ar, band * filterMod.midiratio, rq)])
                    ,hp)
                ,lp)
           
        }
)

~multiFilter.play;     
~multiFilter.set(\hp, 20, \lp, 10000, \band, 1000, \rq, 0.3, \witch, 0)
~multiFilter.map(\filterMod, ~filterModulation);
~filterModulation.set(\amp, 12, \freq, 1);

        =======================================================
//MODULATION DE FILTRE

(
         ~pwModulation = {|freq = 1, amp = 1, add = 0.5|
            LFSaw.kr(freq,  amp, add).abs  
            }; //modulation de freq;
)

(
        SynthDef(\pwInstr, { |i_out = 0, pulsefreq = 440, pwWidth=0.5, mul = 1 |
             Out.ar(i_out,
                Pulse.ar([pulsefreq, pulsefreq * LFNoise2.kr(0.3, 0.02 ).midiratio] ,  pwWidth, mul)
                * EnvGen.kr(Env([0, 1 , 0.3, 0.1, 0], [0.001, 0.5, 0.5, 1] ), doneAction: 2)
               
             )
        }).store;
        )
       
       
                (
        ~osc = Pbind(
            \dur, 3,
            \instrument, \pwInstr,
            \pulsefreq, Prand(([0, 3, 5, 7, 10]+ 60).midicps, inf),
            \pwWidth, ~pwModulation  
                )
        )
       
        ~pwModulation.set(\amp,0.4, \freq, 2);
(
        ~bpFilter =  { |  lp=10000, filterMod = 0|
                BRF.ar( //élimine la résonance.
                    RLPF.ar(RLPF.ar(RLPF.ar(
                        ~osc.ar, lp * filterMod ),  lp * filterMod) , lp * filterMod
                    ), lp * filterMod
                )
           
        }
)
(
         ~filterModulation = {|freq = 1, amp = 1|
            LFSaw.kr(freq,  amp).abs
            }; //modulation de freq;
)

~bpFilter.play;    
~bpFilter.set(\lp, 6000 );
~bpFilter.map(\filterMod, ~filterModulation);
~filterModulation.set(\freq, 8);

        =======================================================
// MODULATION DE FILTRE 2
    p.clock = TempoClock.default;
    p.clock.tempo = 2.0;
    p.clock.tempo = 1.0;
   


(
         ~pwModulation = {|freq = 1, amp = 1|
            LFSaw.kr(freq,  amp).abs  
            }; //modulation de freq;
)

(
        SynthDef(\pwInstr, { |i_out = 0, pulsefreq = 440, pwWidth=0.5, mul = 1 |
             Out.ar(i_out,
                Pulse.ar([pulsefreq, pulsefreq * LFNoise2.kr(0.3, 0.02 ).midiratio] ,  pwWidth, mul)
                * EnvGen.kr(Env([0, 1 , 0.3, 0.1, 0], [0.001, 0.5, 0.5, 1] ), doneAction: 2)
               
             )
        }).store;
)
       
       
(
        ~osc = Pbind(
            \dur, 1,
            \instrument, \pwInstr,
            \pulsefreq, Prand(([0, 3, 5, 7, 10]+ 60).midicps, inf),
            \pwWidth, ~pwModulation  
                )
)
       
        ~pwModulation.set(\amp,0.5, \freq, p.clock.tempo * 4);
(
        ~bpFilter =  { |  lp=10000, filterMod = 0, mix = 0|
            var f, internLP;
            internLP = lp * filterMod  * (1 - mix + (~osc.ar * mix.abs) );
            f = {|in, iter = 0|
                iter = iter - 1;
                if (iter >= 0)
                    {in = f.(in, iter )};                           LPF.ar(in, internLP)
            };
                BRF.ar( //élimine la résonance.
                    f.(~osc.ar, 1)
                    , internLP
                )
           
        }
)
(
         ~filterModulation = {|freq = 1, amp = 1|
            LFSaw.kr(freq,  amp).abs
            }; //modulation de freq;
)

~bpFilter.play;    
~bpFilter.set(\lp, 10000, \mix, 0.2);
~bpFilter.map(\filterMod, ~filterModulation);
~filterModulation.set(\freq, p.clock.tempo * 4);


=====================================================
//BRUIT FILTRANT + MODULATION D'AMPLITUDE


(
        ~noiseShaper =  { | freq = 60, rq = 1.0, mul = 1 |
        var f, noise;
            noise = WhiteNoise.ar(100);
            f = {|in, iter = 0, freqMul = 1|
                iter = iter - 1;
                if (iter >= 0)
                    {in = f.(in, iter )};                           BPF.ar(in, freq, rq)
            };
                [f.(noise, 3), f.(noise, 3, 3), f.(noise, 3, 5)]
               
        }
)
(

        SynthDef(\AMedSine, { |i_out = 0,  rq = 1, freq = 440, amAmount = 0, mul = 1, harms = #[1,2] | //bpfFreq =440
                var f, noise, noiseArray;
            noise = BrownNoise.ar(100);
            f = {|in, iter = 0, freqMul = 1|
                iter = iter - 1;
                if (iter >= 0)
                    {in = f.(in, iter, freqMul )};                          BPF.ar(in, freq * freqMul.postln, rq)
            };
                //harms = [1,  2, 5, 7];
                noiseArray = harms.collect({|item, i| f.(noise, 4, item) }) ;
             Out.ar(i_out,
                Mix.ar(SinOsc.ar(freq+LFNoise2.kr(1, 1.midiratio) ,  0, mul * (1 - amAmount + (noiseArray * amAmount)) /noiseArray.size ) ).dup
                * EnvGen.kr(Env([0, 1 , 0.2, 0.1, 0], [0.001, 0.2, 0.2, 0.1] ), doneAction: 2)
               
             )
        }).store;
)

(
        ~osc = Pbind(
            \dur, 0.1,
            \instrument, \AMedSine,
            \freq, Prand(([0, 3, 5, 7, 10]+ 60).midicps, inf),
            \rq, 0.1,
            \harms, Pfunc({ Array.fill(7, {rrand(1, 6.0)}) }),
            \amAmount, 0.3 ,
            \mul, Pfunc({rrand(0.002, 0.1)})
                )
)

~osc.play

=====================================================
//OSCILLATEUR FORMANTIQUE PAS CHER

    (
        b = v =  nil; n = 16;
        n.do({|it, i|
            v = v.add(Array.fill(512, { sum3rand(1.0) } ));
            b = b.add(Buffer.alloc(s, 512));
            b[i].loadCollection(v[i]) ;
        })
    )
   
    (
        e = Env([0, 1 , 0.4, 0.1, 0], [0.4, 0.6, 0.4, 2] );

            SynthDef(\formantOsc, { |i_out = 0, freq, bufnum = 0, start = 0, lp = 10000, hp = 20, rq = 2.0, mul = 0.5 |
                var refFreq = 200, sig, env;
                sig = BufRd.ar(1, bufnum, Phasor.ar(Impulse.ar([freq, freq + LFNoise2.kr(1, 0.2).midiratio] ), refFreq / (SampleRate.ir/ BufFrames.kr(bufnum)), start: start, end: BufFrames.kr(bufnum) * (refFreq/ freq)));
                env = EnvGen.kr(e, doneAction: 2) * mul;

                     Out.ar(i_out,
                        HPF.ar(RLPF.ar(sig,  env * 1000 + lp, rq ) , hp )
                        * env
                    )
                }).store;
   
                SynthDef(\oscSlv, { |i_out = 0, freq, mul = 0.5 |
                     Out.ar(i_out,
                        SinOsc.ar([freq, freq + LFNoise2.kr(1, 0.2).midiratio], mul: mul )
                        * EnvGen.kr(e, doneAction: 2)
                    )
                }).store;
               

                   
)
(
x = PatternProxy.basicNew;
x.source = Pseq(([[0, 3, 5], [7, 10, 12]]+ 60).midicps, inf);
d = PatternProxy.basicNew;
d.source = Pseq([4, 2, 2], inf);
)
        (
            ~formant = Pbind(
                \dur, d,
                \instrument, \formantOsc,
                \freq, x    ,      
                \bufnum, Pfunc({(n - 1).rand })
                //,\start, Pfunc({100.rand }),
                ,   \lp, 200   
                ,\rq , 0.3,
                \mul, 0.5          
);
            ~sin = Pbind(
                \dur, d,
                \instrument,\oscSlv,
                \freq, x,
                \mul, 0
            );
)

        (
        ~formant.play;
        ~sin.play;
        )
       

==================================================
//PLUS D'OSCILLATEURS DANS UNE VOIX
//(AJOUT D'UNE SUBOCTAVE)      
   
   
   
    (
         ~osc1 = {|freq = 329, amp = 0.5, gt = 1|
            Pulse.ar(Lag2.kr(freq, MouseX.kr(0.0001, 0.1)), LFNoise2.kr(8, 0.2, 0.6), mul: amp)
            * EnvGen.kr(Env.perc, gate: gt).dup
               };
)   

    (
         ~oscSlave1 = {|freq = 329, amp = 0.5, gt = 1|
            Saw.ar([freq, freq * LFNoise2.kr(0.4, 0.3).midiratio], mul: amp)
            * EnvGen.kr(Env.perc, gate: gt)          };
)


(
    f = Pxrand([0, 3, 12, 10], inf);f = f.asStream;
    r = Prand([1]/4, inf); r = r.asStream; //rythme
    t = 130;t = t/60; //tempo
    Routine({
        inf.do({ var freq, delta;freq = f.next; delta = r.next/t;
            [~osc1, ~oscSlave1].do({|item, i|
                var freqMul;
                freqMul = #[0.5, 1];
                item.set(\freq, (freq+ 48).midicps * freqMul[i] , \gt , 1, \amp, rrand(0.2, 0.8));
                0.01.wait;
                item.set(\gt, 0.0)
            });
            delta.wait;
        })
    }).play;
    //~osc1.play;~oscSlave1.play;
)
(
    ~fx = {
        var z;
            z = ~osc1.ar+ ~oscSlave1.ar;
        Resonz.ar(z, MouseY.kr(30, 2000));
    };
)

(//modulation du filtre par la subOctave
    ~fx = {
        BPF.ar(  ~osc1.ar + ~oscSlave1.ar, ~oscSlave1.ar.abs  * MouseY.kr(50, 10000) );
    };
)
~fx.play;


=======================================
//option2 avec deux LFO contrôlés par ~osc1 (pulse)
   
    (
         ~osc1 = {|freq = 329, amp = 0.5, gt = 1, pw = 0.5|
            LFPulse.ar(Lag2.kr(freq, MouseX.kr(0.0001, 0.1)), 0, pw , mul: amp) //width: LFNoise2.kr(8, 0.2, 0.6)
            * EnvGen.kr(Env.perc, gate: gt).dup
               };
)
(
         ~pwModulation = {|freq = 1, amp = 1, add = 0.5|
            LFSaw.kr(freq,  amp, add).abs  
            }; //modulation de freq;
)   

    (
         ~oscSlave1 = {|freq = 329, amp = 0.5, gt = 1|
            Saw.ar([freq, freq * LFNoise2.kr(0.4, 0.3).midiratio],pi,  mul: amp)
            * EnvGen.kr(Env.perc, gate: gt)          };
)

    (
         ~lfos = {|freq, freq1, freq2, amp = 1, mul2 = 100|
            var l1, l2;
            l1 = SinOsc.ar(freq * freq1 , mul: amp * ~osc1.ar);
            l2 = SinOsc.ar(freq * freq2 , mul: amp * ~osc1.ar.neg );
            l1+l2 *mul2              
        };
)

    (
         ~res = { |rq = 1|
            var l1, l2;
            l1 =  ~osc1.ar + rq;
            l2 =  ~osc1.ar.neg + rq ;
            l1+l2            
        };
)
(
    u.stop;
    f = Pxrand([0, 3, 12, Pwrand([10,Pshuf([-2,0,3,5,6,7]+12)], [0.95, 0.05])], inf);f = f.asStream;
    r = Prand([1]/4, inf); r = r.asStream; //rythme
    t = 130; t = t/60; //tempo
    u = Routine({
        inf.do({ var freq, fond = 24, delta;
            freq = f.next; delta = r.next/t;
            freq = freq + fond;
            [~osc1, ~oscSlave1].do({|item, i|
                var freqMul;
                freqMul = #[0.5, 1];
                item.set(\freq, (freq+ fond).midicps * freqMul[i] , \gt , 1, \amp, rrand(0.1, 1));
                0.01.wait;
                item.set(\gt, 0.0)
            });
            ~lfos.set(\freq, freq.midicps / 4);
            delta.wait;
        })
    });
    u.play;
    //~osc1.play;~oscSlave1.play;
)
~lfos.set( \amp, 1, \mul2, 1000, \freq1, 0.132, \freq2, 0.375);
~res.set(\rq, 0.4);
~osc1.map(\pw, ~pwModulation);
~pwModulation.set(\freq, 1);
(//mod of filter by subOctave
    ~fx = {
        var func;
                func = {|in, iter = 0|
                iter = iter - 1;
                if (iter >= 0)
                    {in = func.(in, iter )};                           
                    RLPF.ar(in, MouseY.kr(500, 10000)  +  ~lfos.ar.abs , ~res.ar) * 0.5
            };
        func.(  ~osc1.ar + ~oscSlave1.ar, 2   ) ;
    };
)

~fx.play;


=======================================
//option3  ~osc1 (pulse)& slave sont pulse pw
   
    (
         ~osc1 = {|freq = 329, amp = 0.5, gt = 1, pw = 0.5, detune = 0.1, glide = 0.01|
            LFPulse.ar(Lag2.kr([freq, freq * LFNoise2.kr(0.6, detune).midiratio], glide ),0, pw , mul: amp) //width: LFNoise2.kr(8, 0.2, 0.6)
            * EnvGen.kr(Env.perc, gate: gt)
               };
)
(
         ~pwModulation1 = {|freq = 1, amp = 1, add = 0.5|
            LFSaw.kr(freq,  amp, add).abs  
            }; //modulation de freq;
)   
(
         ~pwModulation2 = {|freq = 1, amp = 1, add = 0.5|
            LFSaw.kr(freq,  amp, add).abs  
            }; //modulation de freq;
)
    (
         ~oscSlave1 = {|freq = 329, amp = 0.5, pw = 0.5, gt = 1 , detune = 0.1, glide = 0.01|
            LFPulse.ar(Lag2.kr([freq, freq * LFNoise2.kr(1, detune).midiratio], glide ), pi, pw, mul: amp)
            * EnvGen.kr(Env.perc, gate: gt)          
        };
)

    (
         ~lfos = {|freq, freq1, freq2, amp = 1, mul2 = 100|
            var l1, l2;
            l1 = SinOsc.ar(freq * freq1 , mul: amp * ~osc1.ar);
            l2 = SinOsc.ar(freq * freq2 , mul: amp * ~osc1.ar.neg );
            l1+l2 *mul2              
        };
)

    (
         ~res = { |rq = 1|
            var l1, l2;
            l1 =  ~osc1.ar + rq;
            l2 =  ~osc1.ar.neg + rq ;
            l1+l2            
        };
)
(
    u.stop;
    f = Pxrand([0, 3, 12, Pwrand([10,Pshuf([-2,0,3,5,6,7]+12)], [0.95, 0.05])], inf);f = f.asStream;
    r = Prand([1]/4, inf); r = r.asStream; //rythme
    t = 130; t = t/60; //tempo
    u = Routine({
        inf.do({ var freq, fond = 21, delta;
            freq = f.next; delta = r.next/t;
            freq = freq + fond;
            [~osc1, ~oscSlave1].do({|item, i|
                var freqMul;
                freqMul = #[1, 0.5];//.reverse; //inverser...
                item.set(\freq, (freq+ fond).midicps * freqMul[i] , \gt , 1, \amp, rrand(0.1, 1));
                0.01.wait;
                item.set(\gt, 0.0)
            });
            ~lfos.set(\freq, freq.midicps / 4);
            delta.wait;
        })
    });
    u.play;
    //~osc1.play;~oscSlave1.play;
)
(
~lfos.set( \amp, 1, \mul2, 1000, \freq1, 0.132, \freq2, 0.375);
~res.set(\rq, 0.5);
~osc1.map(\pw, ~pwModulation1);
~oscSlave1.map(\pw, ~pwModulation2);
~osc1.set(\detune, 0.1, \glide, 0.03);
~oscSlave1.set(\detune, 0.2, \glide, 0.04);

~pwModulation1.set(\freq, 0.4);
~pwModulation2.set(\freq, 1);
)
(//mod of filter by subOctave
    ~fx = {
        var func;
                func = {|in, iter = 0|
                iter = iter - 1;
                if (iter >= 0)
                    {in = func.(in, iter )};                           
                    RLPF.ar(in, MouseY.kr(10000, 800)  +  ~lfos.ar.abs , ~res.ar) * 0.5
            };
        func.(  ~osc1.ar + ~oscSlave1.ar, 2   ) ;
    };
)

~fx.play;


=======================================
option4  
un master et deux oscillateurs esclaves utilisés, la plus basse freq, ainsi que la plus haute sont modulés par PWM

    (
         ~osc1 = {|freq = 329, env = 1, amp = 0.5, gt = 1, pw = 0.5, detune = 0.1, glide = 0.01|
            LFPulse.ar(Lag2.kr([freq, freq * LFNoise2.kr(0.6, detune).midiratio], glide ),0, pw , mul: amp) //width: LFNoise2.kr(8, 0.2, 0.6)
            * env
               };
)
(
         ~pwModulation1 = {|freq = 1, amp = 1, add = 0.5| //pwmod pour ~osc1
            LFSaw.kr(freq,  amp, add).abs  
            }; //modulation de freq;
)   
(
         ~pwModulation2 = {|freq = 1, amp = 1, add = 0.5| //pwmod pour ~oscSlave2
            LFSaw.kr(freq,  amp, add).abs  
            }; //modulation de freq;
)
    (
         ~oscSlave1 = {|freq = 329, env = 1, amp = 0.5, gt = 1 ,  detune = 0.1, glide = 0.01|
            LFPulse.ar(Lag2.kr([freq, freq * LFNoise2.kr(1, detune).midiratio], glide ), pi,  mul: amp)
            * env
        };
)
    (
         ~oscSlave2 = {|freq = 329, env = 1, amp = 0.5, pw = 0.5, gt = 1 , detune = 0.1, glide = 0.01|
            LFPulse.ar(Lag2.kr([freq, freq * LFNoise2.kr(1, detune).midiratio], glide ), pw,  mul: amp)
            * env
        };
)
(
    ~env = {|gt| EnvGen.kr(Env([0, 1, 0.3, 0.2, 0], [0.4, 2, 5,  1]), gate: gt) }
)



(
    u.stop;
    f = Pxrand([0, 3, 12, Pwrand([10,Pshuf([-2,0,3,5,6,7]+12)], [0.95, 0.05])], inf);f = f.asStream;
    r = Prand([3], inf); r = r.asStream; //rythme
    t = 60; t = t/60; //tempo
    u = Routine({
        inf.do({ var freq, fond = 20, delta;
            freq = f.next; delta = r.next/t;
            freq = freq + fond;
            [~osc1, ~oscSlave1, ~oscSlave2].do({|item, i|
                var freqMul;
                freqMul = #[1, 0.6674, 2];
                item.set(\freq, (freq+ fond).midicps * freqMul[i] , \amp, rrand(0.1, 1));
                0.01.wait;
                item.set(\gt, 0.0)
            });
            ~env.set(\gt, 1);
            0.01.wait;
            ~env.set(\gt, 0);
            ~lfos.set(\freq, freq.midicps / 4);
            delta.wait;
        })
    });
    u.play;
    //~osc1.play;~oscSlave1.play;
)
(
~lfos.set( \amp, 1, \mul2, 1000, \freq1, 0.132, \freq2, 0.375);
~res.set(\rq, 0.5);
~osc1.map(\pw, ~pwModulation1);
~oscSlave2.map(\pw, ~pwModulation2);
~osc1.set(\detune, 0.1, \glide, 0.1);
~oscSlave1.set(\detune, 0.1, \glide, 0.1);
~oscSlave2.set(\detune, 0.1, \glide, 0.1);

~pwModulation1.set(\freq, 1.122);
~pwModulation2.set(\freq, 0.630);
)
(
    [~osc1, ~oscSlave1, ~oscSlave2].do({|item|
        item.map(\env, ~env) })
)
(
    ~filter1 = { |freq = 10000, minFreq = 200|
        var func;
                func = {|in, iter = 0|
                iter = iter - 1;
                if (iter >= 0)
                    {in = func.(in, iter )};                             LPF.ar(in, freq * 1000 + minFreq  )
            };
        func.(  ~osc1.ar + ~oscSlave1.ar + ~oscSlave2.ar , 2   ) * 0.5
    }
)

(//extra thick, noisy sound
    ~filter2 = { |freq = 4000 |
        var func, direct;
                func = {|in, iter = 0|
                iter = iter - 1;
                if (iter >= 0)
                    {in = func.(in, iter )};                            HPF.ar( LPF.ar(in, freq  ),freq)  
            };
       
            direct = Mix.ar( func.(  ~osc1.ar + ~oscSlave1.ar + ~oscSlave2.ar , 1   ) ) ;
            [DelayC.ar(direct,0.1, LFNoise2.kr(1, 0.003, 0.1)), direct]
    };
)
(
    ~delay = {
        var buf, direct;
        buf = Buffer.alloc(s,44100 * 2, 2);
        direct = ~filter1.ar * 0.4 + ~filter2.ar;
         PingPong.ar(buf.bufnum, ~filter1.ar, t/4, 0.8, 1).neg * 0.3 + direct
        //AllpassL.ar(direct,2, 1 , 0.6)
    }
)
~filter1.stop;~filter1.play;
~filter2.stop;~filter2.play;
~filter1.map(\freq, ~env );
~filter2.set(\freq, 4000);
~delay.play

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.3
Page was generated in 0.9190 seconds