Octatrack's resampling (sample interpolation) method is linear interpolation

A couple of hours ago, I made a topic attempting to ask if anyone knew what resampling/interpolation method the Octatrack uses. But, I did a terrible job and instead learned about, and stepped on, the “sound quality” hornet’s nest. User @jemmons pointed out I should have asked the question completely differently, and they’re right. My topic was locked and de-listed by a moderator a few moments later.

I would like to apologize for being bad. And offer something useful and constructive.

So, instead, I found a kind stranger on a Discord willing to run a test for me with their Octatrack.

A sawtooth sample pitched up by 9 semitones reveals the aliasing pattern of the resampling method in a spectrogram. Here are images of Live’s Sampler playing the sample pitched up by 9 semitones, with linear, cubic, and sinc interpolation. And the Octatrack, which most closely matches linear.

Feel free to delete this topic if it’s bad, but in case anyone else is searching for this answer like I was, here is the answer, for future reference.





Because my account was created today, I can’t post any replies to this thread, because I already used up my allowed number of replies. So, I have to post my replies as edits to this post. (I think a moderator tried to correct this in the previous thread, but it doesn’t seem to have worked.)


@jemmons Octatrack's resampling (sample interpolation) method is linear interpolation - #3 by jemmons

It’s the lowest band that gives it away, yes. Cubic and linear share most of the same aliasing bands, but the ratios between them are a bit different. If you adjust the threshold or brightness curve of the spectrogram (or if you turn up the input volume) the low band will also be present with cubic. It’s just significantly fainter.


@Leonsarmiento Octatrack's resampling (sample interpolation) method is linear interpolation - #5 by Leonsarmiento

12 will hide the the extra sub band being visible in the spectrogram because it will stack on top of the already existing fundamental. That’s why a non-multiple-of-2 scaling factor for the resampling rate is interesting in this case.


@sezare56 Octatrack's resampling (sample interpolation) method is linear interpolation - #7 by sezare56

Sorry, there is a misunderstanding here, and it’s not your fault. “Resampling” in digital audio and production is unfortunately a word that has two different meanings. One meaning is to re-sample something into itself as a new recording, the way “sampling” means to turn some signal into a regular set of sampled points.

The other meaning is to change the sampling rate by, again, turning the signal into another set of evenly spaced points.

If you play a sample on a sampler at a different pitch, it needs to output the sample in the digital audio stream at a different rate than the sample is being played at, because the digital audio stream is always 44.1khz or 48khz or something. But the sample is no longer being played at that rate, so it needs to be resampled (on the fly) to a different sampling rate using some method. Which is what this test was used to determine.


@sezare56 Octatrack's resampling (sample interpolation) method is linear interpolation - #8 by sezare56

The picture labeled “sinc interpolation (ableton live’s sampler)” is close to the ideal case. If there are extra lines in the spectrogram, that’s some kind of aliasing or distortion. Now, whether or not you think the extra bands are good or bad is subjective and depends on the context. Lots of times, a grittier distorted sound with more inharmonic aliasing bands can sound nice, especially when pitching a sample down. But I’m not really asking or answering that question in this post. I just wanted to know which resampling method the Octatrack used, so I could have that in mind when weighing my decisions on buying a hardware sampler.


@SKull Octatrack's resampling (sample interpolation) method is linear interpolation - #9 by SKull

I think you are misunderstanding what I’m talking about. I’m talking about resampling as in changing the playback rate of a sample, where resampling is required when playing a sample back at a different rate. The Octatrack (and all other samplers) are always doing this whenever you play back a sample at anything other than its original sampling rate, whether you’re aware of it or not.

19 Likes

The sample rate is constant. Honestly, what’s your point? … Besides explaining rather convoluted that you don’t understand the basics of digital audio.

This is really great!

The lack of the aliasing bands make the difference between sinc and the other two clear as night and day. But the differences between cubic and linear are quite subtle to my untrained eye. What is it that made the case for linear interpolation in the OT rather than cubic? Is it that sub 100 band and what I think is some more aliasing just south of the 20k mark?

3 Likes

I’d like to see it compared against digitakt for the million dollar bullet.

1 Like

Who interpolates 9 semitones?

Only 12 or it’s multiples is where things get interesting.

Rude! :frowning:

Also, I’m afraid I don‘t understand your point. Any time you recontextualize audio samples in pitch or speed, you need to write a new set of samples that are probably not lined up with the old set. They usually fall “in between” so their values need to be interpolated in some way.

The number of samples you need to write (which is what the sample rate specifies) wouldn’t seem to enter into it. So how does it being constant matter?

3 Likes

If you resample with fx like Filter and Lofi, even set to neutral, the sound become muddy after a few passes, and after 20 passes it is unusable. There are cumulated DC offsets. If you don’t use fx, you can resample many times.
Just don’t use fx.

:pl:

8 Likes

I see. But I don’t know how to interpret your pictures, nor how to compare linear resampling vs another method.

Btw pitch range is limited on OT, I like to resample with 1 octave up and feedback !

1 Like

Resampling in the digital domain is, in the best case, copying a value in between either -1 and zero or, in some configurations, +1 and -1 at a constant rare. There is no interpolation happening at all.

Reading your post again, I figured you where also talking about the pitch. Calculating that can be done in many ways, most of them use some kind of interpolation.
But isnt the way samplers calculate such things what makes them unique? For example, my ancient Korg Electribe SX probably does a terrible job in pitch calculation if you look at the maths. But the weird sounds you get are unique and usable nonetheless.

[quote]rude[quote]
Maybe so. Your post did upset me so I was a bit snippy. No hard feelings though. :peace_symbol:

Also, I give up on correcting the grammar since I’m rather tipsy after seeing Molchat Domat in concert tonight. :beers:

cool

1 Like

Lol what’s YOUR point? Just taking time out of your day to be mean? You can just go on livin your life. :-1:

2 Likes

Octatrack discourse
Inevitably leads to
Snide assholery

1 Like

I would guess repitching a sample, is done by just making the index in the buffer going slower or faster, and you use fixed point or floating point number to achieve that.

I have write those kind of thing, not professionally but for fun. So I don’t understand what are all those math trickery that you are talking about. I mean, I’m not good at math. But sample pitching, I don’t think there is any complex science.

The science is in the « time stretch » which is keeping the same pitch whatever the tempo is. And here there is multiple implementation depending on cpu speed and what is already know about the sample.

1 Like

Timestretch on ? (Pitch shift vs pitch with timestretch off)

1 Like

…octatrack users do meth !?..

must be part of the answer to the question why ot users are still happy…
next to the fact, that even with 44.1k u can resample quite a lot before ur results start degrading into sonic mush…at least as long, as szezare pointed out, u don’t rely on ot’s fx engines too much…
but, just bypassing them won’t do that trick…fx slots must be blank empty to count on this…

just learned today, ot is still in good and timeless company with it’s consumer frequency resolution only, since even abletons latest move seems to rely back again on cd quality only…
interpolation meets oversampling, while resampling remains nevertheless the magic…
especially with fx turned on…pitch this, tiger…

This neither surprises nor disappoints me. But it interesting to have confirmation of such info!

1 Like

No, it’s only playing back at a different pitch (different playback rate.) The reason why the lines in the spectrograph are longer for the Octatrack image is that there was extra 200ms fade in and out enabled in the Ableton Sampler device, and the Octatrack one just played the wave without an additional fade. Sorry about that.

1 Like

As mentioned a few times previously in this thread, this is talking about playing a sample back at a different speed than it was recorded at, not a test of what happens when recording a wave played at its original speed back to another wave file or memory slot. If you play a wave file at its original speed in the Octatrack, the results appear to be lossless (assuming you don’t have any other FX or LFOs enabled.)

Here’s a spectrograph showing the saw wave sample played back (internally, not through DAC) at +0 (original pitch) on the left, and +9 on the right. It’s perfectly clean at the original pitch.

3 Likes

Well, that’s wrong. If you just scrub through the buffer and pick the closest point, that’s usually called “nearest neighbor” or “zero order hold” interpolation and it sounds like an Amiga. There are a bunch of mathematical methods to get generally more desirable results — linear interpolation, cubic interpolation, hermite, FIR, sinc… and they have different tradeoffs.

2 Likes

As a DSP and engineering buff I’m happy to see this kind of analysis going on. It’s interesting that the interpolation is linear but I guess they made that decision for the sake of efficiency over anything else.
Thanks for the analysis :+1:

5 Likes