Re: [linux-audio-dev] cpu/disk tradeoff

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] cpu/disk tradeoff
From: Paul Barton-Davis (pbd_AT_Op.Net)
Date: to loka   14 1999 - 22:25:53 EDT


In message <87zoxljw0v.fsf_AT_flophouse.localnet>you write:
>Paul Barton-Davis <pbd_AT_Op.Net> writes:
>> 16 bit is completely inadequate for professsional audio intermediate
>> storage and manipulation. Its adequate for the final result, IMHO, but
>> thats not the same thing at all, as many people have pointed out.
>
>Why not use 32-bit int for your intermediate results? a 4-byte float
>wastes a lot of its representational ability on numbers way, way
>beyond the bounds of what you need to be able to operate on for audio.

my main reason is the cost on the Pentium of converting back and
forth. but i have also read compelling arguments on why
float makes sense over on the Csound mailing list.

[ aside: are people here familiar with our benchmarking of short/float
  conversion on the Csound list earlier this year ? Ed Hall managed to
  speed up a simple "how many table-driven sine wave oscillators can
  we support on a CPU" benchmark. The primary speedup came from
  getting rid of short/float conversions. The speedup was
  incredible. The original version of the program could do about 40
  oscillators on my PII-450 (its single-threaded); Ed's final version
  could do more than 500! It was also interesting to notice how vastly
  superior the MIPS processor was: about 5 times as fast as its clock
  speed equivalent Pentium-II.
]

>If you're interested in serving even the semi-pro audio world, you
>want to be able to handle 24-bit input and output.

that happens at a different level. handling ADAT data that is
streaming in from a tape is done by (1) a device driver and then (2)
one of hdr's "source" objects. The source provides float data to
anyone who reads data from it. the same thing would apply if we were
streaming to tape (not an imagined use for the program "hdr", but not
impossible), it would be handled by (1) a destination object and then
(2) a device driver. The destination accepts float data, and
eventually sends out whatever the device needs.

--p


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:27:59 EST