grame-cncm / faustide

Faust IDE (Integrated Development Environment)
https://faustide.grame.fr
Other
70 stars 16 forks source link

please report this message and the failing DSP file to Faust developers #69

Closed lucafaraldi closed 1 year ago

lucafaraldi commented 1 year ago

//ASSERT : please report this message and the failing DSP file to Faust developers (file: old_occurences.cpp, line: 158, version: 2.54.11, options: -lang wasm-ib -cn 92e9c9e959f44d9758e31c5f4a87681c31399938fae428eecaa6da00b3ecea28 -es 1 -mcd 16 -single -ftz 0 )

import("stdfaust.lib"); //number of signals N= 6; //how bad the performer is scaleTraffic= 1800; //intensity of the gesture during sustain (sort of vibrato) energy= hslider("energy", 1, 0.0001, 2, 0.00001); //brain trigger sigIn=button("bang"): ba.impulsify: (energy); beatDur= 60/ hslider("bpm", 60, 0.01, 600, 0.0001); atkTime= (3beatDur)/ (10^ energy); relTime= (3beatDur)/ (10^ energy); //route action routeTo= 0; envDur= atkTime+ (ma.SR (3*beatDur)/ (10^ energy)); //last value is sus time. holdAction= (!= 0)<: , (_@ envDur): ba.on_andoff: ; trin= sigIn: ba.selectoutn(N, routeTo): par(i, N, atkTime, 1, relTime, holdAction: en.asr:_);

//: leEnv;

//second part //slow signals in parallel. //they represent the input

//tr: + ~ (<:ba.if(<44100,+1, 0)) //with{tr= button("bang"):ba.impulsify;}; source= no.multinoise(N) ; //remove DC offstet (cycles > 20 sec) then RMS toRMS= par(i, N, fi.lowpass(4,2): fi.dcblockerat(1/ (60/ 3)): ba.slidingRMS(4096)); //deriv of RMS, represent "transientness", find the most transient one at every moment difference= par(i, N, <: - '); activity= source: toRMS: difference; // get the index of the most active channel; iPeak(src)= sum(i,N-1, s(i)< s(i+1)) with{ s(n)= src: ba.selector(n,N); }; traffic= iPeak(activity)<: == ':fi.avg_rect(0.2):fi.dcblockerat(20): (scaleTraffic); limTra= (ba.if(traffic> 0, traffic,0)); //(ba.)pulse_countdown ORRRRRRRRRR^^^^^^^^??????? delayedThing=source: par(i,N, de.fdelay(44100,(no.lfnoise(32)+1:(0.5*limTra))):fi.dcblockerat(1)):>/(N); process = trin; // //iPeak(source);

//seq(i, N-1, ba.if(ba.take(1,sig)> ba.take(2,sig)), )

// process= findMax(par(i,N, no.noise));

// ba.if(> tak(i+ 1), , tak(i+ 1)) //suca; //ba.take(1, (suca)),ba.take(2, (suca)):max; //lol: iPeak; // manyDer<: par(i, nsig, ), (mag(nsig)<:si.bus(nsig)) // with{ // nsig= 8; // source= no.multinoise(nsig); // manyDer= source: par( i, nsig, der); // der= <: - '; // nor(n)= par(i, n, / mag(n)); // mag(num)= par(i, num, ^2):> ^(0.5):_; // };

//:>_/ nsig;

sletz commented 1 year ago
sletz commented 1 year ago

@lucafaraldi Can you send a usable DSP ? Thanks.