Want to highlight a helpful answer? Upvote!

Did someone help you, or did an answer or User Tip resolve your issue? Upvote by selecting the upvote arrow. Your feedback helps others! Learn more about when to upvote >

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
Question marked as Best reply

Feb 16, 2010 3:51 PM in response to Richardttt

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.

Feb 16, 2010 7:38 PM in response to Bee Jay

Bee Jay would you please explain in more detail what you are saying here.

Until recently I used Waves L1 Ultra maximiser as the last plugin in the mastering chain to convert 24 bit stereo interleaved files to 16 bit for CD.
Now I am using the Sonnox Limiter but, of course, it makes no difference what I use in the context of this discussion.

When mastering I set up a dedicated project and import 24 bit stereo mix files.
The mastering process is s separate step from the mix process.

In the Logic bounce dialoge box I choose not to use any of the Logic dithering options.

So there is only one lot of dithering going on as far as I can tell.
By the Sonnox Limiter.

I may have misunderstood what you are saying.

But if you are saying that you should only use the Logic dithering option as opposed to third party plugins would you please explain why in your opinion?

cheers

Murray

Feb 16, 2010 9:14 PM in response to Murray Campbell

Murray Campbell wrote:
But if you are saying that you should only use the Logic dithering option as opposed to third party plugins would you please explain why in your opinion?


I think Bee Jay's point is that if you insert a dithering plug-in on your master fader, your dither is getting applied too early... you want the dither to be absolutely the last thing that happens to your output before it is truncated from 24 to 16 bits. If anything happens post-dither, the dither you applied is rendered worthless. If you use Logic's dither option, you can be sure that the dither gets applied in the correct order (i.e. last, immediately before truncation).

I do believe it's possible to get this process right with 3rd-party plug-ins, though... someone correct me if I'm wrong. Here's how I do it:

1) Output all tracks to a bus, and use the corresponding Aux channel's fader to set your overall level, perform any master fades, etc. I call this my "Mix Bus." You're free to put any plug-in inserts on this Mix Bus.

2) Set the output of your "Mix Bus" to be the master output for your audio interface, the output you use for monitoring. I call this my "Hardware Output." Put your dither plug-in as your final insert on the Hardware Output.

3) Set the fader level for your Hardware Output to 0dB, and if your project has a "Master" fader, set that to 0dB, too.

Someone correct me if I'm wrong, but I believe that as long as you keep the Hardware Output fader at 0dB and the Master fader at 0dB and have no plug-ins after your dither plug (to make sure that no math is done to your 24-bit output post-dither), you can use the Mix Bus fader to control your master level, and your dither plug-in will be applying dither properly.

Sorry if this is confusing, but I'm not sure how to explain it any more simply. If in doubt, just follow Bee Jay's advice and use the built-in Logic dither. If you want to use 3rd-party plug-ins, you'll need to be very aware of exactly what's happening to your output stream. I believe if you follow my instructions exactly, you should get valid dithering, but someone please correct me if I'm wrong--to be fair, I am making some assumptions here...

-James

Feb 17, 2010 12:00 AM in response to jnashguitar

Interesting James.

One observation/question.

At point 1) you suggest +Output all tracks to a bus, and use the corresponding Aux channel's fader to set your overall level, perform any master fades, etc.+

Why can't you just use the faders on the track the stereo mix is in ?

For example, you are mastering 10 songs.
You set up a Logic project with 10 stereo tracks and simply import each song into it's own track.

To get the levels (and fades if you like) correct as between the 10 tracks you use the fader on each track.
You can use the inserts on each track for any plugins.

What is the benefit of choosing a new bus for the output of each track ?
(If any fades are needed I prefer destructive fades in the sample editor)

...and back to the topic.

After some more reading I'm going to try the Apogee UV22HR for dithering instead of the Sonnox.

Sounds like it will do a nice job.

cheers

Feb 17, 2010 12:12 AM in response to Murray Campbell

Murray Campbell wrote:
For example, you are mastering 10 songs.
You set up a Logic project with 10 stereo tracks and simply import each song into it's own track.

To get the levels (and fades if you like) correct as between the 10 tracks you use the fader on each track.
You can use the inserts on each track for any plugins.

What is the benefit of choosing a new bus for the output of each track ?
(If any fades are needed I prefer destructive fades in the sample editor)


In your case, there's no reason to bus your outputs. In a typical mixing situation, with multiple tracks routed to an output, it's useful to create an intermediate mix bus, so you have a fader you can pull up or down to deal with clipping, automate for a fade out, etc. If you're dithering via a plug-in, you don't want to use the output fader where that dither plug is inserted, and most people like to have a master level control when mixing... hence the mix bus.

In your case--mastering stereo mixes that have already been bounced into a single file per song--you exactly right: there's no need for the bussing.

-James

Feb 17, 2010 3:19 AM in response to jnashguitar

From what I understand in Logic Pro you should not apply any dither or truncate to 16 bits before the Master fader (which all plugins are). Just as in Digital Performer, only truncate and apply dither Post master fader. DP has an option to place a plugin insert post master fader so you could use a plugin to truncate and dither in DP.

In Logic Pro the only way to truncate and dither post master fader is with the Bounce dialog. All plugins are pre-master fader and therefore will be converted back to 32 bit float after you would apply dither or truncate and before your mix hits the master fader.

=====
Richard

Feb 17, 2010 6:00 AM in response to Richardttt

Yes, exactly.

If you are using a plugin to dither down to a 16-bit word length signal, that signal is still in the mixer and thus is still represented as a 32-bit float value until it leaves the main channel on it's way to the audio interface, or the bounce to disk procedure.

It's then that Logic needs to convert from 32-bit float, to a lower wordlength (16 or 24-bit depending on what you are doing). And when lowering the word-length, we need to dither.

That means you are dithering twice, and not in fact using the plugin to create our final 16-bit word length CD file - even if we leave the master fader at 0dBFS.

You should not be trying to mess with the wordlength inside Logic's mixer, because if a signal is in Logic's mixer, it will always have a 32-float representation right until it leaves the mixer. Downconverting and dithering is a process that should be done after Logic's mixer, not inside it, and therefore the proper place is the bounce to disk dialog - where in fact the dither options in Logic are indeed placed.

Feb 17, 2010 11:03 AM in response to Richardttt

very interesting thread. for years i've used the Waves L2 plugin on the stereo output to dither down using its noise shaping algorithms, and then i would just set the output setting in Logic to 16-bit and no noise shaping.

however, based on what i'm reading here i'm actually dithering down to 16-bit with the L2 prefader, it's then being "up-dithered" back to 32-bit float and then dithered down again to 16-bit.

am i understanding this correctly? thanks!

Feb 17, 2010 11:31 AM in response to M-De

however, based on what i'm reading here i'm actually dithering down to 16-bit with the L2 prefader, it's then being "up-dithered" back to 32-bit float and then dithered down again to 16-bit.


What's happening is Logic's mixer always operates with 32-bit float numbers, which has many advantages.

What you are doing, is that a 32-bit float number stream goes into the L2, and a 32-bit float number comes back out of the L2, except now that 32-bit float number stream contains a much smaller 16-bit dithered numbers - in effect, you're still in 32-bit float, but you've just thrown away a huge amount of resolution, which is better preserved right until the end and used to make a better output conversion.

That 32f stream continues through the fader and onto it's final destination, be it your audio interface or a bounce, at which point then it leaves 32f for a fixed point number representation, and that conversion uses the full dynamic range of the 32f data for the best results.

I'm not sure whether that resolution is being thrown away from the "top" or the "bottom" of the number range. I'm not sure how that works, maths/DSP wise.

Because you are still in 32-bit float, to make your final 16 or 24-bit fixed point file, you have to convert that 32-bit float stream (albeit containing lower resolution data now) down to a 16 or 24-bit value. If the numbers are at the low end of the range, presumably you would indeed have to dither again, thus adding twice as much dither noise as necessary.

I'd need a DSP audio guy to come in and bring some hard facts, as this is where my maths and common sense fails me a little.

In short, it seems to me that trying to downconvert in the middle of a 32-bit float stream is a not terribly great thing to do, for the reasons outlined.

And I'm pretty sure the L2 dither is not as good as Logic's world-class standard licensed dither algorithms from POW-r and Apogee UV22... by all means, use the L2 to dither in a wave editor, but I don't think it's the right dither tool for outputting bounces in Logic.

Feb 17, 2010 11:36 AM in response to Bee Jay

{quote:title=Bee Jay wrote> And I'm pretty sure the L2 dither is not as good as Logic's world-class standard licensed dither algorithms from POW-r and Apogee UV22... by all means, use the L2 to dither in a wave editor, but I don't think it's the right dither tool for outputting bounces in Logic.


got it. i thank you sir. 🙂

Feb 17, 2010 11:51 AM in response to Bee Jay

Bee Jay wrote:
What you are doing, is that a 32-bit float number stream goes into the L2, and a 32-bit float number comes back out of the L2, except now that 32-bit float number stream contains a much smaller 16-bit dithered numbers - in effect, you're still in 32-bit float, but you've just thrown away a huge amount of resolution, which is better preserved right until the end and used to make a better output conversion.


A good time to clarify the distinction between dithering and truncating. Applying 16-bit dither does not throw away any resolution. Typically, the immediate next step is truncation, which does throw away the data. In a textbook case of dithering, the steps would be 32-bit float -> 24-bit fixed -> apply 16-bit dither (data still contains 24-bits of resolution)-> truncate to 16-bits.

I'm not sure whether that resolution is being thrown away from the "top" or the "bottom" of the number range. I'm not sure how that works, maths/DSP wise.


With 32 bit FP audio, 8 of those bits are used for the exponent, leaving roughly the same resolution as a 24-bit fixed representation when comparing the accuracy of quantized amplitude.

In short, it seems to me that trying to downconvert in the middle of a 32-bit float stream is a not terribly great thing to do, for the reasons outlined.


I agree. But applying 16-bit dither in the middle of a 32-bit float stream isn't necessarily the same thing. The important question is whether or not the ultimate 16-bit fixed output will be altered downstream from the dither. My assumption is that as long as faders are left at unity and no processing is done, the 16-bit output at the end will be unchanged. But I may be wrong...

Here's the thing, though... if you're correct, Bee Jay, and those resulting 16-bits get altered post-dither (even with no deliberate processing or fader manipulation), then you're essentially saying that it's impossible to apply 16-bit dither properly in a 32-bit floating environment. Since all the major native plug-in environments are 32-bit float (AU, RTAS, VST), we'd then have to conclude that all of those native dithering implementations by Waves, iZotope, etc., are worthless, eh ? That seems unlikely, but again, maybe there's someone on this forum who can confirm 100% one way or the other...

-James

Feb 17, 2010 12:49 PM in response to jnashguitar

A good time to clarify the distinction between dithering and truncating. Applying 16-bit dither does not throw away any resolution. Typically, the immediate next step is truncation, which does throw away the data. In a textbook case of dithering, the steps would be 32-bit float -> 24-bit fixed -> apply 16-bit dither (data still contains 24-bits of resolution)-> truncate to 16-bits.


Yes, my post was badly worded, sorry - "Resolution" is such a b *ard word when it comes to digital audio. 🙂

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?

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?

I'd like to understand what's going on here better...

I agree. But applying 16-bit dither in the middle of a 32-bit float stream isn't necessarily the same thing. The important question is whether or not the ultimate 16-bit fixed output will be altered downstream from the dither. My assumption is that as long as faders are left at unity and no processing is done, the 16-bit output at the end will be unchanged. But I may be wrong...


I simply do not know enough at the maths level, which is why, as I stated, this is a little out of my depth - some I'm grateful to have some other people step in. 🙂

If the fader is at unity, then it's probably ok to assume no more signal processing is going on inside the mixer. We don't know for sure, but I'd say it's probably a safe enough assumption. However, I don't know what happens in the bounce stage...

Here's the thing, though... if you're correct, Bee Jay, and those resulting 16-bits get altered post-dither (even with no deliberate processing or fader manipulation), then you're essentially saying that it's impossible to apply 16-bit dither properly in a 32-bit floating environment.


No, not saying that, I'm just not sure what happens afterwards. It's clearly not impossible, as you can do it in a plugin as contributors here have been. I'm simply not sure that's it's wise. It may be proved to be perfectly ok, it may not. However, doing the dither in the bounce dialog does conveniently bypass any confusion, hence the recommendation 🙂

Since all the major native plug-in environments are 32-bit float (AU, RTAS, VST), we'd then have to conclude that all of those native dithering implementations by Waves, iZotope, etc., are worthless, eh ?


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.

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

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.