[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

sound cards, bit depth and the Windows mixer



Dear list,

Does anyone know how the Windows "Volume Control" mixer
is implemented. Possibly it is soundcard and driver dependent.
My reason for asking...

We were recently doing some basic tests on new soundcards
(Edirol UA20 USB card, Echo Mia PCI card). Both are nominally
24-bit. We wanted to verify the dynamic range to at least 16
bits, so we prepared 16-bit sound files with 1-kHz pure tones
of various bit depths. The ultimate test was a 1 bit (dithered)
signal. We viewed the ouput on a 'scope. Both cards passed
with flying colours - the 1-bit signal was clearly visible, with
little noise apparent - other than the 1-bit dither we added).

Then we wondered whether full bit depth was only achieved
if the system volume was on full (i.e. does turning down the
volume lose bits). Intsallng the Echo Mia "pure wave" driver
forced the system volume to full, but for the Edirol it was still
adjustable. So we played our 1-bit signal and turned down
the volume. The image on the 'scope scaled down nicely, but
was eventually overcome by noise. So, no bit depth was being
lost for this signal, but of course the soundcard has 24 bits,
so the other 8 could be used for implementing digital volume
control and mixing. If so, presumably a 16-bit card would not
have behaved in this way. Is that the case?

I can think of one alternative, but I think it unlikely. Could
the card have several DACs for converting the different sources
in the mixer (wav, CD, system sounds etc.) and an analogue
mixer under control of the computer. This seems relatively
complex and less satifying as an engineering solution, because
it's generally better to minimise analogue circuitry. Maybe some
soundcards do it though. Does anyone know?

John.



Dr. John F. Culling (Senior Lecturer)
School of Psychology,
Cardiff University.
Tower Building, Park Place,
Cardiff
CF10 3AT
Tel. +44 29 208 74523
FAX +44 29 208 74858
www.cf.ac.uk/psych/home/cullingj1/