Plugin overflow / clipping question

bgc wrote on 3/11/2005, 9:10 AM
Do all of the DirectX plugins in Vegas use floating point input/output for the audio and how do they handle clipping? Does it vary?
The reason I ask is that I had a plugin chain on my output master buss:

Fairchild comp -> Magneto -> Pultec

The input to the buss chain was < 0dB , but the output of the Fairchild was out +2.5dB. Magneto because of it's nature took that and compressed it down < 0dB and the Pultec did a little make-up to just around 0dB.

Would other non-compression style plugins like Magneto just clip with a >0dB input?

Thanks,
b

Comments

PipelineAudio wrote on 3/11/2005, 9:22 PM
hope we get answers to this stuff, I know the vst guys are always so happy that they "cant clip"

but yet in the real world, if I turn something up WAY too high, it clips, so is there some numbers magic of turning things down so that it doesnt clip? if that is the case then arent we doing horrible damage to our mix by having a big brother push the fader down for us?
pwppch wrote on 3/12/2005, 8:23 AM
Today, I'd say 99.9% of the DX plugs support floating point. All of ours do.

Clipping occurs because we must convert to fixed point for hardware output or file rendering. If you could find a floating point D/A converter, then you could concievably play at above 0 db.

A general approach is that you can mix "hot" until you get to the master bus (or any bus routed to hardware), then you need to limit the output to 0 db, but perhaps a bit lower - as -1 db to deal with what ever affect the hardware may toss at it. They shouldn't introduce any, but not all D/A converts are the same.

Your plug in chain should be doing the righ thing. If you render it out, do you see any hard clips? You shouldn't. Magneto should be doing a compression that is not just a simple clip to 0 db of the input from the Fairchild. (If it does, then I would scrap it.)

Peter


Peter







Rednroll wrote on 3/12/2005, 12:08 PM
"if that is the case then arent we doing horrible damage to our mix by having a big brother push the fader down for us?"

In Sound Forge, it gives you an option to use floating point processing or not. I have no issues where within the processing chain it uses a higher bit resolution of 24bit or 32bit processing to make the resulting processing more accurate and reduce the amount of aliasing. But I like to maintain that 0dBpeak is 0dB peak. If I choose to go over 0dB and cause distortion within my processing chain, then I did it because I wanted too, not because I'm an idiot who doesn't keep track of his levels within a chain to avoid distortion. I hate the big brother approach of floating point processing. To me it's basically a processing chain for dummies type of approach, where people like myself who at times use digital distortion as an effect within a chain get screwed. So now I should look into purchasing distortion plugins if I want distortion huh? I remember in the analog days, distortion was used as a disireable effect, so now it's time to change our whole perspective on how to achieve distortion in a particular plugin in working in a floating point app. I agree Pipe, it's definately a big brother approach type of mixing and you need have very little knowledge of audio anymore. So there's no way of turning off "floating point" processing within the plugin chain in Vegas huh?
pwppch wrote on 3/12/2005, 2:37 PM
>>So there's no way of turning off "floating point" processing within the plugin chain in Vegas huh?
<<

Why would you want to? What does it buy you?

Peter







Rednroll wrote on 3/12/2005, 3:03 PM
"What does it buy you?"

A way to degregate the audio. If I wanted to add digital distortion to a signal then I could. I know how to keep my audio signal prestine and how to avoid distortion by looking at my meters along the signal chain and ensuring none of them are going over 0dB peak. My personal taste in music is "industrial" ala Nine Inch Nails, Ministry and Bile, added with some of The Crystal Method flavor. To get a lot of those sounds, I will purposely lower the gain on a sound -60dB then convert it to 8bits, then normalize that, and I get that nice industrial and hip hop sound that are commonly used in that music of having a "Grainy" and "distorted" sound. Although, in most cases digital distortion is unwanted because it is rather harsh......well there's some sounds you like to make harsh. Have you heard any NIN guitar parts, that sound thin and harsh? There's an example use of being able to use some harsh digital distortion. An entire hip hop music industry was founded from the sound of the EMU SP-12, with it's 12bit converters. So my rule of thumb is to know what the limits are and abide by them if I'm trying to avoid distortion, but if I want to use that as an effect, then I know how to break those limits and understand why it now sounds that way.

Pick up a copy of NIN-Broken CD and listen to the lead guitar part in "Wish" with the highly compressed harsh distortion on that instrument for a good example. That aint no warm tube distortion, maybe transistor distortion, but also possibly some digital distortion.
PipelineAudio wrote on 3/12/2005, 3:21 PM
I am glad you guys understand this, I am going to try and process in my head what you said rednroll.

Am I getting this right? Floating point is good for making sure you dont throw away any relevant information/resolution while doing processing right?

But in terms of like you say, peak IS peak, if something is turned down not to distort, wouldnt that change your mixing levels?

Also, if it CAN do something to keep from distorting, does that mean that in real time, its one level as long as it doesnt clip, then later on in the song, some sort of numbers magic happens and it actually turns your track down?

Im not getting this
Rednroll wrote on 3/12/2005, 4:10 PM
Do this Pipe, to get a better grasp on what's going on. Take a 1Khz@ 0dB sinewave. You can create this in Forge if you don't have one available.

Place this on a track in Vegas
1. Set the track fader level to -10dB.
2. In the Track insert place the Sony Track compressor
3. Raise the input of the compressor to +10dB
4. Set the compressor Output level to 0dB
5. Set the Threshold to 0dB
6. Set the compression ratio to 1.0:1.0 (steps 5&6 ensure the compressor is not compressing the signal)
7. Set Master fader level at 0dB

The chain of processing goes like this.
Track audio level>Compressor input level>Compressor output level>Track Fader level>Master fader level

So in a fixed point scenario when you boasted the compressor input level +10dB, you would get distortion at that point because it shows +10dB peak on the input meter. The output of the compressor adds no gain to that now distorted signal, and then the distorted signal get's lowered -10dB by the track fader. Your math is 0dB +10dB +0dB -10dB+0dB=0dB (ie Track audio level+Compressor input level+Compressor output level+Track Fader level+Master fader level)


In a floating point, it looks at all those gain stages as one computational process. Therefore you get 0dB +10 dB +0dB -10dB+0dB= 0dB final level, therefore no distortion on that sinewave. You get the same final answer as in the fixed point though, so your mixing levels are ok.

So you can see the level is actually the same, it's the sound that is not, where in fixed point there would have been distortion added when you went over 0dB on the compressor input meter, in floating point there's no distortion because it processed them all at once to get to the final answer of 0dB instead of one at a time as a true signal chain would do.

So in some of my uses I would like to intentionally add distortion on that input signal of the compressor and then compress that distorted signal with the compressor. I can't do that because, now adjusting the track fader during mixing is part of that final computational result.

Floating point does have it's definate benefits though. Remember awhile back I explained to you and gave to you an example using SF 4.5, if you lowered a fader's level then it actually lowered the bit resolution that it was using to do the calculation feeding the next process. So you could take something that was 16bits and lower it -60dB and you where actually working with 6bits of resolution of that audio signal feeding your next process in the chain. Not so in floating point math, it still remains 16 bit. So in my scenario if I wanted to get 8bits of resolution in my processing chain to add some graininess I can't.

Here's another good example for you to try if you have SF4.5 and SF7.0.
In both programs do this and compare the results.
1. Open that 1Khz@0dB sinewave.
2. Goto Volume and set it to -58dB
3. Goto Normalize peak @ 0dB.

You will notice in SF4.5 the resulting file sounds grainy due to the lowering of the volume -58dB. In SF7.0 it uses floating point math for all these processes and you get back with what you started with. The thing is though in SF 7.0 you can goto OPTIONS>PREFERENCES>FILE and disable "use floating point temporary files" and then you get the same results as 4.5.

"Im not getting this"
Do these examples help?
bgc wrote on 3/12/2005, 4:30 PM
Thanks Peter,
What you describe is what my tests indicate.
Magneto doesn't hard clip as desired.
Brett
PipelineAudio wrote on 3/12/2005, 5:59 PM
helping...

Rednroll wrote on 3/12/2005, 6:32 PM
"helping..."

Ok, summary:

Peter goes out of his way to maintain a prestine audio processing signal chain throughout Vegas with using floating point processing to ensure maximum bit resolution is maintained throughout the signal path and to avoid distortion in the audio processing signal. I go out of my way to break that prestine signal processing to add distortion and grainy sounding audio.

Celion Dione mixes> Floating Point=Good
Korn mixes>Floating Point=Bad
:-)
bgc wrote on 3/12/2005, 7:26 PM
If you want to clip a signal using a plugin, load up the Sony Distortion plugin.
It has an adjustable I/O gain profile. You can clip things very easily with it.
The Sonic Decimator by Hyperprism has a bit depth parameter.
B.

pwppch wrote on 3/13/2005, 11:48 AM
A clear and accurate signal path is my job.

You discovered a trick in Forge to do some digital FX by misusing it. Good for you. You are not the first.

This is not the only way it can be done. If you understood how many of these bands/artists actually get the sounds they produce, you would see it has nothing to do with the signal path or DSP processing in the host they use, but rather the "tricks" or creative use of the tools that lets them produce their sound before the A/D or after.


Peter
PipelineAudio wrote on 3/13/2005, 4:55 PM
So, no actual level change takes place right? No matter where in the song something is happening, clipping wise, it doesnt turn it down for that section?

Also, with the track compressor, I see it redlight if you forget to turn " auto gain compensation" or whatever off.
pwppch wrote on 3/13/2005, 10:43 PM
We do no automatic gain change anywhere. If you mix 10 sources at +12 db, then we figure, hey, he must know what he wants. If we did do something automatically, somebody would complain.

The default track plugins don't do anything if they are not enable, so I am not sure what you are seeing or asking.

Peter