Converting a fuzz model from Spice?


#26

tip: what I tend to do when developing objects, is initially develop them as an embedded object within a patch. this allows it to be easily tested and edited, and also you can then share the patch here as one file with others
THEN once the object has reached 'maturity' I save it into a library (e.g. the community if Im going to be sharing it)

Ok!


#27

Hi,
as thetechnobear recommended, here the embedded object within a patch.
fuxxass_patch.axp (10.0 KB)
Just a note: CPU performace indicator now shows 12%...??? Why?


#28

will give it a test later tonight, (Australian Eastern Standard Time) about 12 hours away...:wink:

I can only guess that the CPU performance is because there is a lot going on in your object.
Maybe overtime there will be a chance to scale the code down or something, besides how much more do you need if you have your fuzz ?


#29

Tested !
I only got 4% CPU usage.
Fuzz dial still doesn't do anything unless on 0.00.
I think the level dial is plenty good enough on its own.
One thing I did notice, is if you apply any other objects that increase the gain, you will get more clipping, so need to drop the levels to keep the effect. Or maybe it was just me.. :yum:


#30

:astonished:
Are you using axoloty 1.0.11 (official release)? I'm using developer version


#31

I wonder if its a platform thing.... Im running 10.0.11 on OSX 10.11 and getting 4% when I run it.
(this is with no audio coming in)

did it change when you made it embedded? this should not make a difference.

BTW: it would be handy if you filled in your setup as per this post


#32

1) Windows 8.1 for me
2) No change to patch


#33

Ah the difference in cpu load observed between 1.0.11 and development/git comes from a compiler flag I modified in the development repository: -fsingle-precision-constant. The reason for removing this compiler flag was that it breaks the STL library. I believe this specific compiler flag is a bit dirty, not so portable, as it gives the same code a different interpretation (that may or may not be relevant in reality depending on the sensitivity of numerical precision), and think it is better practice to explicitly write single-precision float constants, like
2.44402781742033e-09f instead of
2.44402781742033e-09
Suffixing all float constants will result in the same cpu load again.

I see the "post processing" step is disabled in the code, while I expect it to make a huge difference.
But it appears to "blow up" numerically when this step is enabled.


#34

It works!


#35

So, i've to correctly model two pots "Fuzz" and "Gain" ("Level"):
In FAUST script, "Fuzz" is a slider, with default value set to 0.5, min value 0.0, max value 1.0 and step 0.01...
By the way, I need to obtain this value from param_fuzz doing something like this:
desiredFuzzValue = trunc((param_fuzz/64), 2);

What do you think about?


#36

Sorry, I can't help you with any code, but I just wanted to say that I really like the sound of this model.
It does apply a lot of gain, but I found that taming it on the input gives it quite a nice range of coloring. Can't wait for the new version (when you get your head around it)
Thanks for the hard work. Any ideas of what you would like to model next ?


#37

1) I work on this "model porting activity" just 1-2 hours/day (when my wife...);
2) I'm proud my work likes;
3) My target is to correctly drive the two pots (Fuzz and Gain), following a logarithmic scale;
4) Next model: I would like to port a tone stack collection (fender, marshall, bogner, etc)...or not? Then a pair of tube model (12AX7 and ECC83)?


#38

Would you consider taking a request ? "Overdrive" :grin: !


#39

What model, in particular?


#40

Any classic overdrive will do, anything that will span between boost - overdrive - distortion is better.

I've tested so many, I don't refer to them as models anymore, just ones I like and dislike and are too expensive.
So I collect used cheap ones from pawn brokers.
One I picked up for $15 spans really well over the three parts, and it has separate drive and gain pots, with a switch for dual octave.
I am a bit (well massive) bass overdrive nut, I luv over drive in all forms, addicted to it.

Since it is a request, I don't want to make it too difficult, considering the results you got with the Fuzz, I am sure whatever you get will be far better than anything I can get through working the modules.

Why don't you keep it easy and use the overdrive code on the "Guitarix" site where you got the fuzz model from.

:wink:


#41

haha,

i build bass overdrives/fuzzboxes... i have quite a large collection already selfmade since i was never really satisfied with the ones to buy, or they were too expensive. :slight_smile:


#42

Same for me, @lokki lokki


#43

Now that I am at home in front of my pedals, the one I refer to..
"One I picked up for $15 spans really well over the three parts, and it has separate drive and gain pots, with a switch for dual octave."

Is called the "Octave Drive" by "ARTEC" and one of the pedals I like to connect it to is the "Swollen Pickle mkII" (the only pedal I have payed full price for) by way huge. Then I connect that to my cheapo "behringer TUBE ULTRAGAIN MIC200" vac tube pre-amp to thicken it all up, played in very syncopated psychedelic patterns, so you may get an idea of the sort of bass sound I like.

Certainly I don't want to spend my time re-creating on the Axo what I already have, but it would be cool to come up with something new to what I am already familiar with. Just need to find was to start heading in the right direction.

I have tried to read as much as I can about the "Boost, Overdrive, Distortion" effect on DSP, and there is quite a lot discussed about how difficult they are to create. But with the outcome of the fuzz model, this may not necessarily be the case.

And in another way, its not such a bad thing if it cannot be created well in DSP, but maybe there is possibility for something new from the same concepts that can be spawned to replace it.


#44

Come on, Gavin, just a pattern for us... :sunglasses:


#45

@lokki @johannes @thetechnobear
Sorry guys, is there a way to use/implement a parameter with logarithmic scale, with values between 0.01 and 1.00?