Kernel streaming DSD limitations

The internal sampling rate of a DSD 256 or 512 file goes below the input quality when kernel streaming, then being upsampled towards the hardware audio device. Using Asio, I see that it is upkeeping the resolution as far as it gets until it reaches limits of the hardware audio device, that is 24/192 kHz. WASAPI doesn’t keep up sampling rate on the route either. DSD anyway gets PCM converted right at the beginning of the chain.

So, is it that kernel streaming cannot route high DSD resolutions?

OS: Windows 10
HW: Steinberg UR 44C

Kernel does not support DSD. At any rate.
ASIO does.

When the steinberg interface supports DoP you can play DSD over Kernel. But only at half the bandwith compared to ASIO.

edit: I don’t see that the steinberg interface supports DSD. Apparently I don’t understand the question.

1 Like

Thanks for the fast reply. I’m not technically firm in the way you have just clarified. Thanks again.

What exactly do you want to achieve? Want to play native DSD? Or convert DSD to the highest possible PCM (24/192)?

When I look at the specifications of the DAC it only supports PCM up to 24/192.

You can select ASIO and then copy the Debug info. If you post it here we can see what is possible

What do I want to achieve? Considering my UR44C device, I want to achieve the closest/highest streaming quality with the lowest possible altering of the original DSD25/512 input.

And it seems ASIO would be the best possible option here.

:notes: :eye: :headphones: :eye: :notes: @Gorch The Steinberg interface does not support DSD at any resolution Fs… It supports PCM to maximum sample-rate of 192kHz and 24 and 32bit bit depths… You will need to down-convert DSDxxx to PCM 192kHz…

@Agoldnear, thanks for reply. Please read carefully. I do understand that downsampling is required at the device. However, downsampling to 44.1 kHz at the beginning of the signal chain, then upsampling to 192 kHz within Audirvana is not the intended way of processing. Know what I mean?

To my knowledge, only the ASIO api performs adequately. That’s what I have learned so far.

:notes: :eye: :headphones: :eye: :notes: You’ll need down-convert DSDxxx to PCM 192kHz via an offline process and play the 192kHz files in Audirvana…

:notes: :eye: :headphones: :eye: :notes: @Gorch I suggest you down-convert the DSDxxx files to PCM 176.4kHz

If your DAC doesn’t play DSD, just put convert to PCM in DAC settings of Audirvana
Audirvana will then play the DSD tracks at PCM 24/176, no upsampling, it convert them on the fly…

My DAC stop at DSD128 so when i play a DSD256 it convert the file on the fly to 24/352
because my DAC stop at PCM384, so for you it will be 24/176

2 Likes

Thanks. I have played with the settings and it converts automatically to PCM 176.4 in ASIO regardless of the “DSD over PCM” value selected. It even works for “None convert to PCM”. The level will be held all the way through into the device. I have understood a lot on this discussion though.

:notes: :eye: :headphones: :eye: :notes: @RunHomeSlow … Good to know… I’ve always down-converted DSDxxx via offline processing, never thinking that AS has this function or I just forgot that it does this, and never needed to employ it… On the macOS, do you have any insight as to where in the signal processing chain, the conversion to PCM is done? Is the conversion to 24/176.4kHz done before the signal being introduced to the AU plug-in architecture?

No.
really not an expert in that field, if i’m one in somewhere :slight_smile:
but looking here in that chain where you put your prefs for plugins
or upsample or whatever, you should see the path here… i think… (see picture)

Mine is always applying a little more bass to all files being played on Studio,
but i know now that my EQ is not applied when playing .dsf files on Studio…

I can only assume. Based on what Audirvana shows in the graphical representation of the process and what is possible.

The first step is loading and decoding. If the file format is converted then it will happen here. :arrow_right: all possible DSP. :arrow_right: possible upsampling. :arrow_right: communication to the USB/UPnP.

Why the decoding step does something different based on the driver of the DAC, which are two different steps in the process, is not clear to me. Unless the decoding takes into account the maximum sample rate of the DAC and this is not the same depending of different drivers(settings).

In this case, the DAC is not a hi-fi dac but a device for production (semi-professional). The users will have different wishes. The ASIO driver is most suitable for this (eg low latency) and a development of Steinberg itself.

@Agoldnear, certainly no need to externally convert audio files since Audirvana does it for you. Even thoug you would have converted manually to say 176.4 kHz, it doesn’t mean that the file would be 1:1 streamed in the audio processing of Audirvana. The Audio page in the configs is the one that tells you the “truth”. On Windows I’m having three interfaces to play with, WASAPI, ASIO, and Kernel Streaming.

So, for the case being, DSD format data input, with ASIO I can see optimal conversion handling. DSD512 i.e. gets converted right at the first stage, in the load stage. Then it holds the level until reaching the device.

Switching to Kernel Streaming it shows downsampling to 44.1 kHz, processing another step on that level before upsampling to the desired level.

See the difference?

But upsampling is disabled. I wonder what really happened here. Can you post the Debug info? 1x with kernel and 1x with ASIO. Hopefully Antoine can provide more insight tomorrow. This truth does not seem to be logical.

This is also strange.

Debug Info “ASIO” stage:

Audirvana Studio 1.11.0 (11100)

Windows 10 (19043) with 16GB physical RAM

Connected account of : Dirk Fokken

SIGNAL PROCESSING:

Polarity Inversion:
	Globally: OFF
	Per track: OFF
Effects plugins NOT ACTIVE

UPSAMPLING:
r8brain not in use
r8brain filter parameters
Bandwidth = 64.5357%
Stop band attenuation 135.357dB
Phase linear

AUDIO VOLUME:
Max allowed volume: 100
Replay Gain: None
SW volume control: OFF

LIBRARY SETTINGS:
Sync list: 1 folders
AUTO: D:\OneDrive\Musik\BibliothekHiRes
Library database path: C:\Users\gorch\AppData\Local\Audirvana\Audirvana\AudirvanaDatabase.sqlite

Remote Control server:
Listening on 192.168.178.36 on port 55464

ACTIVE STREAMING SERVICES
Qobuz: Connected as Qobuz Studio

=================== AUDIO DEVICE ========================

Max. memory for audio buffers: 10738MB

Local Audio Engine: ASIO ASIO 2 driver version 65536

Preferred device:
Yamaha Steinberg USB ASIO
Model UID:Yamaha Steinberg USB ASIO
UID:Yamaha Steinberg USB ASIO

Currently playing in Integer Mode:
Device: 6ch 32bits Integer, 24 bytes per frame 176.4kHz

Active Sample Rate: 176.4kHz

Bridge settings:
Sample rate limitation: none
Sample rate switching latency: none
Limit bitdepth to 24bit: OFF
Mute during sample rate change: ON

Selected device:
Local audio device
Yamaha Steinberg USB ASIO
Manufacturer:
Model Name: Yamaha Steinberg USB ASIO
Model UID: Yamaha Steinberg USB ASIO
UID: Yamaha Steinberg USB ASIO

6 available sample rates up to 192000Hz
44100
48000
88200
96000
176400
192000
Volume Control
Physical: No
Virtual: No
MQA capability
Auto-detect MQA devices: Yes
Not a MQA device, user set to not MQA
DSD capability: Unhandled
Device audio channels
Multichannel: 6 channels
Preferred stereo channels L:0 R:1
Channel bitmap: Ox3f, layout:
Channel 0 mapped to 0
Channel 1 mapped to 1
Channel 2 mapped to 2
Channel 3 mapped to 3
Channel 4 mapped to 4
Channel 5 mapped to 5

Audio channels in use
Number of channels: 6
Use as stereo device only: No
Simple stereo device: No

1 output streams:
Number of active channels: 6, in 1 stream(s)
Channel #0 :Stream 0 channel 0
Channel #1 :Stream 0 channel 1
Channel #2 :Stream 0 channel 2
Channel #3 :Stream 0 channel 3
Channel #4 :Stream 0 channel 4
Channel #5 :Stream 0 channel 5
6 ch Integer PCM 32bit little endian 44.1kHz
6 ch Integer PCM 32bit little endian 48kHz
6 ch Integer PCM 32bit little endian 88.2kHz
6 ch Integer PCM 32bit little endian 96kHz
6 ch Integer PCM 32bit little endian 176.4kHz
6 ch Integer PCM 32bit little endian 192kHz

Local devices found : 4
Device #0: ASIO4ALL v2 Manufacturer: Model UID: ASIO4ALL v2 UID: ASIO4ALL v2 Model Name: ASIO4ALL v2
Device #1: Generic Low Latency ASIO Driver Manufacturer: Model UID: Generic Low Latency ASIO Driver UID: Generic Low Latency ASIO Driver Model Name: Generic Low Latency ASIO Driver
Device #2: Realtek ASIO Manufacturer: Model UID: Realtek ASIO UID: Realtek ASIO Model Name: Realtek ASIO
Device #3: Yamaha Steinberg USB ASIO Manufacturer: Model UID: Yamaha Steinberg USB ASIO UID: Yamaha Steinberg USB ASIO Model Name: Yamaha Steinberg USB ASIO

UPnP devices found : 0

Debug info “Kernel Streaming” stage:

Audirvana Studio 1.11.0 (11100)

Windows 10 (19043) with 16GB physical RAM

Connected account of : Dirk Fokken

SIGNAL PROCESSING:

Polarity Inversion:
	Globally: OFF
	Per track: OFF
Effects plugins NOT ACTIVE

UPSAMPLING:
r8brain not in use
r8brain filter parameters
Bandwidth = 64.5357%
Stop band attenuation 135.357dB
Phase linear

AUDIO VOLUME:
Max allowed volume: 100
Replay Gain: None
SW volume control: OFF

LIBRARY SETTINGS:
Sync list: 1 folders
AUTO: D:\OneDrive\Musik\BibliothekHiRes
Library database path: C:\Users\gorch\AppData\Local\Audirvana\Audirvana\AudirvanaDatabase.sqlite

Remote Control server:
Listening on 192.168.178.36 on port 55464

ACTIVE STREAMING SERVICES
Qobuz: Connected as Qobuz Studio

=================== AUDIO DEVICE ========================

Max. memory for audio buffers: 10738MB

Local Audio Engine: Kernel Streaming

Preferred device:
Line (Steinberg UR44C)
Model UID:USB\VID_0499&PID_1730&REV_0101
UID:\?\SWD#MMDEVAPI#{0.0.0.00000000}.{7bb05b7a-e9c4-4c27-9cb6-96e6de3d6ddf}#{e6327cad-dcec-4949-ae8a-991e976a79d2}

Currently playing in Integer Mode:
Device: 2ch 24bits Integer, 6 bytes per frame 192kHz

Active Sample Rate: 192kHz

Bridge settings:
Sample rate limitation: none
Sample rate switching latency: none
Limit bitdepth to 24bit: OFF
Mute during sample rate change: ON

Selected device:
Local audio device
Line (Steinberg UR44C)
Manufacturer: Yamaha Corporation.
Model Name: Steinberg UR44C
Model UID: USB\VID_0499&PID_1730&REV_0101
UID: \?\SWD#MMDEVAPI#{0.0.0.00000000}.{7bb05b7a-e9c4-4c27-9cb6-96e6de3d6ddf}#{e6327cad-dcec-4949-ae8a-991e976a79d2}
Kernel Streaming capable

1 available sample rates up to 192000Hz
192000
Volume Control
Physical: No
Virtual: No
MQA capability
Auto-detect MQA devices: Yes
Not a MQA device, user set to not MQA
DSD capability: Unhandled
Device audio channels
Preferred stereo channels L:0 R:1
Channel bitmap: Ox3, layout:
Channel 0 mapped to 0
Channel 1 mapped to 1

Audio channels in use
Number of channels: 2
Use as stereo device only: No
Simple stereo device: No

1 output streams:
Number of active channels: 2, in 1 stream(s)
Channel #0 :Stream 0 channel 0
Channel #1 :Stream 0 channel 1
2 ch Integer PCM 24bit little endian 192kHz

Local devices found : 2
Device #0: Lautsprecher (Realtek High Definition Audio) Manufacturer: Realtek Model UID: HDAUDIO\FUNC_01&VEN_10EC&DEV_0892&SUBSYS_14621139&REV_1003 UID: \?\SWD#MMDEVAPI#{0.0.0.00000000}.{826f7587-53d6-4cde-a678-3ef81a039f91}#{e6327cad-dcec-4949-ae8a-991e976a79d2} Model Name: Unknown manufacturer
Device #1: Line (Steinberg UR44C) Manufacturer: Yamaha Corporation. Model UID: USB\VID_0499&PID_1730&REV_0101 UID: \?\SWD#MMDEVAPI#{0.0.0.00000000}.{7bb05b7a-e9c4-4c27-9cb6-96e6de3d6ddf}#{e6327cad-dcec-4949-ae8a-991e976a79d2} Model Name: Steinberg UR44C

UPnP devices found : 0

In WASAPI do you get the same result? Have you tried Steinberg drivers? are you using the asio4all now? Are there any other drivers?

@Jacob, the fixed 192 bandwidth is a hard setting made at the device. Audirvana does not automatically control the device. So, I have to manually set the bandwidth using the device controller. Lazy as I am, I keep it set to the largest value. That seems to result in the other values being disabled. I don’t know really as I haven’t analyzed in any way. If I could lookt into the details at all.

My prior device had been automatically controllable by Audirvana 3.5. It had been a Terratec DMX 6fire. A very trustful device for many years with surprisingly great sound. With the upcoming of highres it came to limits. Just as a side step here.

What if you set the device to 176.4?

For a pro device it makes more sense that you opt for a sample rate and not switch automatically. It is a different application for which you buy this device than listening to music at home. He’s perfectly suited for both. Just different.