[comp.sys.next] 16-bit Digital Sound: FP or int?

riml@softart.UUCP (Research in Motion Limited) (11/11/88)

[Has anyone wondered about sound fidelity at low levels?]

Here's a set of questions for inquiring minds.

1) Is the "CD" quality 16-bit output of the NeXT using 16-bit INT
   words, or 16-bit Floating point words? (i.e. 3-bit exponent+13
   bit mantissa)

2) Can anyone tell me the exact specification for the CD/DAT digital
   format, or can they point me to documentation available at a library,
   or can they forward this message to the appropriate person or newsgroup?

3) Can anyone tell me if there is a manufacturer of floating point
   Analogue to Digital converters and Digital to Analogue converters?

The reason I ask these questions is simple.  I have been convinced that
the "CD" digital encoding uses floating point.  Why?  If it didn't, low
level signals would be hopelessly distorted due to the lack of information
content in a LINEAR encoding at low levels.  

Thus, LINEAR 16-bit output D/A systems will NOT produce "CD" quality sound.

There has been a lot of hype recently in musical instrument circles about
"16-bit" samplers and reproducers giving "CD" quality sound.  However, 
very few manufacturers discuss the encoding scheme.  Naturally, based on
my assumption above, LINEAR encoding is BAD.  

If my assumptions are incorrect, I would be happy to be told so by an
INFORMED source.  I would also be ecstatic since 16-bit FP D-A converters
are EXPENSIVE!  (I haven't found ONE 16-bit FP A-D converter!)

Michael A. Barnstijn,         USENET:  {uunet|sun|decvax}!watmath!softart!riml
VP Software Systems           PHONE:   (519) 888-7465
Research In Motion Limited    SLOMAIL: Suite 6, 465 Phillip St., Waterloo
                                       Ontario, Canada   N2L 6C7

droid@mcrware.UUCP (Andy Nicholson) (11/14/88)

In article <44@softart.UUCP>, riml@softart.UUCP (Research in Motion Limited) writes:
Stuff about cd quality sound deleted
> The reason I ask these questions is simple.  I have been convinced that
> the "CD" digital encoding uses floating point.  Why?  If it didn't, low
> level signals would be hopelessly distorted due to the lack of information
> content in a LINEAR encoding at low levels.  
> 
> Thus, LINEAR 16-bit output D/A systems will NOT produce "CD" quality sound.
> 
> If my assumptions are incorrect, I would be happy to be told so by an
> INFORMED source.
> 
> Michael A. Barnstijn,         USENET:  {uunet|sun|decvax}!watmath!softart!riml

For those who are interested, Philips publishes a magazine called "Philips
Technical Review".  I can't recall the exact date, sometime in '82 I believe,
they dedicated an issue to CD technology (Philips invented most of it, you
know).  I have read it, but I have it at home and not here, so I can't quote
from it.  Also, my employer, Microware, is involved with software development
for CDI, so I have heard a few things about this as well.

I'm not sure if all this qualifies me as in informed source, but I near as
I can remember, I don't recall ever reading or hearing anything about the
use of non-linear encoding for CD.  In fact, Philips pioneered the use
of oversampling in CD players so they could use (cheaper) 14-bit DAC's
(linear) in early CD players.  The only commercial product I know of that uses
exponential (or floating-point) encoding are Kurzwiel synths which are
18-bit (12 signal, 6 exponent).

As far as the "hopeless" distortion of low-level signals, I'm not sure I
follow.  Techniques like dithering can be used to make low-level signals
sound ok down near the noise floor, and your absolute signal-to-noise ratio
is limited by the precision (# of bits) in your signal.  Use of exponential
DAC's only gives you a greater dynamic range without increasing S/N.
The lowest level signals (0 exponent and small mantissa) are still going
to be buried in the noise.  Quoted S/N ratios are (of course) _maximum_
S/N.  The noise is always going to be at about the same place, it's just
a matter of how far your signal is above it.

Finally, exponential DAC's aren't all that expensive.  Just get a DAC of your
desired bit resolution (8, 10, 12, 14, 16, etc.) and hang a little digitally
controlled op-amp on the output.  Voila!  Exponential DAC.  The exponenent
varies the gain of the op-amp from 1 on up (1, 2, 4, etc.).  You can
build the resistor network on the op-amp to do the conversion.  The Amiga
computer uses this technique (Look at the schematics!).
A really good look at how A/D and D/A works can be found in "Musical
Applications of Microprocessors", by Hal Chamberlain, published by Hayden
Books.  It's in its second edition.

droid@mcrware.UUCP (Andy Nicholson) (11/14/88)

In article <842@mcrware.UUCP>, droid@mcrware.UUCP (Andy Nicholson) writes:
message text deleted

Sorry, for wasting bandwidth, but I should note:

My opinions are my own, and not Micrware's.

Other standard disclaimer apply as well.

Andy Nicholson {sun, uunet}!mcrware!droid

edward@ucbarpa.Berkeley.EDU (Edward Wang) (11/15/88)

In article <44@softart.UUCP> riml@softart.UUCP (Research in Motion Limited) writes:
>The reason I ask these questions is simple.  I have been convinced that
>the "CD" digital encoding uses floating point.  Why?  If it didn't, low
>level signals would be hopelessly distorted due to the lack of information
>content in a LINEAR encoding at low levels.  
> [blah, blah, blah]

CD's use 16-bit fixed point.

Low-level signals are distorted, but they are low level, as in hard to hear.

jeq@laidbak.UUCP (Jonathan E. Quist) (11/18/88)

In article <26814@ucbvax.BERKELEY.EDU> edward@ucbarpa.Berkeley.EDU.UUCP (Edward Wang) writes:
>In article <44@softart.UUCP> riml@softart.UUCP (Research in Motion Limited) writes:
>>The reason I ask these questions is simple.  I have been convinced that
>>the "CD" digital encoding uses floating point.  Why?  If it didn't, low
>>level signals would be hopelessly distorted due to the lack of information
>>content in a LINEAR encoding at low levels.  
>> [blah, blah, blah]
>
>CD's use 16-bit fixed point.
>
>Low-level signals are distorted, but they are low level, as in hard to hear.

Low-level signals are _not_ distorted, at least not "hopelessly",
they just have a lower signal to noise ratio.

In computer sound synthesis, it is common practice to do the numerical
work in floating point, converting to integers for playback.
After the final mix of a piece is completed, the whole thing is scaled
based upon the largest sample, so that the integer version uses the
full scale of the D/A converters.

A floating point digital audio format would have some advantages,
but it will be millions of years before the manufacturers agree on
a format.  :')


jonathan quist
Lachman Associates, Inc.
laidbak!jeq