Do you know how to prevent noise that exceeds Nyquist frequency of input signal when upsampling?
If it is possible to set the same sample rate for input and output of VB-CABLE, this problem does not occur.
However, if sending application(input side of VB-CABLE) dynamically changes sample rate,
receiving application(output side of VB-CABLE) cannot detect the change in sample rate,
so the largest possible sample rate must be set for output side of VB-CABLE.
In that case, VB-CABLE will automatically perform upsampling,
but harmonic noise will occur in frequency band above Nyquist frequency of input signal.
This phenomenon is bound to occur due to the principle of upsampling,
and I understand that the noise is usually suppressed by applying a low-pass filter(interpolation filter).
However, it seems that VB-CABLE does not apply a low-pass filter when upsampling.
(Is this to prevent signal degradation, reduce processing load, or reduce delays?)
It would be ideal if receiving application could apply a low-pass filter,
but receiving application cannot know the sample rate of the original input signal,
it does not know what frequency to set for the low-pass filter.
Do you know any solutions to the above problem?
(For example, specific steps such as applying a low-pass filter inside VB Cable,
using software other than VB Cable (such as Voicemeeter),
detecting the sample rate of the input signal with an external application, etc.
I'm not sure if these are actually possible...)
Note: My English skills are not good enough,
so I am writing this topic with the assistance of machine translation.
Please forgive me if there are any rude expressions.
How to prevent noise that exceeds Nyquist frequency of input signal when upsampling
-
- Posts: 9
- Joined: Thu Jun 05, 2025 3:11 am
-
- Posts: 9
- Joined: Thu Jun 05, 2025 3:11 am
Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling
I found a log that may be related to this topic.
Mirrored frequencies
viewtopic.php?p=4281&sid=7a11d8c1586b7d ... 3de0#p4281
This phenomenon seems similar to the problem I want to solve.
When upsampling, a ghost spectrum appears on the high-frequency side with the Nyquist frequency of the input signal as the boundary.
This is bound to occur due to the principle of upsampling.
Current samplerate of Wasapi exclusive / KS / Asio playback
viewtopic.php?p=1141&sid=7a11d8c1586b7d ... 3de0#p1141
I don't want bit-perfect transmission. (I want the upsampling to be accurate.)
However, I think that being able to obtain the sample rate of the input signal in an external application could be one of the solutions.
Mirrored frequencies
viewtopic.php?p=4281&sid=7a11d8c1586b7d ... 3de0#p4281
This phenomenon seems similar to the problem I want to solve.
When upsampling, a ghost spectrum appears on the high-frequency side with the Nyquist frequency of the input signal as the boundary.
This is bound to occur due to the principle of upsampling.
Current samplerate of Wasapi exclusive / KS / Asio playback
viewtopic.php?p=1141&sid=7a11d8c1586b7d ... 3de0#p1141
I don't want bit-perfect transmission. (I want the upsampling to be accurate.)
However, I think that being able to obtain the sample rate of the input signal in an external application could be one of the solutions.
-
- Posts: 9
- Joined: Thu Jun 05, 2025 3:11 am
Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling
For example, upsampling a 48kHz signal to 96kHz will result in ghosting, as seen in the attached image.
- Attachments
-
- upsampling_noise2.png (76.74 KiB) Viewed 8329 times
-
- Site Admin
- Posts: 2147
- Joined: Sun Jan 17, 2010 12:01 pm
Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling
As i replied in some other thread, difficult to reply without knowing perfectly your experimental protocol.
our SRC can generate some noise around 60dB or 70dB below the nominal level (which is normally not hearable).
our SRC can generate some noise around 60dB or 70dB below the nominal level (which is normally not hearable).
-
- Posts: 9
- Joined: Thu Jun 05, 2025 3:11 am
Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling
VB-CABLE input:
Music streaming service "Qobuz" application
- The application dynamically changes the sample rate to match the audio file.
- WASAPI exclusive mode
Music streaming service "Qobuz" application
- The application dynamically changes the sample rate to match the audio file.
- WASAPI exclusive mode
- Attachments
-
- qobuz.jpg (400.74 KiB) Viewed 8152 times
-
- Posts: 9
- Joined: Thu Jun 05, 2025 3:11 am
Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling
VB-CABLE output:
foobar2000
- Recorder plug-in input
- Fixed at 96kHz/24bit
- WASAPI exclusive mode
foobar2000
- Recorder plug-in input
- Fixed at 96kHz/24bit
- WASAPI exclusive mode
- Attachments
-
- foobar2000.jpg (270.8 KiB) Viewed 8152 times
Last edited by Reffi on Tue Jun 10, 2025 4:29 pm, edited 1 time in total.
-
- Posts: 9
- Joined: Thu Jun 05, 2025 3:11 am
Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling
VB-CABLE control panel in play:
- Attachments
-
- VBCABLE_ControlPanel.jpg (491.27 KiB) Viewed 8152 times
-
- Posts: 9
- Joined: Thu Jun 05, 2025 3:11 am
Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling
The spectrum analyzer is foobar2000 plugin (foo_vis_spectrum_analyzer).
Of course, I am human. I cannot hear noise with frequencies above 20kHz.
So there is no practical problem, and ignoring the noise may be one solution.
But if upsampling is performed according to the proper procedure, wouldn't this kind of noise not occur?
In general, the upsampling process applies a low-pass filter to cut signals above the Nyquist frequency of the input signal.
(I understand that a perfectly ideal low-pass filter cannot exist in reality due to theoretical constraints.
Even if it is a digital process. A perfect low-pass filter without a transition band cannot have a finite response time.
Therefore, some compromise is required to implement the filtering process, and I understand that not everyone will be satisfied with the quality.
Also, low-pass filters create a phase delay. This may delay the output of the cable.
If you are just listening to music, the delay is not a problem, but it may create new problems for other uses.
If the current implementation was decided after taking into consideration a variety of factors, I respect that decision.)
Of course, I am human. I cannot hear noise with frequencies above 20kHz.
So there is no practical problem, and ignoring the noise may be one solution.
But if upsampling is performed according to the proper procedure, wouldn't this kind of noise not occur?
In general, the upsampling process applies a low-pass filter to cut signals above the Nyquist frequency of the input signal.
(I understand that a perfectly ideal low-pass filter cannot exist in reality due to theoretical constraints.
Even if it is a digital process. A perfect low-pass filter without a transition band cannot have a finite response time.
Therefore, some compromise is required to implement the filtering process, and I understand that not everyone will be satisfied with the quality.
Also, low-pass filters create a phase delay. This may delay the output of the cable.
If you are just listening to music, the delay is not a problem, but it may create new problems for other uses.
If the current implementation was decided after taking into consideration a variety of factors, I respect that decision.)
-
- Site Admin
- Posts: 2147
- Joined: Sun Jan 17, 2010 12:01 pm
Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling
ok, thanks for bringing some screenshot.
1- My first reply was about the fact i did not see any reason to get noise above -70 dB , if present, it means there is another problem in the audio chain.
2- I don't know foobar, i recommend to use our Spectralissime instead: https://vb-audio.com/Spectralissime/index.htm (but it's 20-20KHz only right - i need to update this tool).
3- There is a strange Error DMA F/H 0/63 on VB-CABLE output (Control Panel) meaning a serious audio stack problem or bad way to capture audio from the VB-Cable recording device.
1- My first reply was about the fact i did not see any reason to get noise above -70 dB , if present, it means there is another problem in the audio chain.
2- I don't know foobar, i recommend to use our Spectralissime instead: https://vb-audio.com/Spectralissime/index.htm (but it's 20-20KHz only right - i need to update this tool).
3- There is a strange Error DMA F/H 0/63 on VB-CABLE output (Control Panel) meaning a serious audio stack problem or bad way to capture audio from the VB-Cable recording device.
-
- Posts: 9
- Joined: Thu Jun 05, 2025 3:11 am
Re: How to prevent noise that exceeds Nyquist frequency of input signal when upsampling
I tried installing Spectralissime.
(As you say, the problem occurs above 20kHz, so it seems unsuitable for verifying this topic.)
(As you say, the problem occurs above 20kHz, so it seems unsuitable for verifying this topic.)
- Attachments
-
- Spectralissime.jpg (368.16 KiB) Viewed 6925 times