@tungee nice, makes the [lop~] version of my morphing filter barely even register on the cpu use. Will rework it to suit and include it in my next go around. What you hear as a difference is just that you shifted the q range which gives you more control in the area you are interested in, playing with the division in the [expr~] will yield the same results at. The /5 was picked for the morphing filter since high distortion self oscillation range emphasizes the morphing nicely, but at cost of more traditional resonance sounds, putting the sliders max range at 5 makes it easier to get the more traditional sounds.
-
[bob~]
-
Build a automatonism modul out of your abstraction Bocanegra. with modulation inputs preset saving midi controlling etc.
I really like it how it sounds
Here is the automatonism module with install instructions and the modul itself:
Boca-Ladder.zipThank you for your explanations oid
-
I made also a clipping module for automatonism with various clipping algorithms
There you can hear the differences from one algo to the other on the fly oid.
-
@tungee why havent you posted these wonderful clipping algorithms in the sigmoid thread -> https://forum.pdpatchrepo.info/topic/13544/sigmoid-functions
-
Good question Bocanegra
-
@tungee Ignore my explanation, turns out mine does have anemic resonance, side effect of the 10 sample delay that worked into the feedback path somehow, I had tuned everything to compensate for that 10 sample delay. The explanation was half right, but @bocanegra explained that part already.
-
Bytheway an excellent thread you made here both oid and bocanegra
Nevermind oid -
little note: your filter does not resonate at the cutoff frequency.
top: how it should be, bottom: how it is
now, solve this
-
@solipp If you have a solution why don't you share it? What is going on inside the second [pd ladder] sub patch I wonder...
Experimenting a bit, it becomes obvious that resonance screws with the filter gain coefficient
Using these crazy ass formulas for filter gain and and feedback I get correct frequency response at resonance close to 1:
It looks like this when I implement it:
I know it aint pretty... It also beefs up the CPU use quite a bit, which I sort of dealt with by by keeping it in a sub patch with normal block size and no oversampling. Another downside is the soft clipping has got to go- it screws up the precision.I wonder if there is a simpler way to approximate this stuff...
Anyway, have fun finding all my design flaws 4plop~.pd
-
I wonder if there is a simpler way to approximate this stuff...
Turns out there is. A bit of polynomial magic and I got rid of the [exp~] module
Also ditched the resonance/feedback formula as I didn't see it making a greater difference in frequency response than it did in CPU usage
Updated version with precise response at resonance around 4 and cut off < 11025Hz - still no soft clipping...
4plop~.pd -
Hi boca can you provide the whole patch?
-
@tungee said:
Hi boca can you provide the whole patch?
I already did in my last post
@bocanegra said:
Updated version with precise response at resonance around 4 and cut off < 11025Hz - still no soft clipping...
4plop~.pd -
I dont understand, there is only one input . Shouldnt be 3 inputs there (signal input, cutofffreq and rsocnance)?
-
That is the coeff sub patch you are looking at. This is what I get when I open the attached .pd file from here:
-
Ah ok now its clear, there was a subpatch ok. If i use this in my automatonism module, it fires up when dragging the slider some Nasty highpeaks. So i installed the anaclip again in it.
Also: the patch of yesterday was stable until 8000hz at 5 resonance. now i can go upto 11khz and reso 10 . Thats nice! GREAT JOB BOCANEGRA :DD -
@bocanegra http://www.willpirkle.com/Downloads/AN-4VirtualAnalogFilters.2.0.pdf is a good read. I translated the TPT laddder filter to pd in the [pp.ladder~] object in audiolab (you can download it with deken). Here is a version with an outlet for each pole and the "analog clipper" from above : TPT-ladder.pd
Another solution is [bob~] of course : https://github.com/pure-data/pure-data/blob/master/extra/bob~/bob~.c -
@solipp The first link returns an empty pdf...
But thanks a lot anyway. http://www.willpirkle.com/Downloads/ has a lot of useful stuff. Never knew about TPT filters. Also, I have added your audiolab abstractions to my library long time ago and learn a lot from going through the patches seeing how stuff is done- but the content is massive so I haven't sifted through even 10% yet
-
A question: in 4plop above, there's
1 - coefficient
done separately four times. Couldn't this be optimized by doing[*~ -1] --> [+ 1]
only once and feeding that result into the 4 rpoles? Bc it looks to me like they all get the same signal input.hjh
-
@ddw_music said:
A question: in 4plop above, there's
1 - coefficient
done separately four times. Couldn't this be optimized by doing[*~ -1] --> [+ 1]
only once and feeding that result into the 4 rpoles? Bc it looks to me like they all get the same signal input.True! Nice catch
Fixed version 4plop~.pd
with some other minor improvements as well: Resonance/cutoff compensation and anaclip are back in the mix
-
Here are all available Pure Data Filters collected as automatonism modules in action:
In your Boca Ladder abstraction i mixed the normal tanh with the analog clipper,which in my opinion gives the best results. If in exp~ the quotient is ==5 , only analog clipping is used via switch. if both mixed are together the sounds gets some superb irregular resonances. the bite parameter in the module amplifies the resonance:
i also spent a oversampling switcher for 2/4 *oversampling, where with 4 OS the snapping of modulation sources sounds greater
imho.Here is the test-file
Battle of the filters Vol.zip