Audio quality issues and misbehaviour related to Asio Guard

To the Moderator:
First of all, I think this issue should be sent to Georg Conrads (Steinberg) directly to investigate, because I find it very troublesome.

Deactivating Asio-Guard in the Device Setup does not deactivate Asio Guard in the Plug-in Manager.

It is still in effect and deactivating asio-guard plugin by plugin in the manager also changes how an Instrument or an Effect sound. That means sound quality changes 2 times already in the program. First in the Device Setup option and 2nd in the Plug-in Manager option.

Explanation: Changing the buffer size of an audio interface also making the overall sound change in the first place. Lower Buffer Size gives a faster, crispier sound. Higher Buffer Size gives a slower, washed out sound.

If you let to “automate” the buffer size with the Asio Guard, then you get a very erratic sound quality behaviour between tracks/instruments/effects. Some things play faster and some play slower. Turning every Asio Guard related option deactivated, the sound unites again on every channel and playing on the same “speed”.
I really think Asio-Guard feature should be reinvestigated, because it just breaks the sound.

(Sub-problem: it is very inconvinient to turn off asio guard for 400 plugins one-by-one in the plug-in manager and if there is a program crash and the vst database builds itself again, then those 400 plugins have to be deactivated again.)

If any more information needed please let me know.

-DN-

Windows 8.1 x64 / Cubase 8.5.15 x64

Hello,

we will check this.

However, the ASIO Guard setting in the Device setup is a global setting, the one in the Plugin Manager is specific to each plug-in.

The two are independent - if you disable AG in some plug-ins, you can still disable ASIO Guard globally if needed and revert to the previous state just by re-enabling it, without going through all the plug-ins.
The very purpose of a global setting is to avoid enabling/disabling individually.

The settings in the Plugin Manager will always be retained to allow the user to global disable AG and re-enable it with the existing individual - so, AG will show as active for the plug-ins where it was not deactivated, but the the global setting will over-ride the individual setting.

The buffer size should not change the sound - it indeed didn’t in my test with HALion 5 (buffer sizes 96 and 1024, download link https://www.hightail.com/download/ZWJWQndGUnJ3NUpsQXNUQw - link expires in 7 days).

Moving to Issues → Miscellaneous to allow other users to chime in without need of approval, will move it to Reports if need be.

Please, also post full PC specs, the Audio card in use and plug-ins used. Thank you.

Hello Fabio,

However, the ASIO Guard setting in the Device setup is a global setting, the one in the Plugin Manager is specific to each plug-in.

The two are independent - if you disable AG in some plug-ins, you can still disable ASIO Guard globally if needed and revert to the previous state just by re-enabling it, without going through all the plug-ins.
The very purpose of a global setting is to avoid enabling/disabling individually.

The settings in the Plugin Manager will always be retained to allow the user to global disable AG and re-enable it with the existing individual - so, AG will show as active for the plug-ins where it was not deactivated, but the the global setting will over-ride the individual setting.

1a.:

Exactly how I thought it should work, but interestingly it does not work the way it is intended. The global asio guard setting does not override the individual settings in the plugin manager. They are rather two different layers.

If the global asio guard turned off, the sound changes on the overall project. Instantly results in a faster, more crispier, a firm sound. Sound comes more to the foreground, closer to the listener so to speak.
Hearing the sound in a better resolution.

Moreover, the sound changes again when the asio guard is inactivated in the plugin manager as well. The sound becomes even more faster, more crispier… comes more closer to the listener. Resolution extends.

From a technical point of view, this is all happening as expected. Even listening to music in any media player and changing the audio interface’s buffer size from high to low, you get the same effect the same way you get in cubase when deactivating the asio guard.


2.

The buffer size should not change the sound - it indeed didn’t in my test with HALion 5 (buffer sizes 96 and 1024, download link > https://www.hightail.com/download/ZWJWQndGUnJ3NUpsQXNUQw > - link expires in 7 days).

2a.:

I’ve listened to your test and it is accurately represents the problem I’m talking about. The buffer sizes did change the sound quality in your test the same way I described.

In a musical context, the problem is that no EQ, Compression, Saturation can bring up the 1024 buffer sized audio to that sound quality level where the 96 buffer sized audio is. They are simply two different sound quality.

Relative to each other: One plays “faster/stronger”, more in the foreground, closer to the listener. Another plays “slower/weakish”, more in the background, more distant from the listener.


3.

Please, also post full PC specs, the Audio card in use and plug-ins used. Thank you.

3a.:

CPU: Intel Core i7-4771 3.5GHz
Motherboard: Asus Z87 Pro
Memory: Corsair Vengeance 8GB DDR3 1600MHz CL9 Memory
GPU: Using the iGPU of the CPU (HD Graphics)
Audio Interface: Focusrite Saffire Pro 14
Windows 8.1 x64
Cubase 8.5.15 x64 (the problems are the same in the 32 bit version of the program as well)

I’m not using 3rd party plugins at the final stage for these troubleshootings/testings. I only use Cubase’s internal plugins to be able to reproduce the problems easily, anywhere. Although, these problems are the same with 3rd party plugins also.

Please let me know if you can confirm the problem with the team or you need me to make a simple cubase project file where you can more easily spot the issue.

-DN-

A simple null test should be easy to do.
Just remember that automation is not sample accurate, and will change the timing of the automation depending on buffer size.

I can confirm that. The Audioexample of Fabio is indeed sounding different for both buffersizes. 1024 sounds darker and more in the back.

I have made tests myself with different buffersizes and different Asioguard settings and in came to the conclusion that Asioguard doesn’t change the sound for me but the buffersize does. I exported an reimported the same instrument track at 2 different buffersettings. They don’t Null. No matter if asio guard is enabled or not. when exporting at the same buffersize it doesn’t matter if asio guard is on or not. In every constallation at 1024 they null.
A plain Audiotrack with no effect does null when i export it at two different buffersizes.

Hello,

ok, that was a very rough (and not appropriate I’m afraid) example. It’s a live VSTi with modulation, oscillators and some weird stuff going on. Virtual instruments will unlikely null, not even a drum sampler due to Round Robin, etc.

Simple and reliable audio null test (cpr file here: https://www.hightail.com/download/ZWJWQndLa0RoeVpBSXRVag).

– Imported only one of the previously posted tracks
– Applied some rough EQ and comp
– Exported at 96 and 1024
– Muted the original, reversed the phase on one of the exported tracks

I get a perfect null here.

You might want to do the same, just delete or mute track 2 and 3 and export track 1 at 96 and 1024 (or whatever).

[Edit:]
Sorry, forgot to add: Windows 8.1, Cubase 8.5.15 x64, UR242 card.
DAW full specs. here: List of performing desktop DAW configurations - Cubase - Steinberg Forums

Thank you Novikthewise and Fabio for your observation.
Based on your experiences I’ve extended these tests to audio files as well.

I’m sorry I couldn’t reply sooner, but it took 13 hours to test and re-test and cross reference with another DAW that I only use for this kind of testing purposes.

I’ve made a Q&A form, for easier understanding.


Q1: Does the Asio Guard when it is Activated changes the sound quality with audio files only?

-Yes.

When global Asio Guard Activated and just playing back simple audio tracks, a composition(*) in Cubase with no modifications to them in any way, then changing the buffer size of the audio interface example from 96 to 1024, the perception of the sound quality with the composition of the tracks changes from a fast sensation and cleaner sound (96) to a slow sensation and a more washed out sound (1024).

Exporting this composition at a Buffer Size of 96 and 1024 then Importing them and making a null test results in a “null” at -179.7dB peak. Tool used for this measurement: Voxengo Span

Cubase looses peak meter values after -85.9dB. From -86dB it just shows infinity. (Is this an issue here?)

Normalizing the null test result between the two audio wav files back to audible range (+156dB gain) shows rhythmical noise and distortion related to the composition.


(*)composition : 6 Wav Audio Tracks overall. 4 Drum Wav Audio Tracks made of one-shot samples / 1 Bass Wav Audio Track / 1 Synth Wav Audio Track.


Q2: Does the Asio Guard when it is Deactivated still changes the sound quality with audio files only?

-Yes.

The results are the same as when Asio Guard was Activated, but there is 1 difference.
The difference between 96 buffer size and 1024 buffer size is now more clearly audible.

Meaning that Asio Guard acts like another layer on top of the Audio Interface’s buffer setting and does a similar behaviour like the audio interface’s buffer setting itself when changing it from Low to High.

With Asio Guard Activated the perception of the sound quality results in a more washed out sound.
With Asio Guard Deactivated the perception of the sound quality results in a more clear sound.

Null test result was the same.


Q3: Does the sound quality issues you hear is printed to the exported files?

-Yes.

It is printed to the exported files. Real-Time listening and Exporting/Audio Mixdown have the same sound quality differences/issues.

Meaning that it is there when listening real-time and it is there when exporting out to 1 stereo wav file.

Exporting at a buffer size of 96 with Asio Guard Activated and again exporting at a buffer size of 96 with Asio Guard Deactivated resulting in a difference exactly the same way as described above in Q2.

Side note: Disabling Automatic Hitpoint Detection does not solve any of the problems.



Very important extra note, because I found out during the testings:

-Starting an Empty Project.

-Using the Voxengo Span on the Stereo Out, hitting START/PLAY →
Span shows the basic -200dB peak/rms readout.

-Adding more Empty Audio Tracks, hitting START/PLAY →
Span shows the basic -200dB peak/rms readout.

-Filling the 1st Empty Audio Track with a Wav audio file, then MUTING IT and hitting START/PLAY →
Span still shows the -200dB readout.

-Filling the 2nd Empty Audio Track with a Wav audio file, then MUTING IT and hitting START/PLAY →
Span now shows a -194dB readout.

-Filling the 3rd Empty Audio Track with a Wav audio file, then MUTING IT and hitting START/PLAY →
Span now shows a -190.5dB readout.

-Filling 10 Empty Audio Tracks with a Wav audio file, then MUTING IT and hitting START/PLAY →
Span now shows a -180.0dB readout.

-This keeps growing bigger.

-You have to hit start/play where the audio track events are. It does not matter if it contains an audio signal or it is just plain silence there in the audio event.

-If you hit start/play where no audio events exist Span goes back to -200dB.

-Don’t rush with the test, because Span needs most of the time 12 seconds to react for the change. That 12 seconds comes from Cubase to fade out to silence somehow…

I don’t think this should be happenning. Any explanation for this?
(I’ll probably start a new topic for it, because it’s a different problem)

All Tests Performed at 44.1kHz/32bit. Win 8.1 x64 / Cubase 8.5.15 x64

Fabio, I’m going to check your project you have sent and reply to it in another post. It also takes a little more time.

-DN-

Hello Fabio,

I’ve listened to the project you have made. Although you made a mistake with leaving the High Cut EQ turned ON on the Stereo Out, beacuse that makes harder to check the results yourself.

Also you didn’t mention you did it with Asio Guard Activated or Deactivated, because the two things are a different problem. It’s a deeper problem than you think it is.

All the 3 Audio Tracks sound different in your test project:

  1. Halion 5 96samples sounds the most cleanest and biggest.
  2. export_audio1024samples-01 sounds more in the background and smoother, the contour of the sound is washed-out.
  3. export_audio_96samples-01 sounds rougher and faster than 1024.

You’ve done your test in a different, more complicated way than how I make them and still, your results are the same as in my tests.

If you want to spot the differences between these audio tracks more easily, just place a ride cymbal on every beat and a snare hit on every 2nd beat, then compare them that way.

Again, the problem is very significant from a lot of viewpoints.

However, going step by step, the first step is that Asio Guard just makes sound quality worse.

The Asio Guard option for the individual plugins in the Plug-in Manager deepens the problem even more,
because it is Active and it’s In Effect no matter if the global Asio Guard option activated or deactivated.

Please let me know, if there is anything I can help with.

-DN-

Hello David,

the Hi Cut was activated after exporting the files and I forgot to remove it when I saved the alternate cpr to upload. It didn’t affect the export (it would not affect the test in any case, as it’s applied to the stereo out, thus processing all of the tracks in the same way…still, it should not be there, right!).

However: if the two exports null, they cannot be different. In any respect: even the slightest image shift or difference in the frequency spectrum would no longer yield a null. You can still do the test deactivating all FX and filters and re-exporting the files.

I also tested the outcome of changing the buffer-size on a full production with 80 tracks, and analysed with scopes and spectrum analysers. It does not null, of course, as there are analog-modeled processors on all tracks, but there are no sound quality differences.

The outcome on my three systems is identical with ASIO Guard on and off. Please note that ASIO Guard is only prefetch, see it as a sort of ‘processing look-ahead’, it doesn’t affect the actual processing. Similarly, buffer-size is only the width of the processing ‘time-window’.

When you write ‘add a ride cymbal and a snare’ what would be the source of that? Audio events or VSTi?

I’m sorry, but you are talking in subjective terms, we need hard data - screen-shots of the project/mixconsole or even better the project would help getting a clearer picture and exclude any external factor. For this purpose, no VST instruments and no FX plug-ins introducing non-linearities should be employed.

So no issue, the files produced with ASIO guard on and off Null, and therefore sound the same.
There really is not more to it.

Hello peakae,

Files don’t null and they are not the same.

Doing the tests appropietly take very long time and a lot of patience.

I’m writing the report about it as Fabio asked “we need hard data”, but it also take time to make that right.

I’ll get back with the report with replying to Fabio’s post.

-DN-

Well anything under -90dB can safely be considered a null, it is not in the audible range, and can be ignored.
Nothing in your audio chain is able to reproduce it anyway, the selfnoise would be far greater.

Feel free to also send me one or more projects to check, if you still have those you used to test.
PM me if you need more info about where to send.

Best,

[Edit: added pic of the rendered file’s mixconsole in my test project]