Two inherently different types of interpolations, that exist.

One observation which I made about certain people has been, that they are able to conceive that given a certain audio sample-rate, the signal-processing operation on it, to perform some sort of interpolation, may be needed, especially when up-sampling, or, otherwise resampling the stream. But what I seemed to notice was, that those people failed to distinguish between two different categories of interpolation, which I would split as follows:

  1. There exist interpolations, in which the samples to be interpolated, have fixed positions in time, between the input samples.
  2. There exist interpolations, where for every interpolated sample, the time between the two adjacent, input samples, is not known, up to the very instant when the interpolation is finally computed, and where this time-position needs to be defined by an additional parameter, which may be called (t), and which would typically span the interval [0.0 .. 1.0).

For the type (1) above, if polynomials are going to be used, then all the values of (t) are known in advance, and therefore, all the values of (x) that define the polynomial, are also known in advance. This also means, that all the powers of (x) are known in advance. In that case:

To compute the interpolation, can be applied.

However, for the type (2) of interpolation above, IF polynomials are going to be used, then to derive the actual polynomial will become necessary, as well as, the need to ‘Plug parameter (t) in to the resulting polynomial.’ Because the polynomial could be of the 6th degree, this can become an expensive computation to perform in real-time, and implementors are likely to look for alternatives to using polynomials, that are also cheaper to compute.

Also, if the polynomial is to be plotted, then the positions along the X-axis are assumed to form a continuous interval, for which reason, the actual polynomial needs to be derived.



When Audacity Down-Samples a Track

In This Posting, the reader may have seen me struggle to interpret, what the application ‘QTractor‘ actually does, when told to re-sample a 44.1 kHz audio clip, into a 48 kHz audio clip. The conclusion I reached was that at maximum, the source track can be over-sampled 4x, after which the maximum frequencies are also much lower than the Nyquist Frequency, so that if a Polynomial Filter is applied to pick out points sampled at 48 kHz, minimum distortion will take place.

If the subject is instead, how the application ‘Audacity‘ down-samples a 48 kHz clip into a 44.1 kHz clip, the problem is not the same. Because the Nyquist Frequency of the target sample-rate is then lower than that of the source, it follows that frequencies belong to the source, which will be too high for that. And so an explicit attempt must be made to get rid of those frequency components.

The reason Audacity is capable of that, is the fact that a part of its framework causes a Fourier Transform to be computed for each track, with which that track is also subdivided into overlapping sampling windows. The necessary manipulation can also be performed on the Fourier Transform, which can then be inverted and merged back into a resulting track in the time-domain.

So for Audacity just to remove certain frequency ranges, before actually re-sampling the track, is trivial.

If my assumption is, that QTractor does not have this as part of its framework, then perhaps it would be best for this application only to offer to re-sample from 44.1 kHz to 48 kHz, and not the other way around…