PDA

View Full Version : Delta 44 Playback Quality


Ezekial
10-11-2006, 02:07 PM
Hi, I recently had a thread going in the "Sound Card and Audio I/O Hardware" forum about feeding 24 bit data to a 24 bit audio I/O device. The question was basically how can we be certain that the audio is not being downgraded to 16 bit or some other lesser quality before finally being sent out of the audio I/O device?

I'm a Windows programmer and have written some apps using both the MM WaveOut* API and DirectX's DirectSound. In either of these API's you can specify what format the audio will be sent to the audio I/O device at - but you cannot dictate at what format the audio I/O device will playback the audio.

I now realize I was completely overlooking Window's KMixer system driver in the previous thread. I have both an SB Audigy and an M-Audio Delta 44 in my PC. My understanding is that anything that uses the Window's built in volume control (which is accessable by double clicking on the small speaker icon located in the lower right corner of the screen) is going to have it's audio output routed through the KMixer system driver before going to the audio I/O device for playback.

So, the SB Audigy output will be routed through the KMixer system driver but the M-Audio Delta 44 will not. Based on what I know about KMixer, it can do various processing of audio - changing sample rates and possibly bit resolution. This is needed because if two different apps are playing back audio at the same time at different sample rates and/or bit resolution the two streams must be converted to one audio format before being sent to the audio I/O device since the device can of course only be set to one audio format at any given moment.

Now, it's my understanding that the Delta 44 is not using the KMixer system driver. It comes with it's own configuration tool (the M-Audio Delta Control Panel) which allows you to set the sample rate but not the bit resolution. So, my question is that the Delta 44 must have it's own mechanism similar to the KMixer system driver that mixes two streams together, right?

If so, I'm interested to know how exactly that works as far as sound quality playback. For example, the Delta 44 is capable of playing back at 24bit/96KHz, it would seem pretty obvious that the sample rate is set in the Control Panel as allowed but how do we know what bit resolution the audio is being played back at? Will the Delta 44 always playback at 24 bit? For example, if streams from two different apps are being sent at once, say one is 16 bit and the other is 24 bit, will the 16 bit stream be upsampled to 24 bit, then mixed with the 24 bit stream and be sent to the Delta 44 so that it can always output the audio at 24 bit quality?

Zeke

David Muniz
10-11-2006, 02:57 PM
It plays back the audio according to the settings in your audio app. If the audio app is outputting 24bit, it will play the sample at 24bit. If it is outputting at 16 bit, it will place the sample at 16bit.

As far as mixing sources, I'm not sure how it handles this specifically. My guess would be that it adds zeros for the 16 bit files while 24 bit files are part of the stream.

For a more accurate answer, please contact our Tech Support team via the support form on the M-Audio Website. THey'll be able to get an answer from our developers.

Thanks
D

Ezekial
10-11-2006, 03:21 PM
Good info. Thanks for the quick reply.

Zeke

dcwave
10-11-2006, 03:25 PM
IIRC, the benefit of ASIO is that it bypasses the Kmixer. I would guess that you need some type of bitscope to see what's really going on.

Ezekial
10-11-2006, 03:43 PM
Yeah, the more I think about this the more I think I'm realizing I just want lower level access to the audio I/O device that the API's I've been using don't offer. I miss the old days of sending bit masks straight to the cards. I think I need to learn the ASIO SDK and maybe get into WDM, kernal streaming.

As for bitscoping, I'm not very well versed in hardware. I have to think you would have to apply the bitscope before the digital -> analog conversion, but how would one every begin looking into connecting an external device like a bitscope to the stream of data right before it went to the DAC on the audio I/O device?

Zeke