Plugins and Upsampling. Wrong order

I’m not sure that you understand what I posted regarding the signal flow…

If the plug-in architecture was subsequent of the up-sampling processing, I would not be able to see the plug-in when PCM files are being modulated (up-sampled) to DSD128, because there is no DSP processing of 1-bit DSD files of any sample-rate… So, if the signal was modulated (up-sampled) to DSD128 before being routed through the plug-in architecture, I would not be able to see the plug-in, because that module would be bypassed, because the architecture is now seeing a DSD128 file not a PCM file. … There is no DSP applied to DSD files due to the 1-bit format…

:notes: :eye: :headphones: :eye: :notes:

Not at all what I was saying, my friend.

The question was asked whether the OP thought r8brain or the Qutest had better upsampling and filtering. Rather than speculating, I found measurements for r8brain and wondered whether anything similar existed for the Qutest. That’s all, just interested in whether anyone might have any additional information that might prove useful to others.

No… This was the question posed:

You are presuming the specific nature of the question as being an assertion… The factual operational design architecture of Chord DAC WTA technology is relevant, and whether or not to utilize r8Brain in the context of the Chord DAC is at the sole discretion of the OP based on their understanding of the question and the relevance of the question to their playback strategy.

1 Like

We agree.

Order should be: Dirac Plugin → Upsampling to PCM 768 → Chord DAC (bypass 1. step filters)
Order is: Upsampling (max 192 kHz, upsampling to 768: Dirac Plugin will not work) ->Dirac Plugin → Chor DAC with 1. step filters.

Prove that the signal flow is in correct… I have already proved that you are somehow misinterpreting the signal flow through the processing modules…

Are you playing MQA files?
Are you using a Custom up-sampling setting rather than Power of Two?

:notes: :eye: :headphones: :eye: :notes:

Signal flow is: … upsampling → plugins → dac
audirvana claims: … plugins → upsampling → dac
If I use upsampling up to 192 kHz the plugin works, if i upsample to 768 or 384 (PCM) the plugin does not work. (My Dirac plugin does only work with inputs up to 192 kHz.)

But I understand your point. " So, if the signal was modulated (up-sampled) to DSD128 before being routed through the plug-in architecture, I would not be able to see the plug-in, because that module would be bypassed, because the architecture is now seeing a DSD128 file not a PCM file."
That means, audirvana gets some information from the plugins, before working on the chain. Dirac “tells” audirvana to upsample first, your plugin tells it to keep the order.

1 Like

That’s not correct… Audirvana sees whether or not it is a PCM file or a DSD file is presented to the audio-engine and configures itself accordingly so to reduce unnecessary CPU activity…

How does Dirac usurp the Audirvana audio-engine function/strategy/signal-path outside of Audirvana being a host for the engagement of any given plug-in?

Please paste your Debug information here, so we can see your configuration under these circumstances you describe… It is found here: Settings → My Account → Help → Debug Info

:notes: :eye: :headphones: :eye: :notes:

Doing convolution as you request (first plugin, then Audirvana) would allow Audirvana’s upsampling to be used in situations like yours, where there is a limit to the input resolution the plugin can handle. (Assuming your issue is in fact caused by applying Audirvana’s filtering and upsampling before Dirac’s.)

I don’t use plugins, so you would know better than I whether it’s possible with Audirvana. I do know from extensive discussion on another forum that at least one other software player allows convolution with room equalization software filters such as Dirac, followed by upsampling and modulation to high DSD rates.

I know the player you are alluding to… The convolution engine is integral to the SDM and imports standardized FIR responses for room correction… Also, DSP can be offloaded to GPU (NVIDIA CUDA).

1 Like

I removed a couple of my responses here, because these may have been incorrect presumptions, regarding upsampling target sample-rate and the synchronization of the System clock during the processing of plug-ins when subsequently upsampling to DXD and modulation to DSD, that need corroboration from the Audirvana team…

I currently utilize an HRTF plug-in that is useable to 384kHz when listening to all PCM files that are subsequently modulated to DSD128 and this plug-in functions as expected (except for real-time control)… So, I’m back to having the impression that in the case of Dirac and the Audirvana plug-in architecture, there is an incompatibility with the Audirvana DSP…

This screenshot is of a 24/352.8kHz PCM file with the HRTF Audio Units plug-in processing, subsequently being modulated to DSD128:

:notes: :eye: :headphones: :eye: :notes:

My chain: audirvana claims upsampling after plugin. But the plugin does not work with pcm over 192 kHz

Audirvana Studio 2.8.2 (20802)

Windows 11 (22631) with 8GB physical RAM

	Private profile: 
		Firewall: enabled
		Inbound: allowed
		Outbound: allowed
		Notifications: enabled
	Public profile: 
		Firewall: enabled
		Inbound: blocked
		Outbound: allowed
		Notifications: enabled


Polarity Inversion:
	Globally: OFF
	Per track: ON
Effects plugins ACTIVE in realtime mode
	VST3 plugin #0: C:\Program Files\Common Files\VST3\DiracLiveProcessor.vst3
		ClassID: 56535456376C6564697261636C697665
	VST3 plugin #1: None
	VST3 plugin #2: None
	VST3 plugin #3: None

SoX custom frequencies
44100Hz → 192000Hz
48000Hz → 192000Hz
88200Hz → 192000Hz
96000Hz → 192000Hz
176400Hz → 192000Hz
192000Hz → 768000Hz
352800Hz → 192000Hz
384000Hz → 192000Hz
SoX filter parameters
Bandwidth at 0dB = 95.0165%
Filter max length = 30000
Anti-aliasing = 100
Phase = 0%

Max allowed volume: 100
Replay Gain: None
SW volume control: ON

Sync list: 0 folders
Library database path: C:\Users\ralfnapauto\AppData\Local\Packages\Audirvana.Audirvana-4118-9684-d80dbb7827cd_q3nymrkmej12j\LocalCache\Local\Audirvana\Audirvana\AudirvanaDatabase.sqlite

Local audio files fingerprinting
Tracks with no MBID: 229

Remote Control server:
Listening on on port 52191

Qobuz: Connected as Qobuz Studio

UI theme: dark
Font size: large
Language: Systemsprache
Show album covers in tracks list: yes
Source list sorted:
Meine Musik
Startup view: Meine Musik: Alben
Show local extended in source list: no
Use media keys: yes
Use media keys for volume control: yes
Use legacy Bonjour protocol: no
Number of paired remotes: 1
Remote pairing code required: yes
Screen saver disabled: no

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

Active method: Local

Max. memory for audio buffers: 4096MB

Local Audio Engine: WASAPI
Use max I/O buffer size: ON

Preferred device:
Lautsprecher (Qutest)
Model UID:USB\VID_245F&PID_0815&REV_0197&MI_01

Currently playing in Integer Mode:
Device: 2ch 32bits Integer, 8 bytes per frame 768kHz

Active Sample Rate: 768kHz

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

Selected device:Lautsprecher (Qutest)
Manufacturer: Microsoft
Model name: Qutest
Model UID: USB\VID_245F&PID_0815&REV_0197&MI_01
UID: \?\SWD#MMDEVAPI#{}.{dcc8b631-fa8d-4d82-8986-2680b9a32d52}#{e6327cad-dcec-4949-ae8a-991e976a79d2}
USB Vendor ID: 0x245f
USB Product ID: 0x0815

10 available sample rates up to 768000Hz

Volume Control
Physical: Yes
Virtual: No
Max volume alert: Enabled

MQA capability
Auto-detect MQA devices: Yes
Not automatically detected, user set to not MQA

DSD capability
DSD via PCM 1.0

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 32bit little endian 44.1kHz
2 ch Integer PCM 32bit little endian 48kHz
2 ch Integer PCM 32bit little endian 88.2kHz
2 ch Integer PCM 32bit little endian 96kHz
2 ch Integer PCM 32bit little endian 176.4kHz
2 ch Integer PCM 32bit little endian 192kHz
2 ch Integer PCM 32bit little endian 352.8kHz
2 ch Integer PCM 32bit little endian 384kHz
2 ch Integer PCM 32bit little endian 705.6kHz
2 ch Integer PCM 32bit little endian 768kHz

Local devices found : 2

Device #1: Lautsprecher (Qutest)
	Manufacturer: Microsoft
	Model name: Qutest



Chromecast devices found : 0

What do you mean by the statement below… No real-time control?

There may be a similar conditional disabling of ‘real-time’ control as is the case when upsampling to DSD… Your settings may be active, however at DXD sample-rates, real-time parametric operation is not available…

First lower your playback pre-load memory buffer allocation to 2GB… You are allocating approximately 50% of your available System RAM for this buffer… You will need as much System RAM as is reasonable to deploy, in support of the plug-in operation in concert with the up-sampling strategy you want to employ…

Try using ‘Power of Two’ up-sampling strategy, rather than this ‘Custom’ strategy you are now employing.

From the Audirvana online help menu found in the Upsampling settings pop-up window (top right corner)

The first command enables oversampling and the operating rule :
○ Power of 2 of the native track sample rate. This will be the highest frequency allowed by the audio device for a track natively at 44.1 kHz (88.2, 176.4 or 352.8 kHz)
○ Maximum sampling rate of the audio device
○ X2 only: Twice the track’s native sample rate (if acceptable to the audio device)
○ By frequency: Specific sampling rate for each track natively (selection made by clicking on “Settings by frequency”)
○ DSD option only available with a DSD compatible DAC.

I am not a Windows PC user, however, have you tried using ASIO with this strategy?

Also the debug report is showing that you have two (2) Local devices connected… Are you running other audio software devices.? It seems you may have edited this out for some reason.

:notes: :eye: :headphones: :eye: :notes:

It seems there’s been a misunderstanding. My system actually works optimally. The problem is that the Dirac plugin activates AFTER upsampling. There are no issues up to 192 kHz. Beyond 192 kHz, the plugin no longer works because Dirac can only process up to 192 kHz. This implies that the Dirac plugin activates AFTER the upsampling, which is the problem. It’s likely a bug in the plugin.

How can it activate after upsampling if it does not work when seeing DXD sample-rates?

Again… What does “…no longer works…” mean in this context…?

Are you saying that it is doing absolutely nothing? Or, that you have lost the ability to make real-time changes to the Dirac plug-in parameters?

Again… IF it is the case that you lose the ability to make real-time adjustments, etc, the following statement I made previously, may provide further insight…

"There may be a similar conditional disabling of ‘real-time’ control as is the case when upsampling to DSD… Your settings may be active, however at DXD sample-rates, real-time parametric operation is not available…"

So, it is important for you to define what “… no longer works…” actually describes in this playback scenario… Thank you.

The debug report describes the order of signal processing:

*We see that you have ‘real-time control’ enabled…

Also I suggest you enable ‘Power of Two’ upsampling strategy… and make the suggested change to your playback pre-load memory allocation.

:notes: :eye: :headphones: :eye: :notes:

Again: All works fine. But while upsampling over 192 kHz, the plugin does not work. That means: It does not stream audio. There is no output! Btw. Real-time control is always “working”.
Upsampling to max 192 kHz: (Sample) Audio stream input 48 kHz → Dirac Plugin (real-time possible) output (level meter working) → Upsampling to 192 kHz → Output to Qutest 192 kHz.
Upsampling to > 192 kHz: (Sample) Audio stream input 48 kHz → Dirac Plugin (real-time possible) output (level meter NOT working) no signal output → Upsampling to 384 (or more) kHz → Output to Qutest 384 kHz (no signal).

Btw. What do you mean with DXD? There is no DXD or DSD, only PCM.

DXD is a fancy name for PCM 352.8kHz 24bit

The order seems to be as it should be. There just seems to be a bug that prevents it from working.

@Damien or @Antoine will be best to answer this