Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: How to monitor the output band to external DAC (Read 3332 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

How to monitor the output band to external DAC

Hi, if I play from foobar to external DAC, can I somewhere monitor, what format, depth, sampling rate actually transmits over cable out from computer? Used DAC unfortunatelly doesn't display more than stream format LPCM/AAC etc..
I guess that when I'm using WASAPI/ASIO driver which are expected to work in exclusive mode, the sampling and width of source data aren't converted but I'm not sure if that's really so.

Re: How to monitor the output band to external DAC

Reply #1
Hi, if I play from foobar to external DAC, can I somewhere monitor, what format, depth, sampling rate actually transmits over cable out from computer? Used DAC unfortunately doesn't display more than stream format LPCM/AAC etc..
I guess that when I'm using WASAPI/ASIO driver which are expected to work in exclusive mode, the sampling and width of source data aren't converted but I'm not sure if that's really so.

Trouble is, some of this info is pretty well masked at the point the data is fed to the DAC. No matter what the file format, the DAC usually gets a SP/DIF, Toslink, I2S, AES3 or whatever stream that is serial PCM and uses 24 or 32 bit data words. 

Yup, when you pass 16 bit audio data to most DACs it is usually padded out to 24 bits. If the DAC is set to operate in 16 bit mode, it is basically told to ignore the low order bits that are passed to it regardless.

Re: How to monitor the output band to external DAC

Reply #2
I would like to have a 24/192 FLAC file that would acousticaly indicate if it's downsampled somehow. Is there such a killer sample one?
Some DAC's have display or operate LED controls that show what format it's actually playing but not this.
It seems there's no other way to see the DAC receives the audio "untouched".

Re: How to monitor the output band to external DAC

Reply #3
You might try making & playing a 384kHz file, which I assume your DAC doesn't support.  If it plays, it's getting downsampled.

I'm pretty sure the bit-depth is always scaled to match the hardware, even with ASIO or WASAPI exclusive.   If it was not, a 16-bit file would play about 50dB down on a 24-bit DAC (assuming it plays at all) and a 24-bit file into a 16-bit DAC would be "totally clipped", trying to play at about +50dB.


Re: How to monitor the output band to external DAC

Reply #4
I'm pretty sure the bit-depth is always scaled to match the hardware, even with ASIO or WASAPI exclusive.   If it was not, a 16-bit file would play about 50dB down on a 24-bit DAC (assuming it plays at all) and a 24-bit file into a 16-bit DAC would be "totally clipped", trying to play at about +50dB.
That's not correct. A 24 bit file has 8 additional low-order bits, not high-order. If the DAC only supports 16 bits then the upper 16 bits are played.

Re: How to monitor the output band to external DAC

Reply #5
I'm pretty sure the bit-depth is always scaled to match the hardware, even with ASIO or WASAPI exclusive.   If it was not, a 16-bit file would play about 50dB down on a 24-bit DAC (assuming it plays at all) and a 24-bit file into a 16-bit DAC would be "totally clipped", trying to play at about +50dB.
That's not correct. A 24 bit file has 8 additional low-order bits, not high-order.

A 24 bit signed integer is just a number between −8,388,608 and 8,388,607.  The 8 additional low-order bits are only low order because the values are scaled as appropriate to match the range of the DAC. The actual integer values however are just integers; they have no intrinsic scale until you apply one.

If you look at how actual hardware works, you have to format your samples such that they are scaled properly before you can send them over a bus like i2s.  If you try to send 16 bit data to a device expecting 24 without scaling, the result will be corrupted because the hardware has to know where the least significant byte will be and shift appropriately.

Re: How to monitor the output band to external DAC

Reply #6
Quote
That's not correct. A 24 bit file has 8 additional low-order bits, not high-order.
Yes and no...

If you look at the raw numbers, no...   You can't add more lower-order bits to a 16-bit integer because they would be to the right of the decimal point.    

Quote
If the DAC only supports 16 bits then the upper 16 bits are played
If everything is scaled properly, yes...  The maximum is 0dBFS in both cases and with 24-bits the additional resolution is on the low-end.

So my point was...  I think ASIO and WASAPI exclusive will  alter the data to scale the bit-depth properly to match the hardware, even if they won't alter the sample-rate.

The "regular" Windows drivers will alter everything...   I can play that 24-bit 384kHz file with WMP on my cheap motherboard soundchip.

Re: How to monitor the output band to external DAC

Reply #7
Quote
That's not correct. A 24 bit file has 8 additional low-order bits, not high-order.
Yes and no...

If you look at the raw numbers, no...   You can't add more lower-order bits to a 16-bit integer because they would be to the right of the decimal point.    

IOW if you try to add low order bits to an integer, it stops being a true integer and picks up fractional data (and not additional information).