Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Logic Pro 9 dither chain

Where in the master fader chain does Logic Pro 9 convert 24-bit recordings to 16-bit files and apply dither (if chosen in the bounce to disk dialog)?

Is it post master fader, pre master fader...?

If I use a Waves L3-16 multiband limiter as the last plugin on Logic's master fader channelstrip and I choose to use it to convert 24-bit recordings to 16-bit files, where in the master fader chain does that happen, post master fader, pre master fader...?

In Digital Performer there is a way to make a plugin slot post fader, and when mastering, you are supposed to convert to 16-bit files and apply dither post master fader with the master fader at 0.

Thanks for any insight on dithering and convert to 16-bit files in Logic.


======
Richard

MacPro 2.8 GHz Octo Core 2008, Mac OS X (10.6.2), 8 GIGS RAM

Posted on Feb 16, 2010 3:29 PM

Reply
Question marked as Best reply

Posted on Feb 16, 2010 3:51 PM

Logic will take the output of the channel, then do the business end of the conversion, so it will always be post-fader.

You shouldn't use the Waves to dither to 16-bit pre fader, because you will still get a 32-bit float number back until Logic goes to convert, albeit a 32-float number that has a 16-bit dithered signal. This 32-bit number will be converted back down to your 24 or 16-bit file - if you add dither, then you're doing it twice which isn't good practice, and if you don't dither, then you are downconverting a 32-bit float number without dithering, the effects of which I'm not quite sure of.

In short, trying to do the downconverting pre-fader isn't a good idea, imo.

In Digital Performer there is a way to make a plugin slot post fader, and when mastering, you are supposed to convert to 16-bit files and apply dither post master fader with the master fader at 0.


You can't in Logic do additional plugin processing after the output fader, unfortunately. You're best best is to print the mix at 24-bit or 16-bit with dither added via Logic (and Logic has world-class dither algorithms anyway). If you absolutely must use another plugin to finalise your mix, then print the mix to 24-bit (I still recommend dithering here because you're are having to downconvert anyway), and then offline process that file in Soundtrack Pro with your third-party plugin.

Logic already does it the "correct" way, as far as I'm concerned, which is exactly how DP (and everyone else) is suggesting you do it - right at the end of the process, post fader.
30 replies

Feb 17, 2010 2:24 PM in response to jnashguitar

Waves plugs only have 24 bits as their highest selectable bit rate. I have never seen any that have 32 bit float.

You can apply these and other plugs to truncate/dither effectively, if the DAW allows you to place a plug post master fader like Digital Performer does.

Logic's Bounce POW-r algorithm was applauded by mastering wizard Bob Katz previously:

"One of the first products to include POW-R was a hardware dithering unit from Weiss engineering; in a review of this product in 1999, mastering engineer Bob Katz spoke highly of the new algorithm declaring it ‘an incredible achievement" -wiki

I use POW-r in Logic's bounce window to truncate and dither most of the time. But I was curious if/how/why Waves plugs could be used effectively in Logic to truncate/dither.

======
Richard

Feb 17, 2010 4:39 PM in response to Bee Jay

Bee Jay wrote:
But presumably, as, eg the L2 is converting the stream to a 16-bit, possibly fixed point, we end up with numbers that are much lower down, still representing out 16-bit audio, but still being inside a 32f number representation? And if we are still in 32f, doesn't Logic again have to downconvert in a bounce?


I'm no expert, either. I have studied the underlying math a bit, but I don't know the details of Logic's AU implementation, so my opinions are marginally useless 🙂

Here's what we know for sure: L2 (or whatever plug-in being using for dither) is adding 16-bit (in this case) dither to a 32f representation of the audio. The plug-in may or may not be zeroing out all the less significant bits, and it hopefully doesn't matter either way, because the point is for the host to truncate the result ASAP, throwing away those lower bits anyway. Presumably, the plug-in is smart enough to apply the fixed-point dither in a reasonable way to the floating-point data it's receiving.

It seems like a fair assumption to me then that the ultimate output of our dither plug-in will be a 32f stream where the 16 most significant bits are exactly what we want: dithered audio ready to be truncated to a fixed 16-bit format.

At this point, the question is whether the audio can make it through the bounce process without being altered.

Since Logic's bounce feature allows you to turn the dither on or off, I'm hoping that means you get absolutely no dither when it's off. The possible confusion is since Logic doesn't allow bouncing to 32f, no matter what output type you choose, you should dither in all cases (even if bouncing to a 24-bit file... in that case you'd want to apply 24-bit dither to the 32f stream). Hopefully, with Logic's dithering turned on, Logic applies the correct amount of dither based on the output file wordlength. And with dithering turned off, Logic applies no dithering at all, not even 24-bit dithering, the idea being that although you do need the dither, Logic allows you to turn off its internal dither so you can use your own.

As long as Logic adds no dither, the 16-bit result from our dither plug-in should remain intact. The potential problem case would be if the dithering plug-in failed to zero out the LSBs, and Logic applied 24-bit dither on top of that output... that could conceivably affect our desired 16-bit output.

Be great if anyone knows enough about the internal workings of Logic to confirm all of this. For what it's worth, the iZotope dithering manual has instructions for use with Logic, and it simply says to put the plug-in on the output fader, and do a normal bounce with dithering turned off.

Given this, from a DSP standpoint, is that down conversion something that will leave that 16-bit alone, or does it need to be dithered again?


Again, not sure, but I don't see any reason the conversion from 32f to 16-bit fixed should mess with the 16 LSBs, unless Logic is forcing additional dither, which would seem at odds with the apparent "off" switch on its dither. But I'm not certain, and I haven't tried to test this...

No, not at all. Remember, a DAW is not the only environment for plugins. A wave editor environment working on audio files is a very different environment to a DAW implementation and doesn't have quite the same issues - as you are mostly destructively processing a file at the native number representation of the file, DSP headroom aside.


Another interesting wrinkle... I'm not sure this is the way wave editors work. I thought most DSP was done in floating-point (even in a destructive wave editor--do Audio Units even have the ability to accept multiple data types ?) I've always assumed the input and output of AUs was always 32f, so it was the host's responsibility to convert the data to and from that type if necessary, and if the AU used another representation internally, it performed any necessary conversion and dithering automatically (e.g. a "double-precision" plug-in would need to zero-extend the input, and dither and truncate the output).

Can somebody PM Justin C? He's a good guy to come in on this - he always helps clear up mathmatical confusion... Justin!!!


Great idea... the virtual beer is on me (possibly literally...)!

-James

Feb 17, 2010 4:43 PM in response to jnashguitar

jnashguitar wrote:
Again, not sure, but I don't see any reason the conversion from 32f to 16-bit fixed should mess with the 16 LSBs, unless Logic is forcing additional dither, which would seem at odds with the apparent "off" switch on its dither. But I'm not certain, and I haven't tried to test this...


Typo... I meant the conversion from 32f to 16 fixed shouldn't mess with the 16 MOST significant bits.

-James

Feb 17, 2010 4:56 PM in response to jnashguitar

It seems like a fair assumption to me then that the ultimate output of our dither plug-in will be a 32f stream where the 16 most significant bits are exactly what we want: dithered audio ready to be truncated to a fixed 16-bit format.


Yes - that's my understanding of what's happening.

The possible confusion is since Logic doesn't allow bouncing to 32f, no matter what output type you choose, you should dither in all cases (even if bouncing to a 24-bit file... in that case you'd want to apply 24-bit dither to the 32f stream).


Exactly.

And with dithering turned off, Logic applies no dithering at all, not even 24-bit dithering, the idea being that although you do need the dither, Logic allows you to turn off its internal dither so you can use your own.


Yes, makes sense.

As long as Logic adds no dither, the 16-bit result from our dither plug-in should remain intact.


Assuming no side-effects of going from 32f to 16/24bit with no dither.

The potential problem case would be if the dithering plug-in failed to zero out the LSBs, and Logic applied 24-bit dither on top of that output... that could conceivably affect our desired 16-bit output.


Yeah, probably need to get a bitscope plugin here between the input and output of the plugin and see what's what, otherwise we're just guessing, unless the L2 manual goes into these details...

For what it's worth, the iZotope dithering manual has instructions for use with Logic, and it simply says to put the plug-in on the output fader, and do a normal bounce with dithering turned off.


Ok, one would certainly think iZotope know what they are talking about, because those guys are fricken gurus, they really are. This suggests that, *providing you don't touch the master fader* (which is potentially a failure point and ugly imo), that there isn't a fundamental problem doing that dither in the plugin. That's interesting...

Again, not sure, but I don't see any reason the conversion from 32f to 16-bit fixed should mess with the 16 LSBs, unless Logic is forcing additional dither, which would seem at odds with the apparent "off" switch on its dither. But I'm not certain, and I haven't tried to test this...


Yeah, this is where I'm fuzzy as well, and without actually knowing, this would just be conjecture on my part, and thus not very meaningful.

Another interesting wrinkle... I'm not sure this is the way wave editors work. I thought most DSP was done in floating-point (even in a destructive wave editor--do Audio Units even have the ability to accept multiple data types ?)


Yes, some plugins convert incoming audio to 24-bit fixed point, which is why you can clip them. Some early Waves plugins do this, for example.

Wave editors I'm fairly sure will hold the native file at the resolution of the file - eg 16 or 24-bit fixed point format, and if you DSP process, say a plugin, it will process the data at whatever resolution makes sense (eg 64-bit if necessary), then downconvert and dither the output back to the 16 or 24-bit fixed point file. I don't think they load all incoming files into 32f as a rule, and this would seem a pointless excercise - you wouldn't, for example, be able to load in a wav file, truncate and save it out losslessly otherwise - the sample data would change if it's come back out from a 32f dithered number format.

I've always assumed the input and output of AUs was always 32f, so it was the host's responsibility to convert the data to and from that type if necessary, and if the AU used another representation internally,


Logic feeds in a 32f value, and expects a 32f value back out. Whatever the plugin does to the data internally Logic doesn't care about. The plugin could convert to an 8-bit binary stream internally, and as long as it gave Logic what Logic expected, there wouldn't be a technical problem.

it performed any necessary conversion and dithering automatically (e.g. a "double-precision" plug-in would need to zero-extend the input, and dither and truncate the output).


Yes - this is up to the plugin. Some of Logic's plugins themselves do this, they process in 64-bit precision, and downconvert and dither the signal on the way out.

Message was edited by: Bee Jay

Feb 17, 2010 4:59 PM in response to jnashguitar

I tried a few bounces using the Apogee UV22HR with the dither in the Sonnox Limiter left at 24 bit and TDPF.

I'm happy with results.

One issue which may be slightly off topic but ....

In this discussion both you Bee Jay and you James have mentioned having the master fader in Logic at 0db when bouncing for mastering a CD.

Is that important and if so why please ?

I've found that if I have the master fader at 0db I sometimes get a red light coming on in Toast Titanium Pro (10.0.6).
You know what I mean. You have your tracks loaded in Toast ready to burn and you play them and the level meter in Toast does its thing.
At some peaks I may get a red light at the top of the meter.

There is no audible distortion or clipping but I hate seeing red lights 🙂

I found this will happen even if I have the output on the Sonnox Limiter set at something like - 0.2 db.

On the other hand if I have the Sonnox at 0 db and the master fader in Logic at -0.1 db I do not get red lights in Toast ?

What does this mean and does it matter ?

cheers

Murray

Feb 17, 2010 5:08 PM in response to Murray Campbell

n this discussion both you Bee Jay and you James have mentioned having the master fader in Logic at 0db when bouncing for mastering a CD.


Only for test cases that we were discussing here. There is no problem in general adjusting the master fader, I do it all the time.

In fact, I've made more than one ranty post about "master fader movement fear" which seems to stem from ProTools users back in the nineties and is something that seems to still endure for no reason other than habit and fear...

I've found that if I have the master fader at 0db I sometimes get a red light coming on in Toast Titanium Pro (10.0.6).


I wouldn't really trust Toast. It purely depends how you decide what is an "over". Pro Audio programs usually expect to see something like three 0dBFS values in a row. A consumer program might light a clip light at just one - which isn't technically an over.

However - there are good reasons why it's suggested that you limit to something like -0.3dBFS, and not 0dBFS, relating to poor CD output convertors and intersample peaks going over - it's possible to clip a DA convertor even if the sample data is below 0dBFS, if the reconstructed waveform goes over 0dBFS.

So it's good practice to give a small safety margin to avoid some potential unpleasantness.

I trust Logic more than Toast in matters of audio though... I have no idea what Toast is deciding is an over.

Feb 17, 2010 5:15 PM in response to Bee Jay

Bee Jay wrote:
Ok, one would certainly think iZotope know what they are talking about, because those guys are fricken gurus, they really are. This suggests that, *providing you don't touch the master fader* (which is potentially a failure point and ugly imo), that there isn't a fundamental problem doing that dither in the plugin. That's interesting...


Here's the thing, though: the iZotope manual shows a picture of the Logic bounce fader with the level set to 0dB, but they don't actually mention the importance of not touching the fader. Odd, because you don't have to be a fricken guru 😉 to recognize that volume adjustment will trash your carefully-dithered bitstream. Hoping that's just a manual oversight on iZotope's part, not an indication that they haven't thought the process through thoroughly...

http://www.izotope.com/products/audio/ozone/OzoneDitheringGuide.pdf

Yes, some plugins convert incoming audio to 24-bit fixed point, which is why you can clip them. Some early Waves plugins do this, for example.


You're certainly right about that. The plug-in is a black box, and the internal representation could be anything.

Wave editors I'm fairly sure will hold the native file at the resolution of the file - eg 16 or 24-bit fixed point format, and if you DSP process, say a plugin, it will process the data at whatever resolution makes sense (eg 64-bit if necessary), then downconvert and dither the output back to the 16 or 24-bit fixed point file.


Right... I was just suggesting that all of the dithering conundrums we're discussing may be equally applicable to wave editors. Open a 24-bit file in a wave editor and apply a 16-bit dither plug-in... same issues apply: in what format does the processing actually take place, and does the editor automatically apply any dither that might interfere ? Seems like even in a wave editor, to apply dither manually, you need a preference to disable automatic dithering...

-James

Feb 17, 2010 5:20 PM in response to Murray Campbell

Thanks Bee Jay.

I understand what you are saying 100% about Toast.
I don't "trust it " as such but I hate the red lights !

I think I will try more like -0.3 in the Sonnox and go back to 0db in Logic.

The project I'm finishing off now is the first mastering job that will go to mass production I've done with Logic and the Sonnox Limiter.

I converted from Cubase SX to Logic only about a year ago.

For all my own CDs I've always used a pro mastering engineer. ;-))

With SX I mastered 4 Cds for clients and so I knew what levels produced certain results. In those days I used Waves L1 ultra maximiser and was used to it.

I'm still getting used to the Sonnox Limiter and it has a lot of paramters to get a grip on.

Very happy withe Apogee UV22HR though, I'm sold.

cheers

Murray

Feb 17, 2010 5:22 PM in response to jnashguitar

I was just suggesting that all of the dithering conundrums we're discussing may be equally applicable to wave editors.


They may be, of course, and once again I'm only intuitively guessing here, which is the best I can do without knowledge of the internals (and no, I'm not going to trawl through the source code of Audacity 🙂 )

In the main, they are fundamentally different concepts, but, for example, Wavelab is much closer to a DAW implementation than, say Peak, in that WL is always running the samples through it's master section, which is analogous of a 32f DAW mixer.

Open a 24-bit file in a wave editor and apply a 16-bit dither plug-in... same issues apply: in what format does the processing actually take place, and does the editor automatically apply any dither that might interfere ? Seems like even in a wave editor, to apply dither manually, you need a preference to disable automatic dithering...


Indeed. I'm rapidly turning into a dithering idiot... 🙂

Feb 17, 2010 5:26 PM in response to Bee Jay

Bee Jay wrote:
Indeed. I'm rapidly turning into a dithering idiot... 🙂


I'm with ya!

Hey, if anyone's mystified by this dither discussion and wants to learn more, check out the iZotope guide: http://www.izotope.com/products/audio/ozone/OzoneDitheringGuide.pdf

It's by far the clearest and simplest resource I've seen to explain this confusing subject.

-James

Feb 17, 2010 6:11 PM in response to jnashguitar

Here's the thing, though: the iZotope manual shows a picture of the Logic bounce fader with the level set to 0dB, but they don't actually mention the importance of not touching the fader. Odd, because you don't have to be a fricken guru to recognize that volume adjustment will trash your carefully-dithered bitstream.


From the manual:

"It's easy to make mistakes -- there was one time at iZotope when we thought we had broken our dither in an Ozone alpha version. We finally noticed that the problem was just that the level adjustment in the host app we were testing with had been turned up 1 dB (an inadvertent mouse click in the wrong spot most likely), which will completely mess up any dither."

and

"(never apply gain change after dither)"

and

"The rule most people know about dithering is don't touch the signal at all after it's been dithered. No fades, no volume change, no normalizing, no effects, no panning. Nothing. OK, the one thing you can do is trim the ends. But no actual processing of the signal.
This is easier said than done in some cases. First of all, most host apps have their master fader after the master effects slot. So, if you adjust the volume with the output fader of the host app, that level adjustment is being applied to the dithered signal, and that's bad. Do any fades or level adjustments at 24-bit destructively before dithering.
One exception that we know of is Wavelab, which has a special "dither" slot which is after the output faders. Go to Options-Master Section Plug-ins and check the PM box next to Ozone and it will appear in the Dither effects section."


and, in reference to using dither via Ozone:

"In general, though, be sure that:
1) Output faders in the host app are set to zero/unity gain.
2) Dither is turned off in the host app.
3) There are no effects after the dither."


and

"The most important point is to find out how to set dithering in the app, and turn it off (assuming you're using Ozone for dithering). And don't do any level changes after dithering, including setting the master fader level to anything but 0 (unity gain)."

This is also interesting regarding our conversation:

"A plug-in can not change the actual format of the audio it receives. Meaning, it can't get audio in 24 bit format and send it back to the app in true 16 bit format. What happens is that Ozone sends back the same number of bits of audio, but it zeros out all the bits below 16 (or whatever bit depth you select in Ozone). So Ozone applies dither to the 16th bit, zeros out the bits below that, and the host app doesn't care.
When you actually convert the file to a 16-bit wave with the host app, you can just tell the host app to truncate. Tell it to throw away the bits below the 16th one and don't try to dither the 16th bit. Ozone has already dithered the 16th bit, and the ones below that are zero so they can just be thrown away (truncated by the host app).
This rule also emphasizes why it's important to do absolutely no level changes or processing of the audio after you've applied Ozone dither. We've carefully dithered the 16th bit, and made the bits below that zero. If you do any processing, the host app will use the 16th bit, but also all the bits below it. It's all ruined."


That pretty much confirms that, subject to the restrictions noted (don't touch the master fader etc), you can dither in a plugin on the master fader, as long as you are careful and don't dither on the bounce, and that just truncating on the host is fine in this case.

Feb 17, 2010 9:16 PM in response to Bee Jay

Bee Jay wrote:
From the manual:


Yeah, but seriously... I read this manual a few years ago... no, seriously...

Thanks for all the info, Bee Jay!

That pretty much confirms that, subject to the restrictions noted (don't touch the master fader etc), you can dither in a plugin on the master fader, as long as you are careful and don't dither on the bounce, and that just truncating on the host is fine in this case.


Good to know!

-James

Logic Pro 9 dither chain

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.