In "A Csound Tutorial" on the SourceForge Csound web page, there is an appendix explaining some things about audio quality and Csound. There is no humanly perceptible advantage to anything much beyond a 96 KHz float sample soundfile. Assume we keep the signal in this format until the very last step, such as mastering a CD. In that case, the float sample version of Csound is just as good as most professional studio software. The double precision version of Csound is as good as ANY professional studio software. You can't get better without going to the Navy for secret sonar software. Quantization error inevitably occurs, but if you take some reasonable care it will remain far below the noise floor of the sound system, and nobody will ever hear it. The only places where I, with a good deal of experience and deliberately trying to hear it, have ever heard the effects of quantization error is in filters with poles and zeros near the unit circle where stability becomes an issue. In that case, with minute A/B comparisons, one can hear the difference between the float sample version and the double sample version of Csound. The human ear is basically as good as any microphone. It has a dynamic range somewhere between 120 and 140 dB. In practice, to hear this dynamic range would be extremely painful. But the ear is good enough to be a real trial for speakers, microphones, and even software. However, double samples have a manitissa of 52 bits, so for 6 dB per bit of dynamic range, you get over 300 dB of dynamic range. The ear may be very sensitive, but Csound is a whopping great deal less noisy and more precise. Even a float sample has a mantissa of 23 bits and therefore a dynamic range of at least 130 dB. Again, to hear more than 100 dB of dynamic range would be quite painful. So the bottom line is, if you use the double sample version of Csound and write to a float soundfile that is normalized, any processing or quantization noise will be in almost all cases completely inaudible. Way below whatever noise creeps into the amplifier and speakers. If you want to come up with some contrived counter-example with recursive processing or unstable filters, you can manufacture errors you can hear if you are an expert in a lab, but otherwise you don't need to worry. If you ARE working in a sonar lab or are a recursive filter maniac, use double sample soundfiles and your worries are definitively caput. Other sources of noise are much more trouble in Csound. You need to use the appropriate, usually more recent and more noise-free opcodes. You need to use much larger wavetables than most people use. You need to take steps at all points to avoid aliasing noise in frequency or phase modulation... use anti-alias wave generators... and so on. This also is covered in the tutorial. Hope this helps, Mike On Sat, Jan 10, 2009 at 1:31 PM, Jason Timm wrote: > Okay, thanks Michael, > this helps a lot. > What I'm trying to understand is *how* csound, if it can be done with either > 32 bit or 64 bit application builds, processes the mathematical computations > with 64 bit precision. i.e - floats represented with 2^64 > precision(doubles). I've seen and heard examples of quantization error with > float samples. It does happen. I'm not super anal about this, jut > investigating and designing a work flow. > Ultimately sound files will probably be archived at 32 bit and quantized to > 16 bit lengths for distribution. > I initially thought there could be an doubles flag - like -f except -d(I > know this means something else). > Is all this daft? I'm just trying to figure it out. > Jason > > On Sat, Jan 10, 2009 at 12:05 PM, Michael Gogins > wrote: >> >> Let us distinguish.... >> >> Csound can be a 32 bit application, or a 64 bit application. That it >> is, it can be built to run on a 32 processor or a 64 bit processor. >> Normally, Csound is a 32 bit application but, in the future, Csound >> will normally be a 64 bit application. >> >> Csound, whether it is a 32 bit application or a 64 bit application, >> can use 32 bit floating point numbers ("floats") to represent audio >> samples, or it can use 64 bit floating point numbers ("doubles") to >> represent samples. This is not the same thing as the above. 32 bit >> samples run a bit faster on some systems (maybe), 64 bit samples are >> more precise and occasionally sound a bit better. >> >> Csound, whether it is 32 bit or 64 bit as an application and whether >> it uses 32 bit or 64 bit audio samples, can write soundfiles in >> various formats such as 16 or 24 bit ints, floats, or doubles. This is >> not the same as either of the above. >> >> Regardless of what kind of Csound you have -- 32 or 64 bit app, or >> float or double samples -- you can write a float soundfile using the >> -f Csound command line option, or you can write a double soundfile >> using the --format=w64 option. >> >> Hope this helps, >> Mike >> >> >> >> On 1/10/09, Jason Timm wrote: >> > Hey Chuckk, >> > I'm Mac 10.5.6. >> > >> > I had both frameworks(32/64) installed, the problem's invoking the >> > doubles >> > version when desired. From reading the manual this should be possible or >> > maybe I'm misunderstanding something. I switched to a lone doubles build >> > run >> > from the command line - none of the GUIs work with the 64v on my >> > machine. >> > >> > BTW - csound~ seems broken by 5.10. >> > >> > Jason >> > >> > >> > On Sat, Jan 10, 2009 at 3:59 AM, Chuckk Hubbard >> > wrote: >> > >> >> As far as I know that's something only decided while compiling Csound. >> >> If you want to have both options available, you'll need two copies of >> >> Csound. If you're compiling from source, you can make them from the >> >> same source. What OS are you using? >> >> >> >> -Chuckk >> >> >> >> On Tue, Jan 6, 2009 at 7:52 PM, Jason Timm >> >> wrote: >> >> > >> >> > >> >> > How to render with double precision floats? I'm not seeing a flag. >> >> > J. >> >> >> >> >> >> >> >> -- >> >> http://www.badmuthahubbard.com >> >> >> >> >> >> Send bugs reports to this list. >> >> To unsubscribe, send email sympa@lists.bath.ac.uk with body >> >> "unsubscribe >> >> csound" >> >> >> > >> > Send bugs reports to this list. >> > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe >> > csound" >> >> >> -- >> Michael Gogins >> Irreducible Productions >> Michael dot Gogins at gmail dot com >> >> >> Send bugs reports to this list. >> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe >> csound" > > -- Michael Gogins Irreducible Productions Michael dot Gogins at gmail dot com