Csound Csound-dev Csound-tekno Search About

[CSOUND-DEV:4090] Re: Major commits to Csound 5

Date2004-02-22 21:39
From"Michael Gogins"
Subject[CSOUND-DEV:4090] Re: Major commits to Csound 5
Since Csound is a musical instrument and double sounds better than float -- 
please try it and see if you agree, listen especially to filtered sounds and
high-index FM sounds -- I firmly believe that Csound 5 should be double by
default.

There will be problems if people don't agree as to sample format, since
plugins must have the same sample size as the host. I don't want to get into
a situation where we have to have plugin32.dll and plugin64.dll for every
opcode.

What's the big deal against double? I think float is sheer inertia. Last
time I checked the running times on Windows, they were essentially the same.
I think there should be a really compelling reason to stick with float if
some people with trained ears think double sounds better.

============================================
Michael Gogins
gogins at pipeline period com
Irreducible Productions
CsoundVST, an extended version of Csound for programming music and sound
Available at http://sourceforge.net/projects/csound/
============================================


----- Original Message ----- 
From: "stevenyi" 
To: "Csound Developers Discussion List" 
Sent: Sunday, February 22, 2004 4:22 PM
Subject: [CSOUND-DEV:4089] Re: Major commits to Csound 5


> Hi Michael,
>
> A couple of things I noticed:
>
> When trying to run xanadu.csd, I get:
>
> Csound version 5.0 beta (double samples) Feb 22 2004
> displays suppressed
> 0dBFS level = 32767.0
> orch now loaded
> audio buffered in 1024 sample-frame blocks
> PortAudio device 0
>   /dev/dsp
>   Maximum channels in:     16
>   Maximum channels out:    16
>   Default sample rate:  44100.000
> PortAudio device 1
>   Intel 82801CA-ICH3
>   Maximum channels in:      2
>   Maximum channels out:     2
>   Default sample rate:  44100.000
> PortAudio error -9996: Invalid device
> unable to open soundcard for audio output
> Segmentation fault
>
> I'm get that using "csound -d -o dac xanadu.csd" as well as "csound -d
> -o /dev/dsp xanadu.csd"
>
> -Should Csound5 be set to use doubles by default?  I realize I can set
> it in configure with --enable-double=no, but I think that most people
> use float versions and would expect to get have that.  Any problems if I
> set that to no by default and commit?
>
> -Xanadu.csd does output to wav no problems. =) (I couldn't get so far
> before).
>
> -From configure, I get both USE_FLTK and USE_TCLTK defined.  Is that
> correct?
>
> Running out the door, will have more later!
>
> steven
>
>
>
>

Date2004-02-22 23:14
FromRichard Dobson
Subject[CSOUND-DEV:4092] Re: Major commits to Csound 5
There is a very big distinction between ~sample~ format, and internal processing 
precision. Doubles are certainly good for the internal processing stages of 
recursive filters and reverbs, but are arguably overkill for just about 
everything else.  pvoc (both streaming and offline) is ~measurably slower~ in 
doubles than in floats, no doubt to a great extent because of cache problems. 
But I don't discount the necessity for carefully designed benchmark tests to 
determine the range of differences in speed for specific tasks. Eliminating the 
possibility of denormal problems reducing the apparent speed difference between 
floats and doubles will be essential here.

All current plugin architectures (specifically VST, DX and AudioUnits) use 
floats as the sample format for the signal stream. efficient compatibility with 
these is a priority. What plugins use internally is entirely up to them. But 
mandating doubles as the default sample format is IMO unnecessary, and will 
certainly not be faster!

I had thought that requiring two versions of plugin opcodes was always going to 
be unavoidable; but there probably are several ways it could be done; e.g. by 
plugins supporting two versions of the opcode, selected at load time.

Richard Dobson


Michael Gogins wrote:

> Since Csound is a musical instrument and double sounds better than float -- 
> please try it and see if you agree, listen especially to filtered sounds and
> high-index FM sounds -- I firmly believe that Csound 5 should be double by
> default.
> 
> There will be problems if people don't agree as to sample format, since
> plugins must have the same sample size as the host. I don't want to get into
> a situation where we have to have plugin32.dll and plugin64.dll for every
> opcode.
> 
> What's the big deal against double? I think float is sheer inertia. Last
> time I checked the running times on Windows, they were essentially the same.
> I think there should be a really compelling reason to stick with float if
> some people with trained ears think double sounds better.
> 

Date2004-02-23 01:30
Fromstevenyi
Subject[CSOUND-DEV:4094] Re: Major commits to Csound 5
I think using doubles all the way through sounds better too, but I've
found it's generally slower to compile a piece.  So I've gotten into the
mindset of rendering with csound for general use and csound64 when
rendering to disk.  I haven't tested the speed difference in a while,
but last I checked it was noticeable in longer pieces I was working on.

Sidenote: It always was strange to me not to have different compilation
targets for csound and csound64.  What do you think of then passing a
compiler flag to determine how to set MYFLT rather than having it in the
autoheader (or wherever it is now) and setting up two targets in the
Makefile?

Another reason to go with floats is for backwards compatibility.  Some
of the analysis utilities won't work with doubles, if I remember
correctly.  Also, I'd venture to say that most people have their
analysis files analyzed using floats.  Doesn't affect me so much as my
.cv files are in 32 and 64, but likely to affect other users.  So, say
if an old Csound user decides to render and older piece of there's,
there shouldn't be any problem for him/her to be able to download csound
and render out of the box.

steven


On Sun, 2004-02-22 at 13:39, Michael Gogins wrote:
> Since Csound is a musical instrument and double sounds better than float -- 
> please try it and see if you agree, listen especially to filtered sounds and
> high-index FM sounds -- I firmly believe that Csound 5 should be double by
> default.
> 
> There will be problems if people don't agree as to sample format, since
> plugins must have the same sample size as the host. I don't want to get into
> a situation where we have to have plugin32.dll and plugin64.dll for every
> opcode.
> 
> What's the big deal against double? I think float is sheer inertia. Last
> time I checked the running times on Windows, they were essentially the same.
> I think there should be a really compelling reason to stick with float if
> some people with trained ears think double sounds better.
> 
> ============================================
> Michael Gogins
> gogins at pipeline period com
> Irreducible Productions
> CsoundVST, an extended version of Csound for programming music and sound
> Available at http://sourceforge.net/projects/csound/
> ============================================
> 
> 
> ----- Original Message ----- 
> From: "stevenyi" 
> To: "Csound Developers Discussion List" 
> Sent: Sunday, February 22, 2004 4:22 PM
> Subject: [CSOUND-DEV:4089] Re: Major commits to Csound 5
> 
> 
> > Hi Michael,
> >
> > A couple of things I noticed:
> >
> > When trying to run xanadu.csd, I get:
> >
> > Csound version 5.0 beta (double samples) Feb 22 2004
> > displays suppressed
> > 0dBFS level = 32767.0
> > orch now loaded
> > audio buffered in 1024 sample-frame blocks
> > PortAudio device 0
> >   /dev/dsp
> >   Maximum channels in:     16
> >   Maximum channels out:    16
> >   Default sample rate:  44100.000
> > PortAudio device 1
> >   Intel 82801CA-ICH3
> >   Maximum channels in:      2
> >   Maximum channels out:     2
> >   Default sample rate:  44100.000
> > PortAudio error -9996: Invalid device
> > unable to open soundcard for audio output
> > Segmentation fault
> >
> > I'm get that using "csound -d -o dac xanadu.csd" as well as "csound -d
> > -o /dev/dsp xanadu.csd"
> >
> > -Should Csound5 be set to use doubles by default?  I realize I can set
> > it in configure with --enable-double=no, but I think that most people
> > use float versions and would expect to get have that.  Any problems if I
> > set that to no by default and commit?
> >
> > -Xanadu.csd does output to wav no problems. =) (I couldn't get so far
> > before).
> >
> > -From configure, I get both USE_FLTK and USE_TCLTK defined.  Is that
> > correct?
> >
> > Running out the door, will have more later!
> >
> > steven
> >
> >
> >
> >
> 
>