Csound Csound-dev Csound-tekno Search About

[Csnd] Doubles versus floats

Date2009-09-29 03:46
Frommichael.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



Date2009-09-29 04:14
FromJacob 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.

Date2009-09-29 07:10
Fromjpff@cs.bath.ac.uk
SubjectRe: [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

Date2009-09-29 07:54
FromAndres 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  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


Date2009-09-29 09:00
FromAndy 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"

Date2009-09-29 10:52
FromVictor 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  
>  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"



Date2009-10-01 20:03
FromFelipe 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

Date2009-10-01 20:32
FromMichael 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  wrote:
> 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
>


-- 
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com