Can you convert between sample rates by skipping samples?
Can you convert 88.2 kHz samples to 44.1 kHz by skipping every other sample?
Instead of theorizing about whether this works, let’s actually try this in real life!
To start with, let’s go to AudioCheck.net and get a test tone containing a 88.2 kHz WAV file with a sine sweep from 0 to 44.1 kHz:
You’ll hear the first bit of the sine sweep, but as you play further into the file, you should (if your audio setup is working correctly) hear silence, as the frequencies from around 20kHz up through 44 kHz are too high for humans to hear.
Okay, now let’s drop every other sample. MATLAB is a great tool for conducting this type of quick experiment. I bashed together this short MATLAB script:
% Experiment to see what dropping every other sample will do for a high % frequency sound. % cleanFn name of clean output file to be generated % downsampledFn name of downsampled file to begenerated function dropeveryothersample(varargin) numvarargs = length(varargin); optargs = {'audiocheck.net_hdsweep_1Hz_44000Hz_-3dBFS_30s.wav' 'output-downsampled.wav'}; optargs(1:numvarargs) = varargin; [cleanFn, downsampledFn] = optargs{:}; [y, Fs] = audioread( cleanFn ); droprate = 2; outFile = y(1:droprate:length(y)); audiowrite( downsampledFn, outFile, Fs/droprate ); end
And the MATLAB script dropped every other sample from that sweep, and saved the output. Now here is the output from the script. It starts off reasonably enough, but then something completely wild happens:
Yep, it sounds the same in the beginning, but at the end we hear a backwards sine sweep! And the spectrogram for the file confirms it:
Well, we know for sure that simply dropping every other sample from 88.2 kHz to 44.1 kHz definitely gives a different perceptual result. But what is actually going on here?
What is actually going on is a subtle bit of mathematics relating to the Nyquist theorem that many sound designers don’t understand. When we dropped every other sample, we told that sine sweep: the highest frequency that you may now represent perfectly is 22.05 kHz. So the extra energy present in the sine sweep has to go somewhere. Where does it go?
The answer: it goes into negative frequencies.
Stay with me.
Once the sine sweep hits 22.05 kHz in the manually downsampled file, that energy then “wraps around” and begins playing at -22.05 kHz. That is to say, the amplitudes remain the same, but the phase is inverted!
At this point, the sine sweep continues upward, and the frequency goes from -22.05 kHz all the way up to 0 Hz.
So the sine sweep is continually increasing upward, but as we hit the Nyquist limit for the new sample rate, we wrap all the way around at the positive Nyquist limit and continue at the negative Nyquist limit!
Products

Varantic Trial
You asked, and we listened. You need to hear it for yourself on your own machine, with your own speakers, with your own sounds. Well, go for it. Try all the features of Varantic Pro, for 7 days, on us.

Varantic Studio
Varantic Studio allows batch scripting of the entire Varantic process, so that you can generate millions of high-quality sound effects from within your development pipeline.

Varantic Pro
With advanced functions such as sound length control, support for high bit rates and most file formats, and automatic batch export, Varantic Pro has all the features that a working sound designer needs.