Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] Truncation in Csound5

Date2008-10-11 14:17
FromMichael Gogins
SubjectRe: [Cs-dev] Truncation in Csound5
My thoughts on this can be found in "A Csound Tutorial," the final section on audio quality. This is in the Windows installers for Csound and can be found on the SourceForge public page for Csound. In addition to my comments there:

-- Do not render to any kind of integer soundfile, not even 24 bit. Render to float soundfiles. This also means do not dither.

-- If you must render to an integer format, dither in the final float to integer conversion step. If Csound's dither doesn't work, use an editor that has it.

The basic principle is: always use the highest-precision format that you possibly can (float, 88200 or 96000 Hz at a minimum) at every stage of rendering. If the target is a lower precision, put off converting to the lower precision until the very last step.

This is entirely consistent with the Bob Katz approach, and indeed is partly informed by it.

Regards,
Mike

-----Original Message-----
>From: Jim Bates 
>Sent: Oct 10, 2008 8:54 PM
>To: csound-devel@lists.sourceforge.net
>Subject: [Cs-dev] Truncation in Csound5
>
>My earlier post regarding the dither problem in Csound5 was started  
>before I found out there is no dither currently in Csound5. While it  
>has been implied that dither is not needed on a floating point  
>system, that viewpoint is at odds with the following from the  
>renowned mastering engineer Bob Katz:
>
>"But one programming mistake, or a few cost-saving shortcuts, can  
>ruin ether fixed or floating point work, especially if shortcuts are  
>taken at the most critical time, when the final output number is  
>converted to fixed point 24 bit at the end. If those numbers are not  
>converted (and properly dithered to 24 bits) at that time, then the  
>sound of the entire system can be compromised."
>		  Bob Katz "Fixed versus Floating Point Notation" (an answer to a  
>question on his Audio FAQ)
>
>"When feeding processors, DAWs or digital mixers to your recording  
>unit, dither the output of the processor to a 24-bit word. Dithering  
>always sounds better than truncation without dither."
>		Bob Katz' article "Dither"  Full article at:  http://www.digido.com
>
>So the real problem is more accurately a truncation problem.
>
>As the contention is about dithering floating point, I e-mailed Bob  
>Katz with the following question:
>
>Do you know of any current (or past) algorithm for dithering floating  
>point audio files?
>
>Here is his reply:
>
>
>Floating point is not the ideal medium for dithering as you don't  
>know where the reference level is, it's "floating" :-).  Some people  
>argue (probably correctly) that dithering makes no sense with  
>floating point. So most algorithm designers convert to fixed point  
>and then dither.  Does that answer your question?
>
>
>Best wishes,
>
>Bob
>-- 
>Bob Katz 407-831-0233 DIGITAL DOMAIN | "There are two kinds of fools,
>Recording, Mastering, Manufacturing  | One says-this is old and  
>therefore good.
>Informative **CD MASTERING WEBSITE** | The other says-this is new and  
>therefore
>http://www.digido.com                | better."
>
>No trees were killed in the sending of this message. However a large  
>number
>of electrons were terribly inconvenienced.
>
>
>Another reference regarding that confirms this can be found here:   
>http://www.cadenzarecording.com/images/FloatingDither.pdf
>
>
>This is as clear as I know how to put it.
>
>I would appreciate some feedback on this from those who actually  
>develop Csound, like Anthony Kozar, Michael Goggins, Andres Cabrera,  
>Steven Yi, Victor Lazzarini, John ffitch, etc.
>
>All the Best,
>Jim Bates
>




-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-10-11 18:34
FromDave Seidel
SubjectRe: [Cs-dev] Truncation in Csound5
I've been generally following Mike's advice by rendering to 96K/32, then 
down-converting as necessary to 44.1K/16 with r8brain[1], which is free, 
though not open source.  Seems to do a very decent job, and it included 
dithering.

- Dave

[1] http://www.voxengo.com/product/r8brain/

Michael Gogins wrote:
> My thoughts on this can be found in "A Csound Tutorial," the final section on audio quality. This is in the Windows installers for Csound and can be found on the SourceForge public page for Csound. In addition to my comments there:
> 
> -- Do not render to any kind of integer soundfile, not even 24 bit. Render to float soundfiles. This also means do not dither.
> 
> -- If you must render to an integer format, dither in the final float to integer conversion step. If Csound's dither doesn't work, use an editor that has it.
> 
> The basic principle is: always use the highest-precision format that you possibly can (float, 88200 or 96000 Hz at a minimum) at every stage of rendering. If the target is a lower precision, put off converting to the lower precision until the very last step.
> 
> This is entirely consistent with the Bob Katz approach, and indeed is partly informed by it.
> 
> Regards,
> Mike



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net