Old 10-03-2014, 11:05 AM   #1
Lawrence
Human being with feelings
 
Join Date: Mar 2007
Posts: 21,551
Default Plugin Clipping

This always comes up (and please, lets not have the gain staging debate again, this is just a purely technical matter), the thing about 32-bit float not clipping, which is true, but there are freeware plugs floating around out there that do clip.

Below is digitalfish Spitfish being fed a +6 tone where you can see the clipping.

Lawrence is offline   Reply With Quote
Old 10-03-2014, 12:12 PM   #2
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Yeah, fish (or no fish) is a quite controversial topic.
(sorry, couldn't resist)
nofish is offline   Reply With Quote
Old 10-03-2014, 12:15 PM   #3
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,272
Default

Isn't spitfish a type of compressor? Kinda the point, no?

But yes, a lot of plugins set a limit somewhere along the line. Of course, some are built specifically to limit, compress, clip, saturate, or distort at some given level. Sometimes those levels are adjustable, sometimes hard coded. But I've noticed that a number of the JS plugins, for example, have limits coded into them which I guess are just there to keep things from getting crazy or whatever.
ashcat_lt is offline   Reply With Quote
Old 10-03-2014, 01:24 PM   #4
whiteaxxxe
Banned
 
Join Date: Jul 2014
Location: United States of Europe, Germany, Mönchengladbach
Posts: 2,047
Default

Quote:
Originally Posted by Lawrence View Post
(and please, lets not have the gain staging debate again, this is just a purely technical matter)
?? something is clipping at +6db IS A GAINSTAGING ISSUE. and you opened the discussion. the technical matter is GAINSTAGING, what else should it be?
whiteaxxxe is offline   Reply With Quote
Old 10-03-2014, 01:26 PM   #5
Lawrence
Human being with feelings
 
Join Date: Mar 2007
Posts: 21,551
Default

Quote:
Originally Posted by ashcat_lt View Post
Isn't spitfish a type of compressor? Kinda the point, no?
If you actually compress something yes. I didn't there. I was only passing a signal through a de-esser with no attenuation.

Last edited by Lawrence; 10-03-2014 at 04:28 PM.
Lawrence is offline   Reply With Quote
Old 10-03-2014, 01:28 PM   #6
Lawrence
Human being with feelings
 
Join Date: Mar 2007
Posts: 21,551
Default

Quote:
Originally Posted by whiteaxxxe View Post
?? something is clipping at +6db IS A GAINSTAGING ISSUE. and you opened the discussion. the technical matter is GAINSTAGING, what else should it be?
And off we go to Disneyland.

The technical matter here is pointing out that some plugs in a 32-bit float daw will still - internally - clip at 24-bit 0, and/or can't internally handle 32-float headroom, or have much less headroom than the 32-bit float daw.

You seem to very often go way off the handle shouting at people with caps and similar without even understanding what's being discussed. You're a really angry guy.

Last edited by Lawrence; 10-03-2014 at 01:35 PM.
Lawrence is offline   Reply With Quote
Old 10-03-2014, 02:10 PM   #7
msmucr
Human being with feelings
 
Join Date: Jun 2009
Location: Praha, Czech republic
Posts: 595
Default

Quote:
Originally Posted by Lawrence View Post
This always comes up (and please, lets not have the gain staging debate again, this is just a purely technical matter), the thing about 32-bit float not clipping, which is true, but there are freeware plugs floating around out there that do clip.

Below is digitalfish Spitfish being fed a +6 tone where you can see the clipping.

Hi Lawrence,
i digged in my archive for old Fishfillets and tested it together with Dominion and Endorphin. I can confirm your observed behavior for all of these plugins. It won't go over -0.1 dBFS. I'm guessing, there is IMO no reasonable reason for usage of fixed point arithmetic for internal calculations on PC, so Sasha probably did some intentional hard clipper there.

Michal
__________________
FRs: Better FX bypass
msmucr is offline   Reply With Quote
Old 10-03-2014, 02:15 PM   #8
whiteaxxxe
Banned
 
Join Date: Jul 2014
Location: United States of Europe, Germany, Mönchengladbach
Posts: 2,047
Default

Quote:
Originally Posted by Lawrence View Post
You seem to very often go way off the handle shouting at people with caps and similar without even understanding what's being discussed. You're a really angry guy.
I am not shouting, I was emphasizing. and I am not angry. why should I? :-)) I have no problem with GAINSTAGING ... :-)) (<- emphasize, not shouting.)
whiteaxxxe is offline   Reply With Quote
Old 10-03-2014, 02:47 PM   #9
Colox
Human being with feelings
 
Join Date: Feb 2012
Location: Sweden
Posts: 1,206
Default

Clipping in a plugin has alot to do with how the signal is treated within a plugin. Some uses resamples the wordlength compared to what the DAW uses, and some even use dithering in- and out of the resampling process. Some plugins does operate by clipping, distortion and limiters for example. There's alot that goes on - besides just the DAW wordlength. Some plugins even employs limiting just for the heck of it, even if it's just an EQ or the like. The maker thought it would make it easier to use that way.

Last edited by Colox; 10-03-2014 at 03:03 PM.
Colox is offline   Reply With Quote
Old 10-03-2014, 03:26 PM   #10
clepsydrae
Human being with feelings
 
clepsydrae's Avatar
 
Join Date: Nov 2011
Posts: 3,409
Default

Quote:
Originally Posted by Lawrence View Post
the thing about 32-bit float not clipping, which is true, but there are freeware plugs floating around out there that do clip.
Yeah, that's a bummer.

And for the record, Reaper is 64bit internal... (correct me if wrong... but doesn't change your point at all, anyway...)
clepsydrae is offline   Reply With Quote
Old 10-03-2014, 03:52 PM   #11
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

I actually suspected it to be a 24bit (fixed point) plugin then because of the clipping, but Bitter says it's 32bit (I think).
That can only mean it has an intentional hard clipper built in or can there be any other explaination ?


Last edited by nofish; 10-03-2014 at 04:01 PM.
nofish is offline   Reply With Quote
Old 10-03-2014, 04:14 PM   #12
Lawrence
Human being with feelings
 
Join Date: Mar 2007
Posts: 21,551
Default

No idea. That's a good thought though.

Thanks nofish.
Lawrence is offline   Reply With Quote
Old 10-03-2014, 04:15 PM   #13
Lawrence
Human being with feelings
 
Join Date: Mar 2007
Posts: 21,551
Default

Quote:
Originally Posted by whiteaxxxe View Post
I am not shouting, I was emphasizing. and I am not angry. why should I? :-)) I have no problem with GAINSTAGING ... :-)) (<- emphasize, not shouting.)
Dude. It's not a mix, it's just a simple test. Gain staging has - nothing at all - to do with this test. I can run most of other plugs at +200 and the signals don't clip.

Gosh almighty. I thought saying "please don't go there" would avoid going there but there's always one anyway.

"Whiteaxeeee: What is he on about now?"

Last edited by Lawrence; 10-03-2014 at 04:26 PM.
Lawrence is offline   Reply With Quote
Old 10-03-2014, 04:19 PM   #14
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,272
Default

What's almost weirder to me is when something like a limiter doesn't clip or hard limit the signal. Those Modern plugins, for example, and even some of the JS "limiters". Tried a number of them to - for example - control the level of a delay plug with positive feedback levels going nutballs, and the output of the limiter just keeps going up and up until automute kicks in.
ashcat_lt is offline   Reply With Quote
Old 10-03-2014, 04:49 PM   #15
planetnine
Human being with feelings
 
planetnine's Avatar
 
Join Date: Oct 2007
Location: Lincoln, UK
Posts: 7,924
Default

...aaaand completely off-topic, but I seem to remember blockfish (and possibly other of its sibling plugs) incorrectly reporting its latency.

Just thought I'd throw that in because I've got nothing else better to do.


>
__________________
Nathan, Lincoln, UK. | Item Marker Tool. (happily retired) | Source Time Position Tool. | CD Track Marker Tool. | Timer Recording Tool. | dB marks on MCP faders FR.
planetnine is offline   Reply With Quote
Old 10-03-2014, 05:07 PM   #16
nightscope
Human being with feelings
 
nightscope's Avatar
 
Join Date: Sep 2007
Posts: 1,145
Default

Coupla quotes from Sacha on Spitfish.

"By the time I did Spitfish, I had no idea about phase and all that voodoo."

" Although spitfish worked more or less, there were so many design flaws that I wanted to get as far away from it as possible"

ns
nightscope is offline   Reply With Quote
Old 10-03-2014, 05:09 PM   #17
planetnine
Human being with feelings
 
planetnine's Avatar
 
Join Date: Oct 2007
Location: Lincoln, UK
Posts: 7,924
Default

Pity, it does have a nice interface and doesn't sound bad.

Don't use it for parallel compression though


Far enough tangent Lawrence?



>
__________________
Nathan, Lincoln, UK. | Item Marker Tool. (happily retired) | Source Time Position Tool. | CD Track Marker Tool. | Timer Recording Tool. | dB marks on MCP faders FR.
planetnine is offline   Reply With Quote
Old 10-03-2014, 06:04 PM   #18
Judders
Human being with feelings
 
Join Date: Aug 2014
Posts: 11,044
Default

Quote:
Originally Posted by nofish View Post
I actually suspected it to be a 24bit (fixed point) plugin then because of the clipping, but Bitter says it's 32bit (I think).
That can only mean it has an intentional hard clipper built in or can there be any other explaination?
It is 32bit in terms of RAM allocation, but not audio processing.

It just processes audio in 24bit fixed-point. Which, in essence, is a hard-clip limiter.

But of course the real point is WHY AREN'T YOU ADHERING TO PROPER GAIN STAGING?!? (only joking )
Judders is offline   Reply With Quote
Old 10-03-2014, 06:26 PM   #19
Lawrence
Human being with feelings
 
Join Date: Mar 2007
Posts: 21,551
Default

Quote:
Originally Posted by planetnine View Post
Far enough tangent Lawrence?
Good tangent actually.

I'm ridding myself of all freeware audio plugs except for Thrillseeker LA. Stock plugs mostly work well enough for me.

Love Thrillseeker though.

Quote:
But of course the real point is WHY AREN'T YOU ADHERING TO PROPER GAIN STAGING?!? (only joking )
Lawrence is offline   Reply With Quote
Old 10-04-2014, 07:28 AM   #20
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Quote:
Originally Posted by Judders View Post
It is 32bit in terms of RAM allocation, but not audio processing.

It just processes audio in 24bit fixed-point. Which, in essence, is a hard-clip limiter.
From where do the bits > 24 in the above Bitter screenshot come then ?
nofish is offline   Reply With Quote
Old 10-04-2014, 08:15 AM   #21
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,272
Default

Quote:
Originally Posted by witti View Post
Which js limiter exactly and how did you test it ?

The output of all my js limiters (have a bunch of them) never exceed the ceiling levels.

I would not recommend to set the feedback levels above 0dB for the js delays. I have set up my slider range from -30 to -1 dB for them. -1 is good enough for me. 0dB would be a feedback that never stops.

But if you want to clip the output, try adding someting like this to your js plugins:

spl0 = min(max(spl0,-1),1);
spl1 = min(max(spl1,-1),1);
Oh I don't remember for sure which of the JS plugs failed to limit. Coulda swore I tried a couple...

But sometimes infinite repeat is exactly the point. Guitar pedals do it, why can't a plugin? Part of the reason is actually the lack of a limit, but I think the compansion in the pedals makes a real difference too. When you set a pedal to infinite repeat and then keep playing over the top, it doesn't keep getting louder with every added layer, but rather the whole thing just kinda squashes down. I was able to rework the stillwell tempo delay to work very much the way I expect from a pedal by adding some compansion. IIRC, it actually did have a min/max ceiling in there, which I replaced with tanh soft clipping to sort of emulate the hardware a little better. So that works and stuff.

But at times in the past I have actually wanted to exploit the "bad behavior" of software delays by setting up positive feedback levels and letting things escalate to absurdity. (I'm into experimental noise, look me up on SoundCloud for an idea) That starts to get really loud after a while, and a number of times I tried to put a limiter after to keep it to a usable ceiling level, but it just pushed right on through.

Part of the problem I think is that hardware emulated limiters have attack/release procedures that can let individual samples still go over, but also somehow they just don't seem always to manage a hard limit. I just don't trust most limiters.

It would probably be easier to do a demonstration project than try to describe it. It's been a little while, because I have written my own set of JS plugs that work the way I expect.
ashcat_lt is offline   Reply With Quote
Old 10-04-2014, 08:22 AM   #22
Lawrence
Human being with feelings
 
Join Date: Mar 2007
Posts: 21,551
Default

I don't use those emulator plugins like Waves NLS but I often read stuff about them and have no clue if what people say is true or not.

In other words, do those plugins actually behave differently over 24-bit 0? I mean, has anyone actually tested that, ran at +10 signal into one of them and pulled 6db of compression and see what the result is or do people just assume bad things will happen if you go over 24-bit 0?

I mean, do they literally audibly - sound - different at those levels? Can you hear it?
Lawrence is offline   Reply With Quote
Old 10-04-2014, 09:13 AM   #23
msmucr
Human being with feelings
 
Join Date: Jun 2009
Location: Praha, Czech republic
Posts: 595
Default

Quote:
Originally Posted by Lawrence View Post
I don't use those emulator plugins like Waves NLS but I often read stuff about them and have no clue if what people say is true or not.

In other words, do those plugins actually behave differently over 24-bit 0? I mean, has anyone actually tested that, ran at +10 signal into one of them and pulled 6db of compression and see what the result is or do people just assume bad things will happen if you go over 24-bit 0?

I mean, do they literally audibly - sound - different at those levels? Can you hear it?
Hi Lawrence,
yes, various plugins sounds audibly different depending on its input levels. It is also measurable.
But, and there is usually confusion, it isn't due to used sample format, wordlength or calculation precision. It is characteristics (eg. distortion/level dependency), which is chosen by particular plugin designer. Mostly with intention to model non-linear characteristic of analog circuits.
Aside from older fixed point architectures like Motorola 56K, numbers are almost always carried in standard (32, 64 bit) or extended (80 bit) floating point formats on PC (Mac), Analog Devices Sharc DSP (UAD, outboard digital effects) can also use floating point number (32, 40 bit) representation. So there isn't any technical reason for clipping of input samples exceeding for instance value 1.0, besides, what i wrote before.
As I mentioned in my first post, Fishfillets etc. clips at -0.1 not 0 dBFS. That is sign of intentionally chosen internal ceiling. If it will be due to overflow of fixed point numbers format, it will be zero.
But this internal ceiling isn't common for general plugins (except of limiters or dithering effects, where last position at chain is expected).

Further to your question.. As distortion thresholds (i don't mean only clipping, but also gradual increase of harmonics) don't relate to sample format or 0 dBFS.. it can be easily -26.87 or +12.2 dBFS, so it needs to be tested, if you wan't to be sure. But practically, these thresholds usually lies under value 1.0 - 0dBFS. And I personally try to keep all levels under 0dBFS anywhere in my chain, I'm used to it from past, although it shouldn't matter in most cases.

Michal
__________________
FRs: Better FX bypass

Last edited by msmucr; 10-04-2014 at 09:19 AM. Reason: updated info about SHARCs
msmucr is offline   Reply With Quote
Old 10-04-2014, 09:59 AM   #24
Lawrence
Human being with feelings
 
Join Date: Mar 2007
Posts: 21,551
Default

Thanks a lot msmucr.

I do own MixBus which does that kind of modeling (I think) but I've never done any critical listening or testing to see if +4 really sounds *audibly* different from -10 ... as relates to the analog scale it's modeling.

I mean... all the above is obviously still below digital 0 but I've never really heard a difference with different levels there. MixBus sounds different to me out of the gate, but I can't say I've personally heard the sound audibly changing when the input levels move around.

Maybe it's just really subtle and cumulative over multiple channels ... dunno.

It might be interesting to use test tones and slowly sweep / automate the gain before one of those plugs, from say, the equivalent of analog +6 down to the equivalent of analog -15 or something and view the resulting printed file in a spectrum meter or scope. I would imagine you'd maybe see some low level detail moving / shifting around as the gain changed?

Last edited by Lawrence; 10-04-2014 at 10:10 AM.
Lawrence is offline   Reply With Quote
Old 10-04-2014, 12:23 PM   #25
msmucr
Human being with feelings
 
Join Date: Jun 2009
Location: Praha, Czech republic
Posts: 595
Default

Quote:
Originally Posted by Lawrence View Post
Maybe it's just really subtle and cumulative over multiple channels ... dunno.

It might be interesting to use test tones and slowly sweep / automate the gain before one of those plugs, from say, the equivalent of analog +6 down to the equivalent of analog -15 or something and view the resulting printed file in a spectrum meter or scope. I would imagine you'd maybe see some low level detail moving / shifting around as the gain changed?
Yes, it is subtle and always dependent on particular plugin and of course mix, monitoring chain..
It isn't necessarily be direct input level dependency.. for instance different amount of gain reduction in compressor naturally creates different harmonic distortions.. That is also one reason, why it can be misused as dynamic coloration devices (eg. parallel blend of direct signal with quite wildly pumping compressed signal.

Your idea with automated measurement of this is commonly used during some measurements and it is directly accessible in some measurement tools.

This is for instance output from my RTA software, when I measured THD vs. input level some time ago.
Excitation signal was sine with various frequencies (some plugins also reflects this)



It is mostly linear increase and also spectrum ratios (eg. between even and odd harmonics) doesn't change. But for instance some Nebula programs are much more dynamic in that regard.

Michal
__________________
FRs: Better FX bypass
msmucr is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:21 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.