High-frequency of audio after sample rate conversion

As you can see, this is a sample of a 44.1 HZ snare, and his frequency on the spectrum looks like this

And my project setting is 48Hz.So when I imported the snare, Nuendo prompted me to convert to the project settings, i.e., from 44.1 to 48, and I clicked OK, and it imported normally
But I realized that this snare lost something in the extremely high frequency range, as shown in the picture

So I want to know what caused it, and if there is any way to solve this problem. My approach has always been to import the sampling track and render it in place, so it seems like there is no loss of information, but it is quite troublesome.
to add, I am using Insight2. For the convenience of viewing the spectrum, I inserted it into the control room. Before importing, it was played in the MediaBay, and after importing, it was played in the project, so that the changes in the spectrum can be seen in real-time.
I’m using the snare for easy viewing, and I have some very long sound effects that need to be converted for everyday use, so I’d like to know the solution, thanks!

Files with 44.1 kHz contain no data above 22 kHz. So where should the content above come from?

I don’t know… but during playback, the spectrum shows that there is something present in the extremely high frequency part, and after being exported from the sampler track, there is also something present

To be honest, no. Signal theory says there is no content above 22 kHz.


It is weird though, that the plug-in shows something. I guess something buggy happens when the the project is set up to 48 kHz and the 44,1 kHz file is played from the mediabay. That no longer happens when the file is converted before the spectrum is analyzed.

I could imagine that there is a “problem” with the measurement. We can’t see the settings for the Insight plugin.

I created white noise with Cubendo’s TestGenerator on 44.1kHz, mono.

This is what it looks like in SpectraLayers:
Maximum frequency is 22050Hz.

Then I imported it into a 48kHz project, using Cubendo’s resampling option (bit resolution remains the same).
This is what it looks like in SpectraLayers, please note the scale on the right hand:

It looks like some alteration of the signal happens starting with frequencies from roughly 21150Hz.

Additional Dither, maybe?

Ya what I’d want to know is what is the level of that data? If it is like -90dBFS (assuming 16-bit file) my guess would be dither.

Thank you all, I just realized that 44.1 does not have data above 22kHz. I tried playing it outside of Nunedo again, and it can be seen that there is indeed no content at extremely high frequencies.

But when playing in Nuendo’s MediaBay, the display is not like this, both are viewed using Insight.
Inserting Insight into the monitoring control room of Nuendo, Mediabay and the playback in the import project also display differently. During this period, Insight remained unchanged, and I don’t quite understand the significance of questioning the measurement standards of Insight. Nuendo is the only variable.
Don’t misunderstand… I’m not trying to blame anything, I just want to know the reason behind it. Thank you

I need more coffee, but as far as I recall the theory is that we need to limit the bandwidth of the signal we wish to capture to below half the sample rate, and as long as we do that we can correctly capture that information without problems. The important part is that this is about capturing a signal, i.e. converting from analog to digital.

However, we’re still going to be left with problems restoring that signal using the digital-to-analog process unless we also bandwidth limit the output using another lowpass filter.

My guess then would be that there is different filtering going on during different processes. So for example; your unaltered sample was captured one way which of course won’t change, but during playback there is some filtering going on at some point in the signal chain - this has to be true because it’s part of the procedure of reconstructing an analog waveform. However, if you sample rate convert then again you’ll have to be a bit careful with what you do, and if you apply a low pass filter during that process that filter might not be the same as other filters.

In other words I would expect a 44.1kHz filter to be steeper than a 48kHz filter. As a matter of fact a lot of people argue that any audible differences when you switch from 44.1kHz to a higher sample rate is not because of the higher sample rate but because of the filter slope being different. So we should expect filtering to be different possibly also during sample rate conversion done ‘offline’.

To understand why there would be any “content above 22kHz” we just have to think about it differently. It isn’t about what we capture, it is about what happens when we reconstruct the waveform.

“Stair steps” is not what happens in real life in digital but it provides us with a good visualization of some of the (solved) problems with digital. A sinewave is smooth. If you start stacking odd harmonics to the fundamental sinewave then the waveform looks different. If you have an infinite amount of odd harmonics of that sinewave, at the same amplitude, then you’ll have a perfect squarewave. Conversely then it means that ‘sharp edges = high frequency content’.

So now ask yourself what happens when you have sample 1 @ -10dBFS and sample 2 @ -15dBFS. If you visualize that change there is no smoothing, because this is digital. There is an instantaneous “visual” change in “direction” at sample one so it points toward sample 2 in a straight line. It won’t be a 90 degree angle, but it will be an instant change. And instant change = sharp edge = high frequency content.

So that is the “‘content’ above 22kHz”. It wasn’t present in the signal we captured, it’s just a ‘quirk’ of the system. How do we get rid of it? We just filter it with a low pass filter and the problem is solved.


But we have no further information what processes are done inside Insight.
FFT? Which windowing is used? Is there any upsampling applied before?
What level range is shown in the measurements? Is it adapted dynamically, or is it fixed?
How does Insight handle the extreme frequencies close to the Nyquist frequency?

Media bay running on 48kHz needs to resample files with 44.1kHz.
Maybe, to do it without the delay, it needs to do it very accurate, it is doing it with a lesser precise algorithm than the import process later will use.

I don’t think it is Insight, neither is it the preview quality of the MediaBay. I got pretty much the same results as @Wuhuan but using Spectral Layers instead (stand alone, of course, not as ARA), see my post above.

I wonder if resample algorithms from other companies show the same result. Maybe somebody could test that?

On my test any filter that might be applied is applied by Cubendo’s resample algorithm, not by me, the user.
BTW - I used a 0dBFS white noise signal.

Yes, that’s what I meant.

I don’t think that’s a good idea. At 0dBFS and with sample rate conversion you could get ‘overs’. Redo your rest and use say -10dBFS instead.

Thank you very much, I think I understand a bit. I tried AbletonLive again, and the display inside and outside of Live is also different. But inside Live, the preview of the sample pool and the use of it in the project are both the same in Insight display. I noticed that there is no prompt for conversion when Live drags the material pool into the project interface. Perhaps the underlying logic of using audio files is different between the two. It would be great if we could maintain consistency within the Daw like Live…

I think I’ve made it clearer that through the control variable method, we can see that even if we clearly figure out these intrinsic aspects of Insight, it does little to help understand what I’m now saying is happening in Nuendo.
As shown in the diagram, we now have a Smaple that enters the unchanged Insight through three different signal streams and gets three results A/B/C. Replace Insight with another plugin and the situation doesn’t change, as @Johnny_Moneto did in the experiment above.I see no point in expending effort on Insight in this case.

Good idea. Here it is with -12dBFS:
Original 44.1kHz white noise

… and resampled with Cubendo by importing the file into a 48kHz project:

Frequencies from roughly 21150Hz up to 22050Hz get modified by the resampling.

I was trying to point out that the media bay preview could use a different algorithm, then the import, maybe?

That may very well be the case.
However, I don’t use MediaBay in my example and basically get the same result as @Wuhuan in their very first screenshots.

I also don’t want to argue that Steinberg uses a poor algorithm for resampling as I know way too little about how to best resample. Maybe what we see here is down to physics. I guess it is just good to know in the back of the head that some frequencies “disappear” when upsampling.

(NOTE: Quote edited to avoid misunderstandings)

Bad SRC used to be the case until Nuendo 5, IIRC. Today it’s pretty good, actually:

SRC Comparisons