whoa boy...Brian, you are one thorough dude. Here's a few things to consider.
CEP/Audition opens up a 24 bit file as 32 bit float but just 'zero fills' the missing data. There is no 'up-conversion' per se. If you do the analysis before any processing you'll find the actual bit depth is still 24. (highlight a section and click
analyze, statistics and look at the value in the 'actual bit depth' box).
Before processing a file, you can prove this:
Open the 24 bit file (it'll open as a 32 bf). Then go
file, save as and you'll find an
options button in the dialog box - here you can set the format and whether or not to use dither. If you save as 24 bit type1 and uncheck the 'enable dithering' box you get a file identical to the original (bitwise that is).
Quote
First Scenario (s/w up-convert/dither)
<1> the user allows the s/w to control up-conversion at the time the edits are made, i.e. the s/w up-converts to 32bf during editing (in the temp / working file) and dithers back down to 24b upon completing each operation (all transparent to the user)
<2> no user-initiated dither performed
This strikes me as problematic in that if I apply multiple edits to the same section of the waveform, I'm basically upconverting/dithering repeatedly.
When editing a 24 bit file in CEP it opens in 32bf as you noticed. After your first process you'll find that your file now has an actual bit depth of 32 bf (
analyze, statistics). It does not revert back to 24 until you save it or reduce bit depth deliberately. It remains in 32bf for all subsequent operations.
You may be thinking about what happens when editing a 16 bit file - in that case yes, it does dither down with each operation. This too can be avoided by going into
settings, data and checking the box that says 'auto-convert all data to 32 bit upon opening'. But I digress...when editing 24 bit you automatically stay in 32bf so no worries about repeated converting and dithering.
Quote
Second Scenario (user up-convert/dither)
<1> the user applies an up-conversion to 32bf to the entire recording
<2> the user performs editing
<3> the user dithers the entire file from 32bf down to 24b only after completing all edits
I think this is the way to go - take advantage of the 32bf and then dither only once. But perhaps the process of upconverting (i.e. inventing data points) and then dithering is unnecessary?
Yes, this is essentially what happens when you use CEP/Audition. As mentioned, no data points are 'invented' during upconversion when we're talking about bit depth increasing.
How and when to drop back down to 24 bit? You can do that at least 3 ways
1) use the internal default dither (on the 'save as' dialog box)
2) use internal dither available with
edit, convert sample type and then you can choose a few more options such as dither type
3) use a plugin (i.e. waves L2 or IDR).
I use method 3 which I can explain. After all processing, use the plugin to reduce bit depth and dither whichever way you like. Now you have a 32 bf file that only has an actual bit depth of 24 (verified with the analyze statistics method above). So next we want to truncate the 32 bf file to 24. This is done by using the
options in the
save as dialog box and setting to 24 bit type1, no dither.
Note that this method doesn't work if you want to drop to 16 bit. For that you still use the plugin to reduce bit depth to 16 but then you have to go
edit, convert sample type and select 16 bit and
uncheck 'enable dithering'. Then you save the file (you'll notice the
options in the
save as box are now greyed out since your file is already at 16 bit.
Quote
Third Scenario (no conversion/no dither)
<1> the user sets the s/w to use 24b temp files
<2> the user performs editing
<3> no s/w or user-initated dithering performed
Seems like we ought to take advantage of 32bf for editing?
Yes, and this is one of those things that seems really stupid about Wavelab. Everybody fixes the 'file too large' issue by setting temp files to 16 or 24 bit. That strikes me as a waste of perfectly good detail.

CEP keeps it all in 32 bf until you tell it to do otherwise.
In fact, I generally start by saving a copy of the file as 32 bf when I'm working with it because that way a *.pk file is created which allows CEP to open it up immediately (which doesn't happen with 24 bit file because of the required conversion to 32).
Quote
Standard Editing
I think for my standard editing - fades at sets' start/end *only*, it won't make a noticeable difference which scenario I use, so I'd probably default to the First or Third Scenarios. For edits applicable to only very small portions of the file, no point in upconverting the entire file to 32bf only to dither back down to 24b. Might as well only upconvert to 32bf for the affected areas, or leave it at 24b outright.
Intensive Editing
I think if I want to do intensive editing to the entire waveform, like applying gain (i.e. normalizing), compression, or dither/resample to 16/44.1, the Second Scenario makes the most sense to me. Also, the Second Scenario prevents multiple upconversion/dithering from 24b <--> 32bf as I perform multiple edits (e.g. compress, then normalize, then dither/resample to 16/44).
When you're doing
Standard Editing it would depend if you're ending up at 24 or 16. For 16, obviously you have to dither. For 24, I would just skip dithering - no point in processing the whole file just to get a smoother fade. That's all you'll accomplish with dither, while adding noise to all the other parts.
When doing
Intensive Editing I'd follow the workflow I described, which is basically...
1) start with 24 bit file, opens in CEP as 32 bf
2) process
3) use favorite plugin to reduce bit depth/dither
4) truncate and save
phew!
