[Csnd] Doubles versus floats
Date | 2009-09-29 03:46 |
From | michael.gogins@gmail.com |
Subject | [Csnd] Doubles versus floats |
I have completed some basic tests of Csound performance and audio precision, comparing the float configuration of Csound 5.11.1 with the double configuration, both built with MinGW 4.40/MSys and running on Windows XP. I used the examples/python/CsoundPerformanceTest.py script which I have checked into Csound CVS. I performed double-blind ABX listening tests. Over the course of about half an hour, I was able to discriminate two short sections of the test soundfile, rendered at 96000 Hz to a stereo float sample soundfile at ksmps = 1, with 0.08% probability of error. I am reasonably confident that I could have found another spot or two in the soundfile where differences stood out. These were either heavily filtered sounds, or physical models involving delay lines. It is rather tedious to identify these audibly different segments, which are at most a few seconds long, but once identified, one can hear the difference just about every time. I would think that in a very few cases the differences could become artistically significant -- but only in a very few cases. I perfomed performance tests for master-quality rendering (same as for the listening test), CD-quality rendering at 44100 Hz stereo to 16 bit soundfile at ksmps = 100, and real-time audio. I took 8 samples each of master and CD, and 6 samples each of audio rendering. A two-tailed t-test showed that there is a difference in performance between float and double configurations at the P=0.001 confidence level for master quality, P=0.018 confidence level for CD quality, and P=0.049 for real-time performance. We can be reasonably confident then that there is a real advantage in performance of the float configuration over the double configuration. The difference appears to be on the order of 10% to 15% faster for the float configuration. These results are consistent with earlier, simpler tests. At this point, I have reached no conclusion about which configuration to package and release. Regards, Mike |
Date | 2009-09-29 04:14 |
From | Jacob Joaquin |
Subject | [Csnd] Re: Doubles versus floats |
Why not both? I've installed the OS X version that contains both. So much nicer this way as I can develop with csound, and then mix/master with csound64. Best, Jake > At this point, I have reached no conclusion about which configuration to > package and release. |
Date | 2009-09-29 07:10 |
From | jpff@cs.bath.ac.uk |
Subject | Re: [Cs-dev] Doubles versus floats |
> I have completed some basic tests of Csound performance and audio > precision, > comparing the float configuration of Csound 5.11.1 with the double > configuration, both built with MinGW 4.40/MSys and running on Windows XP. > I > used the examples/python/CsoundPerformanceTest.py script which I have > checked into Csound CVS. > ..... I take it this is on 32bit Windows. I am suspecting that on a 64bit machine one might see different results. I suppose I ought to do th eexperiments ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2009-09-29 07:54 |
From | Andres Cabrera |
Subject | [Csnd] Re: Re: Doubles versus floats |
It would be good if there is consistency between platforms. Victor's ideas can be a starting point to allow other platforms to have both the floats and doubles versions installed. It would be great if the names were consistent, oherwise applications using the API will have trouble when built on different systems. Cheers, Andres On Tue, Sep 29, 2009 at 4:14 AM, Jacob Joaquin |
Date | 2009-09-29 09:00 |
From | Andy Fillebrown |
Subject | [Csnd] Re: Re: Re: Doubles versus floats |
I need both version, too. I'm using the 64 bit version for rendering audio files in AudioCarver due to issues with line segments and low krates in the 32 bit version, and I'm using the 32 bit version for playback and table generation. If the 32 bit version was not packaged then I would have to rework AudioCarver's table code since I'm accessing Csound tables directly by pointer for use in OpenGL, which only uses 32 bit buffers, and if the 64 bit version was not packaged then I would have to rework my entire score generation method to work around the line segment roundoff error issue at low krates. I'm sorry to be requesting this so late but I didn't realize the Windows packages would only be including one or the other and not both. ~ andy.f ----- Original Message ----- From: "Andres Cabrera" <mantaraya36@gmail.com> To: csound@lists.bath.ac.uk Sent: Tuesday, September 29, 2009 2:54:05 AM (GMT-0500) America/New_York Subject: [Csnd] Re: Re: Doubles versus floats It would be good if there is consistency between platforms. Victor's ideas can be a starting point to allow other platforms to have both the floats and doubles versions installed. It would be great if the names were consistent, oherwise applications using the API will have trouble when built on different systems. Cheers, Andres On Tue, Sep 29, 2009 at 4:14 AM, Jacob Joaquin <jacobjoaquin@gmail.com> wrote: > Why not both? I've installed the OS X version that contains both. So > much nicer this way as I can develop with csound, and then mix/master > with csound64. > > Best, > Jake > >> At this point, I have reached no conclusion about which configuration to >> package and release. > > > Send bugs reports to this list. > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" > -- Andrés Send bugs reports to this list. To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2009-09-29 10:52 |
From | Victor Lazzarini |
Subject | [Csnd] Re: Re: Re: Doubles versus floats |
I had the impression that the DLL name on Windows had 32 or 64 appended to it already. In that case, I don't see a problem in distributing both, also since OPCODEDIR and OPCODEDIR64 are different directories. Executables could have 64 appended to the name. The only big decision I had to make was which version of the language wrappers to install in the python framework, and I chose the 32 bit ones. The 64 bit still get distributed but they are not installed and the user would have to do it manually. Victor On 29 Sep 2009, at 07:54, Andres Cabrera wrote: > It would be good if there is consistency between platforms. Victor's > ideas can be a starting point to allow other platforms to have both > the floats and doubles versions installed. It would be great if the > names were consistent, oherwise applications using the API will have > trouble when built on different systems. > > Cheers, > Andres > > On Tue, Sep 29, 2009 at 4:14 AM, Jacob Joaquin > |
Date | 2009-10-01 20:03 |
From | Felipe Sateler |
Subject | [Csnd] Re: Doubles versus floats |
On Mon, 2009-09-28 at 22:46 -0400, michael.gogins@gmail.com wrote: > I have completed some basic tests of Csound performance and audio > precision, > comparing the float configuration of Csound 5.11.1 with the double > configuration, both built with MinGW 4.40/MSys and running on Windows > XP. I > used the examples/python/CsoundPerformanceTest.py script which I have > checked into Csound CVS. Is it possible to have a score that doesn't use STK? the STK opcodes are not available in debian. -- Saludos, Felipe Sateler |
Date | 2009-10-01 20:32 |
From | Michael Gogins |
Subject | [Csnd] Re: Re: Doubles versus floats |
Yes, I will update the script to omit the STK instruments and book it into CVS ASAP. Regards, Mike On 10/1/09, Felipe Sateler |