• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

USB dac that shows bit depth on display?

Vincent Kars

Addicted to Fun and Learning
Technical Expert
Joined
Mar 1, 2016
Messages
812
Likes
1,660
the manual is wrong.
Is it?

To the best of my knowledge, in case of async USB, the DAC does the buffer management and because of this can use a free running clock.
However, how does the DAC knows it has to play a file at e.g. a 96 kHz and not at 44.1?
As USB is bidirectional, I expect the host to tell the DAC what to do using the control protocol.
 
Last edited:

dougi

Addicted to Fun and Learning
Joined
May 31, 2020
Messages
846
Likes
767
Location
ACT, Australia
btw, the manual is wrong. The device measures and compares actual and target sample rates in USB mode and tells the USB source to speed up or slow the transfer data rate so as to stay in sync. Only the coarse rate must be similar to begin with, can't sync 44.1k to 48k etc
Yeah, I've specifically use it to check that REW was generating the correct bit depth, given Java option only allows 16 so very useful to use it to check whatever ASIO driver is actually producing 24 bit!
 

Bullwinkle J Moose

Active Member
Joined
Mar 31, 2021
Messages
217
Likes
90
What would it display?

The bitdepth that you set Windows to?

The maximum (peak) bitdepth of the current song being played?

The average bitdepth of the current song being played?

The DAC will accept whatever you give it up to the limit of what it can handle

Average and peak dynamic range may be more appropriate

Buy yourself a VU meter

Bitdepth would constantly change over time in a song, and each song would be different

one may peak at 14 bits and the next at 18
one may average at 12 bits and another at 14 bits

The only constant is the Sampling Rate
 
Last edited:
OP
K

KarlAllemyr

Member
Joined
May 13, 2021
Messages
10
Likes
1
If you are looking at Raspberry Pi based streamers, Moode has an 'Audio Info' screen that shows both input and output bit depth and sample rate. A nice way to confirm DSP/resampling works.
What would it display?

The bitdepth that you set Windows to?

The maximum (peak) bitdepth of the current song being played?

The average bitdepth of the current song being played?

The output bit depth ofcourse. If you dont use bit perfect (Wasapi) and don't bypass the control panel settings in Windows then ofcourse that output is shown what you have set in control panel. If you use Wasapi Exclusive Mode then the song bitdepth and sample rate is displayed. That what I'am looking for. Thought that it was pretty clear already
 

DWPress

Major Contributor
Forum Donor
Joined
May 30, 2018
Messages
1,065
Likes
1,538
Location
MI
Okto Dac8Pro does but they are currently unobtanium.
 

mansr

Major Contributor
Joined
Oct 5, 2018
Messages
4,685
Likes
10,709
Location
Hampshire
However, how does the DAC knows it has to play a file at e.g. a 96 kHz and not at 44.1?
As USB is unidirectional, I expect the host to tell the DAC what to do using the control protocol.
The DAC advertises its supported sample rates, and the host tells it which one to use. USB is bidirectional, btw.
 

LTig

Master Contributor
Forum Donor
Joined
Feb 27, 2019
Messages
5,882
Likes
9,666
Location
Europe
Is it?

To the best of my knowledge, in case of async USB, the DAC does the buffer management and because of this can use a free running clock.
However, how does the DAC knows it has to play a file at e.g. a 96 kHz and not at 44.1?
As USB is unidirectional, I expect the host to tell the DAC what to do using the control protocol.
Maybe @MC_RME can shed some light.
 

KSTR

Major Contributor
Joined
Sep 6, 2018
Messages
2,847
Likes
6,386
Location
Berlin, Germany
@LTig &
Is it?

To the best of my knowledge, in case of async USB, the DAC does the buffer management and because of this can use a free running clock.
However, how does the DAC knows it has to play a file at e.g. a 96 kHz and not at 44.1?
As USB is unidirectional, I expect the host to tell the DAC what to do using the control protocol.
This is correct.
In USB asynchronous isochronous mode, the driver asks the device if it can accept /switch to) the nominal sample rate of the data to be played (or recorded). In internal clock mode (default), the RME just switches its internal oscillator accordingly. In external clock mode, say, synced from another RME in cascade via TOSLINK, it checks whether the sample rate matches nominally to the current external rate and accepts it if it is the same,
In actual operation, the "clocking" of the USB data stream is adjusted by the device (a feedback loop in the USB protocol) so that buffers remain filled properly.
 

Martini

Active Member
Forum Donor
Joined
Jun 13, 2020
Messages
294
Likes
306
Benchmark does it to a limited extent via LED indicators and I've found it more informative than my previous DAC which only gave sample rate:

- From DAC3 B manual -
Tip: Computers, disk players, and streaming
devices often subject the digital signal to
sample rate conversion, changes in word
length, PCM to DSD conversions, and other
forms of digital processing that may degrade
the quality of the audio. This display makes it
easy to detect these processes.

Word Length Indicators
The 16 and 24 lights indicate the measured
word length of the selected digital input. The
DAC3 detects active data bits and displays
the results as follows:
16 Only - Measured input word length is 16 bits.
16 and 24 - Measured input word length is 17 to 23 bits.
24 Only - Measured input word length is 24 bits.
Both Off - Measured input word length is less than 16 bits.
 

Ralph_Cramden

Major Contributor
Joined
Dec 6, 2020
Messages
2,616
Likes
3,546
My RME DAC displays it, but so does Jivelite on my $60 touchscreen Squeezebox Touch clone.

68398B7B-C5A9-4735-B280-058184ED872D.jpeg
 

voodooless

Grand Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
10,492
Likes
18,559
Location
Netherlands
Funny that in 2 pages nobody asked why the OP wants this feature?

So, why do you want to see the bit depth?
 
OP
K

KarlAllemyr

Member
Joined
May 13, 2021
Messages
10
Likes
1
Funny that in 2 pages nobody asked why the OP wants this feature?

So, why do you want to see the bit depth?

Yes nobody asked but I wrote in in post #10 :"But there is several products/streamers with USB output. Raspberry Pi is a very cheap alternative, and the Pro-Ject Stream Box S2 Ultra for 800 euros. Looks like it is a Respberry Pi. But using these streamers with no interface seams risky, very risky. How do you know what the output is?"
 

Bullwinkle J Moose

Active Member
Joined
Mar 31, 2021
Messages
217
Likes
90
The output bit depth ofcourse. If you dont use bit perfect (Wasapi) and don't bypass the control panel settings in Windows then ofcourse that output is shown what you have set in control panel. If you use Wasapi Exclusive Mode then the song bitdepth and sample rate is displayed. That what I'am looking for. Thought that it was pretty clear already

Song bitdepth changes for every song

You may set Windows to 32 bit, but the song may only be 18 bit peak or 10 bit average

Thought that was pretty clear already

A bitdepth display does not tell you anything about a songs bitdepth
A songs bitdepth changes over time

A bitdepth display for songs would change so quickly as to be unusable

You need a bar graph display or VU meter to display average or peak levels of the songs, not a bitdepth display

A bitdepth display is less than useless

Are we clear?

I said...... ARE WE CLEAR????

Hello?

HELLO?

Tap Tap Tap...........

Is this thing on?
 
Last edited:

Bamyasi

Senior Member
Joined
Feb 19, 2019
Messages
491
Likes
357
A bitdepth display does not tell you anything about a songs bitdepth
A songs bitdepth changes over time.
There is no such thing as song's bitdepth. We are talking sending digital signal streams over USB here, does not matter if the stream encodes complete silence or full amplitude harmonic at 1 kHz. This does not affect the format used to transfer this digital stream at all.

BTW, my Matrix Audio X-Sabre PRO DAC shows both sample rate and bit depth on its display during playback (with any input selected, including USB of course).
 
Last edited:

Bullwinkle J Moose

Active Member
Joined
Mar 31, 2021
Messages
217
Likes
90
There is no such thing as song's bitdepth. We are talking sending digital signal streams over USB here, does not matter if the stream encodes complete silence or full amplitude harmonic at 1 kHz. This does not affect the format used to transfer this digital stream at all.

BTW, my Matrix Audio X-Sabre PRO DAC shows both sample rate and bit depth on its display during playback (with any input selected, including the USB of course).
EXACTLY!

If you set Windows to send a 32 bit stream over USB, then there is no need for a bit depth display

It is ALWAYS a 32 bit stream, even if the recording was 24 bit and the song peaks at 22 bits

A display would not tell you anything that you do not already know

Why would you need to know that a song is 24 bits if it was converted to 24 bits from16 bits anyway?

A bit depth display for the song / or the USB stream is not an accurate indication of the songs actual bit depth

converting an 8 bit file to 24 bits does not make the song 24 bits even though your meter says 24 bits

You need a VU meter

If I set Windows to 32 bits, then convert a song from 16 bits to 24 bits, then whatever your bit depth meter displays is WRONG!

Even if I leave Windows at 16 bits and leave the file at 16 bits, the bit depth meter will not tell me the actual peak bit depth of the song unless I record it to clipping levels

If the song does not clip, then you are not getting the full 16 bits

Your bit depth meter will be wrong regardless of what it measures
 
Last edited:

Bamyasi

Senior Member
Joined
Feb 19, 2019
Messages
491
Likes
357
Oh, and you can easily check the format of currently played stream with any Pi-based streamer, if you don't mind learning a few Linux console mode commands.

This is my DietPi OS Pi4 streamer playing back tracks from GGP/RMX album from GoGo Penguins (2021), streamed from Qobuz via BubbleUPnP. Streamer has its USB output connected via USB port on the Matrix Audio X-SPDIF 2 USB audio interface. The advertised album format is 24 bit / 48 kHz:
Code:
$ ssh root@dietpi4
root@dietpi4's password:  **********
Linux DietPi4 5.10.17-v8+ #1414 SMP PREEMPT Fri Apr 30 13:23:25 BST 2021 aarch64

# cat /proc/asound/card1/stream0
Matrix Audio X-SPDIF 2 at usb-0000:01:00.0-1.4, high speed : USB Audio
Playback:
  Status: Running
    Interface = 1
    Altset = 1
    Packet Size = 72
    Momentary freq = 48006 Hz (0x6.0030)      <=== real time momentarily sampling rate (~48kHz)
    Feedback Format = 16.16
  Interface 1
    Altset 1
    Format: S32_LE                            <=== this is actual format selected to transport data (32-bit)
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
    Bits: 24                                  <=== bits per sample (bit depth) in the original stream
    Channel map: FL FR                        <=== two-channel stereo format

ALSA can look intimidating at times but at least it is well documented and Google knows that.
 
Last edited:

Bamyasi

Senior Member
Joined
Feb 19, 2019
Messages
491
Likes
357
EXACTLY!
If you set Windows to send a 32 bit stream over USB, then there is no need for a bit depth display
I do not use Windows and most music streamers also use some form of Linux. In Linux, bit depth conversion, if necessary, is done automatically while negotiating audio cababilities between USB host (streamer) and USB slave (e.g. DAC) at the beginning of USB connection session. Many DACs support either 16 or 32 bit but not 24 bit (due to internal architecture of their MCU), so 24 bit streams get padded with zeros to 32 bits (and you do not need to configure anything for this to work). But this has nothing to do with the original format of the recorded track streamed from the server. Some people like to see what they get, especially if they've paid money for the service. I see nothing wrong with that.
 
Last edited:

Bullwinkle J Moose

Active Member
Joined
Mar 31, 2021
Messages
217
Likes
90
I do not use Windows and most music streamers also use some form of Linux. In Linux, bit depth conversion, if necessary, is done automatically while negotiating audio cababilities between USB host (streamer) and USB slave (e.g. DAC) at the beginning of USB connection session. Many DACs support either 16 or 32 bit but not 24 bit (due to internal architecture of their MCU), so 24 bit streams get padded with zeros to 32 bits (and you do not need to configure anything for this to work). But this has nothing to do with the original format of the recorded track streamed from the server. Some people like to see what they get, especially if they've paid money for the service. I see nothing wrong with that.

Make yourself a bar graph dB display with peak hold

Or play the file in Audition and set the dB display for peak hold

A bit depth display will not tell you what the song actually is

Peak dynamic range will tell you exactly what the maximum number of bit were used for the song

Saving a song as a 24 or 32 bit file does not tell you the number of bits used for the song itself or how it was originally recorded

A bit depth readout is worthless for telling you what you are actually playing but peak dynamic range would (sort of)

even dynamic range can be tweaked during conversion so you would never know what the original recording actually was

You are digging for fools gold
 
Last edited:
Top Bottom