• 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!

Beta Test: DISTORT - audibility of distortions

Sample rate and bit setting for file are 44100/16, for audio device the same.

Computer is a modern 4-core laptop and plays back fine via USB.
WASAPI sounds like its processing until buffer fills, outputting buffer, processing again, outputting.
But these half-second pieces sound normal unlike DS. Is there a way to increase wasapi buffer?

Exported WAV is fine with Bluetooth

How complex is the distortion that you are adding? Can you please try to turn off all distortions and try playing the unmodified file in DISTORT? Does it seem to keep up with WASAPI playback?
 
Regarding 1) I figured it out finally.
These two controls on the right are defaulted to max and kill any distortion I apply via checkboxes.
Would it be better to default them to min instead?
 

Attachments

  • 2019-12-16 19_44_01-Distort v1.0.14.png
    2019-12-16 19_44_01-Distort v1.0.14.png
    195.9 KB · Views: 104
How complex is the distortion that you are adding? Can you please try to turn off all distortions and try playing the unmodified file in DISTORT? Does it seem to keep up with WASAPI playback?
Bypass is having the same issue.
No distortion still having an issue.

I see a possible cause: it looks like WASAPI is trying to output 32 bits
1576514986962.png


But my headset supports just 16 bits
1576514891015.png
 

Attachments

  • 1576514794186.png
    1576514794186.png
    18.7 KB · Views: 175
Bypass is having the same issue.
No distortion still having an issue.

I see a possible cause: it looks like WASAPI is trying to output 32 bits
View attachment 42695

But my headset supports just 16 bits
View attachment 42696

That could be. The logic is to try to reduce # of bits automatically when 32 bits are not supported by the driver. Can you try turning on Debug logs under Help->Logging->Debug menu, then trying to play any file using WASAPI. When done, open the log file (Help->Logging->View Log menu). Near the bottom there should be some traces related to playback and driver options set by DISTORT. Please share these here.
 
Here you go

UPD: had to rename to .TXT to upload here
 

Attachments

  • Distort.txt
    16.1 KB · Views: 166
One more question:

Is downmixing to mono by design and can't be avoided?

Original track:
1576516991691.png


Source setting:
1576517017095.png


Saved "reference" file
1576517076663.png
 
Will check it out again tomorrow from scratch, thanks

Might be related to other controls I've toggled somehow
 
Original is clearly stereo because I noticed that while I was comparing reference with original and noticing they are different in replaygain and sound
 
Original is clearly stereo because I noticed that while I was comparing reference with original and noticing they are different in replaygain and sound

Let me know what you find. I tried with MP3 files and WAV files. If "stereo" is selected and a stereo file is fed in, a stereo file appears to be written out as confirmed by Audacity.
 
Posted updated v1.0.15. This fixed a regression bug in 1.0.14 where the custom harmonics started from 3 instead of 2.

Also changed WASAPI resampling logic to try to detect the supported audio playback format rate and bits per sample. @Alex-D , please give this a try. If it still doesn't work, please post the log file again.
 
@pkane

Paul I had been looking at IMD and need to admit that I am suffering quite a bit for understanding the results or settings.
The good point is that I am sure you will help ;)

Out of Band (OOB) IMD:

  • Keeping it simple,in the under case,I do not understand where is the 4 kHz spurious coming from? Inter Modulation products between 1 kHz & 100 kHz should not bring such result....
    1576581118274.png
In Band IMD:

There is no consistency between v1.0.13 & v 1.015 dealing with IMD products. v1.013 is looking correct at first approach.
  • v1.0.13:
1576582522836.png

  • v1.0.15:
1576582672413.png

Scale (dB):

The more you add custom harmonics the less I understand the relation between scale settings and spectrum representation.

1576583744453.png


Wishlist:

THD information removal by setting, not to have it activated by default. IMO quite annoying since it is covering part of spectrum view.
Obviously you can unselect it by clicking directly but at every distort change it is reappearing and covering the screen area you need .

Rgds.
 
@pkane

Paul I had been looking at IMD and need to admit that I am suffering quite a bit for understanding the results or settings.
The good point is that I am sure you will help ;)

Out of Band (OOB) IMD:

  • Keeping it simple,in the under case,I do not understand where is the 4 kHz spurious coming from? Inter Modulation products between 1 kHz & 100 kHz should not bring such result.... View attachment 42823
In Band IMD:

There is no consistency between v1.0.13 & v 1.015 dealing with IMD products. v1.013 is looking correct at first approach.
  • v1.0.13:

  • v1.0.15:

Scale (dB):

The more you add custom harmonics the less I understand the relation between scale settings and spectrum representation.

View attachment 42829

Wishlist:

THD information removal by setting, not to have it activated by default. IMO quite annoying since it is covering part of spectrum view.
Obviously you can unselect it by clicking directly but at every distort change it is reappearing and covering the screen area you need .

Rgds.

Hi Arpiben,

1: It's an alias caused by the 100kHz signal. The 100kHz signal is sampled at 48kHz for the chart with no anti-aliasing filter applied

2: The latest version (v.15) appears correct to me :) The transfer function is being computed from the harmonic values you specify and should reflect only those harmonics you entered with a simple sine test signal. Try the same with a two-tone test signal to see the IMD products.

3: Harmonic distortion is created by the non-linear transfer function of the device. A signal at level A being fed into the device will not come out at level A on the other side, but at some other level, B. Output B = f(A) where f is some non-linear transformation. This is what DISTORT does when you enter harmonics into the custom table: it computes the nonlinear transfer function that would correspond to the entered harmonic content. Once you enter more than one, the amplitude of the first harmonic will be affected by the additional non-linearities introduced by the new ones. This is what the transfer function looks like with the two harmonics you entered. A far cry from a straight line! Pick a value on the X axis (input) and find the corresponding value on the Y axis (output). At -0.5, for example the output will be less than -0.2, more than 6dB greater.

1576587893950.png


Amplitudes of signals will be altered depending on their magnitude. The larger the harmonics that you add and the more that you add, the larger the non-linearity of the transformation that will be generated by DISTORT. With the more 'realistic' harmonic distortions, the transformation is much closer to a straight line, and so the magnitude differences between what you enter and measure will be much smaller.

4: Good point. I sometimes find that it gets in the way, also :) Realize that you can also move and zoom in/out the content of the chart by dragging it or using the mouse wheel (same controls as in DeltaWave).
 
Last edited:
Hi Arpiben,

1: It's an alias caused by the 100kHz signal. The 100kHz signal is sampled at 48kHz for the chart with no anti-aliasing filter applied

2: The latest version (v.15) appears correct to me :) The transfer function is being computed from the harmonic values you specify and should reflect only those harmonics you entered with a simple sine test signal. Try the same with a two-tone test signal to see the IMD products.

3: Harmonic distortion is created by the non-linear transfer function of the device. A signal at level A being fed into the device will not come out at level A on the other side, but at some other level, B. Output B = f(A) where f is some non-linear transformation. This is what DISTORT does when you enter harmonics into the custom table: it computes the nonlinear transfer function that would correspond to the entered harmonic content. Once you enter more than one, the amplitude of the first harmonic will be affected by the additional non-linearities introduced by the new ones. This is what the transfer function looks like with the two harmonics you entered. A far cry from a straight line! Pick a value on the X axis (input) and find the corresponding value on the Y axis (output). At -0.5, for example the output will be less than -0.2, more than 6dB greater.

View attachment 42836

Amplitudes of signals will be altered depending on their magnitude. The larger the harmonics that you add and the more that you add, the larger the non-linearity of the transformation that will be generated by DISTORT. With the more 'realistic' harmonic distortions, the transformation is much closer to a straight line, and so the magnitude differences between what you enter and measure will be much smaller.

4: Good point. I sometimes find that it gets in the way, also :) Realize that you can also move and zoom in/out the content of the chart by dragging it or using the mouse wheel (same controls as in DeltaWave).

1. Fully agreed on aliasing. Distort is showing the aliasing effects (no LPF or non Nyquist) when I was thinking of OOB IMD products ( 3/5/7th... order) falling inside audio bandwidth. Clear.

2&3. Clearer too. My misunderstanding was trying to choose/generate my two (or much more) tones myself add harmonics to them and then observe the products of inter modulation with respective levels.

4. I do know about zooming...but IMO:
  • spectrum panel is a bit small
  • very often you just want to have a fast full picture overview and THD information is adding visual distortion :):facepalm:
1576591909361.png
Thanks Paul for your clarifications. Much appreciated.:)
 
1. Fully agreed on aliasing. Distort is showing the aliasing effects (no LPF or non Nyquist) when I was thinking of OOB IMD products ( 3/5/7th... order) falling inside audio bandwidth. Clear.

2&3. Clearer too. My misunderstanding was trying to choose/generate my two (or much more) tones myself add harmonics to them and then observe the products of inter modulation with respective levels.

4. I do know about zooming...but IMO:
  • spectrum panel is a bit small
  • very often you just want to have a fast full picture overview and THD information is adding visual distortion :):facepalm:
Thanks Paul for your clarifications. Much appreciated.:)

You need a much higher resolution display, Arpiben :) I'll make the change to turn off the THD legend in the next version.
 
Back
Top Bottom