Vember Audio Shortcircuit is now open source!
- KVRian
- 1277 posts since 10 Oct, 2002 from Barcelona
Then why OpenModplug, MilkyTracker & classic Trackers allows that? Isn't posible to set a part as No interpolated? Maybe an instance?
And setting bitdepth+samplerate per instance would be interesting, very interesting.
And setting bitdepth+samplerate per instance would be interesting, very interesting.
-
- KVRian
- 1213 posts since 25 Dec, 2018
By no interpolated you mean just 1:1 sample output so no sample rate or pitch correction? Load a 44.1 into a 48 session and it pitches wrong?
Or do you mean zero order hold on the nearest sample?
Or do you mean zero order hold on the nearest sample?
-
- KVRAF
- 6241 posts since 26 Sep, 2003 from right here, as you can see ...
indeed. there should be an option to switch off interpolation in order to get that kinda vintage sampler sound. to "emulate" this with fx is not only a no go (as you say - brute force), but also an unnecessary waste of cpu usage. especially, if you don't intend to pitch the sample, interpolation is unnecessary anyway.wikter wrote: Thu Apr 11, 2024 11:21 am No interpolation should be a must on every sampler (along with sync+cubic options).
Emulating old devices by adding fx is a bruteforce nonworking method.
however - wasn't there a lot of filtering applied in the old samplers, when reducing the sampling frequency and masking the nonexistent interpolation, etc? and doesn't that tooplay a role in that characteristic vintage sampler sound?
regards,
brok landers
BIGTONEsounddesign
gear is as good as the innovation behind it-the man
brok landers
BIGTONEsounddesign
gear is as good as the innovation behind it-the man
-
- KVRian
- 1213 posts since 25 Dec, 2018
Vintage samplers didn’t have direct digital output of the sample. They had dacs and filters and a lot more to get the sound out of their 1/4” Jack right?
I guess I would really like to understand what you mean by “no interpolation”. Do you mean if, say, you turn on reaper oversampling on a track your pitch of your entire track doubles? And the pitch of your sample is indpenendent of key pressed?
Or do you mean “sound like there’s a dac in the way in a sample rate independent way” (which is very very different from no interpolation)
I guess I would really like to understand what you mean by “no interpolation”. Do you mean if, say, you turn on reaper oversampling on a track your pitch of your entire track doubles? And the pitch of your sample is indpenendent of key pressed?
Or do you mean “sound like there’s a dac in the way in a sample rate independent way” (which is very very different from no interpolation)
-
Andreya_Autumn Andreya_Autumn https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=553235
- KVRian
- 510 posts since 21 Feb, 2022
OpenMod means ZOH by "no interpolation", it seems from the docs. It also does naive linear interpolation and a few sinc options. TAL-Sampler also has all those plus the emu ones etc.
- KVRAF
- 7026 posts since 19 Apr, 2002 from Utah
....but interpolation doesn't just happen automatically. It's a process that takes place as the sample is being pitched/transposed. The root note does not go through an interpolation process. There is no wasted CPU usage if the sample is not being pitched.brok landers wrote: Thu Apr 11, 2024 9:07 pmindeed. there should be an option to switch off interpolation in order to get that kinda vintage sampler sound. to "emulate" this with fx is not only a no go (as you say - brute force), but also an unnecessary waste of cpu usage. especially, if you don't intend to pitch the sample, interpolation is unnecessary anyway.wikter wrote: Thu Apr 11, 2024 11:21 am No interpolation should be a must on every sampler (along with sync+cubic options).
Emulating old devices by adding fx is a bruteforce nonworking method.
however - wasn't there a lot of filtering applied in the old samplers, when reducing the sampling frequency and masking the nonexistent interpolation, etc? and doesn't that tooplay a role in that characteristic vintage sampler sound?
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
- KVRAF
- 7026 posts since 19 Apr, 2002 from Utah
"masking the nonexistent interpolation"? Are we talking about the same thing? I'm suspecting you may be meaning filtering to remove aliasing or something similar. The interpolation is a mathematical technique to estimate the values of unknown data points that fall in between existing known data points. The higher quality the interpolation, the less degradation of the sound takes place when transposing samples. There is no masking of nonexistent (or existent, for that matter) interpolation. I think everyone needs to get on the same page with our semantics to make sure we are all getting our messages across properly. Here's what I mean when I talk about interpolation:brok landers wrote: Thu Apr 11, 2024 9:07 pmindeed. there should be an option to switch off interpolation in order to get that kinda vintage sampler sound. to "emulate" this with fx is not only a no go (as you say - brute force), but also an unnecessary waste of cpu usage. especially, if you don't intend to pitch the sample, interpolation is unnecessary anyway.wikter wrote: Thu Apr 11, 2024 11:21 am No interpolation should be a must on every sampler (along with sync+cubic options).
Emulating old devices by adding fx is a bruteforce nonworking method.
however - wasn't there a lot of filtering applied in the old samplers, when reducing the sampling frequency and masking the nonexistent interpolation, etc? and doesn't that tooplay a role in that characteristic vintage sampler sound?
https://www.audiosciencereview.com/foru ... tion.1447/
I really, really hope you don't take this wrong. I don't mean to offend or to make you feel bad. I just don't understand your comment.
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
- KVRAF
- 7026 posts since 19 Apr, 2002 from Utah
I suspect he's referring to the original old school sampling that didn't correct for the chipmunk effect through doing interpolation correction on the samples while transposing them.baconpaul wrote: Thu Apr 11, 2024 9:14 pm Vintage samplers didn’t have direct digital output of the sample. They had dacs and filters and a lot more to get the sound out of their 1/4” Jack right?
I guess I would really like to understand what you mean by “no interpolation”. Do you mean if, say, you turn on reaper oversampling on a track your pitch of your entire track doubles? And the pitch of your sample is indpenendent of key pressed?
Or do you mean “sound like there’s a dac in the way in a sample rate independent way” (which is very very different from no interpolation)
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
- KVRAF
- 7026 posts since 19 Apr, 2002 from Utah
I don't exactly understand zero-order hold very well to be honest, but I always thought it had to do with reconstruction of the signal from DAC to analog, which may be seen as similar, but I don't think it's quite the same as interpolation when transposing a note. I don't think interpolation "adds" any additional information. But, I'll leave that to someone smarter than me.Andreya_Autumn wrote: Thu Apr 11, 2024 10:43 pm OpenMod means ZOH by "no interpolation", it seems from the docs. It also does naive linear interpolation and a few sinc options. TAL-Sampler also has all those plus the emu ones etc.
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
-
Andreya_Autumn Andreya_Autumn https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=553235
- KVRian
- 510 posts since 21 Feb, 2022
Interpolation is needed whenever the sound we want to hear is recorded/generated/played back at the same sample rate as the system making the final conversion to audible sound. Good interpolation doesn't add anything indeed, but naive interpolation does.
Say the sound was recorded at 44.1k, but the DAC is running at 48. Now whenever the output DAC asks for a sample, the recording will almost always be somewhere in between two of its samples. So we need some math to know what value to give the DAC.
Zero Order Hold = no math at all. Just take the value of the previous sample. Lots of Aliasing.
Linear interpolation = trivial math. Draw lines between samples and place the new samples on the line. Less aliasing, but still a lot.
Cubic interpolation = better math. Instead of lines between samples, draw curves. Even less aliasing, but still some.
Sinc = even better math. Still draw curves, but even better curves. Can get arbitrarily close to alias-free.
Can warmly recommend for anyone who wants to understand the nerdery better.
The "stair step" thing he mentions, which many folks imagine to be how digital sound works, is what ZOH is. Indeed no modern DAC does it. But tracker software apparently does.
Say the sound was recorded at 44.1k, but the DAC is running at 48. Now whenever the output DAC asks for a sample, the recording will almost always be somewhere in between two of its samples. So we need some math to know what value to give the DAC.
Zero Order Hold = no math at all. Just take the value of the previous sample. Lots of Aliasing.
Linear interpolation = trivial math. Draw lines between samples and place the new samples on the line. Less aliasing, but still a lot.
Cubic interpolation = better math. Instead of lines between samples, draw curves. Even less aliasing, but still some.
Sinc = even better math. Still draw curves, but even better curves. Can get arbitrarily close to alias-free.
Can warmly recommend for anyone who wants to understand the nerdery better.
The "stair step" thing he mentions, which many folks imagine to be how digital sound works, is what ZOH is. Indeed no modern DAC does it. But tracker software apparently does.
-
- KVRian
- 1213 posts since 25 Dec, 2018
Hmm ok maybe we are talking cross purposes a bit. The “chipmunk effect” comes from traversing a sample more quickly without any formant adjustment or time stretching (which is what scxt does today). So right now if you load a 44.1 k sample into a 48k session and play the root key it will be pitched ok by traversing the sample at the 44.1 bit rate and resampling and if you play a note up it will pitch up by traversing the sample more quickly (2^1/12 faster) and also resampling
The “interpolation” (or spatial reconstruction) I’m talking about is that resampler which as evil says uses small sinc windows on the impulses.
I know that having different bit rates in amplitude and sample rates and then reconstructing in an alias limited way is important
But I think when you say “no interpolation” you don’t mean what I think of as “no interpolstion” (which I think means “no interpolation - just write the sample to the output stream” and which I think you mean “no interpolation - just resample into the output stream”)
My guess, though, is this Thursday evening response will lead to me learning something about samplers of the 90s. Hence the comment!
The “interpolation” (or spatial reconstruction) I’m talking about is that resampler which as evil says uses small sinc windows on the impulses.
I know that having different bit rates in amplitude and sample rates and then reconstructing in an alias limited way is important
But I think when you say “no interpolation” you don’t mean what I think of as “no interpolstion” (which I think means “no interpolation - just write the sample to the output stream” and which I think you mean “no interpolation - just resample into the output stream”)
My guess, though, is this Thursday evening response will lead to me learning something about samplers of the 90s. Hence the comment!
-
- KVRian
- 1213 posts since 25 Dec, 2018
Yeah that’s right Andreya. And sinc is special because the infinite sinc is the fft of the brick wall response so the windowed sinc gives you a good band limited interp
-
Andreya_Autumn Andreya_Autumn https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=553235
- KVRian
- 510 posts since 21 Feb, 2022
Yeah I also don't know for sure what Wikter and the others meant, but I am also guessing that no interpolation is not literal. Probably ZOH is what folks mean, at least that's what those trackers mean when they say that.
For me personally, this is not a super important feature. I would be happy to let TAL have it as its thing. But since people seem to find it important I guess it'd be nice to do a couple options at least! Don't know what those should be but I guess we'll get there.
For me personally, this is not a super important feature. I would be happy to let TAL have it as its thing. But since people seem to find it important I guess it'd be nice to do a couple options at least! Don't know what those should be but I guess we'll get there.
- KVRAF
- 7026 posts since 19 Apr, 2002 from Utah
Well if you are doing those options, why not add a high quality 64 point interpolation as well?Andreya_Autumn wrote: Fri Apr 12, 2024 12:21 am Yeah I also don't know for sure what Wikter and the others meant, but I am also guessing that no interpolation is not literal. Probably ZOH is what folks mean, at least that's what those trackers mean when they say that.
For me personally, this is not a super important feature. I would be happy to let TAL have it as its thing. But since people seem to find it important I guess it'd be nice to do a couple options at least! Don't know what those should be but I guess we'll get there.
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
-
Andreya_Autumn Andreya_Autumn https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=553235
- KVRian
- 510 posts since 21 Feb, 2022
I don't know that we won't!
I will say though, that I just spent a little time with a piano and a saw sample, sped up and down by ≈ 3 octaves, comparing different interpolation strategies. And the difference I'm hearing between different sinc qualities is honestly really subtle. The low quality strategies (zoh, linear) do make an easily audible difference but once using the sinc the diminishing returns are real...
If you're hearing a huge difference between interpolation strategies, you're probably comparing linear with (any quality) sinc, that comparison is very audible. Pitching the saw up especially. But I would've struggled to correctly distinguish 16 from 64 from 192 point sinc even on the pitched up saw. A null test shows a difference, but my ears don't seem to care (and they aren't bad)...
Again, I'm not saying for sure we won't do it. But I don't think it's something we'll prioritize very highly before, you know, getting the thing working.
And as Paul points out above, higher sinc interpolation quality doesn't help at all with that smurf piano thing. That woiuld require time-stretch and/or formant shift algorithms, which is an order of magnitude more involved than sample rate interpolation. We're not resourced to do something from scratch, but this library recently released: https://github.com/kupix/bungee and we've briefly discussed implementing it, but will certainly not promise to do so before 1.0.
I will say though, that I just spent a little time with a piano and a saw sample, sped up and down by ≈ 3 octaves, comparing different interpolation strategies. And the difference I'm hearing between different sinc qualities is honestly really subtle. The low quality strategies (zoh, linear) do make an easily audible difference but once using the sinc the diminishing returns are real...
If you're hearing a huge difference between interpolation strategies, you're probably comparing linear with (any quality) sinc, that comparison is very audible. Pitching the saw up especially. But I would've struggled to correctly distinguish 16 from 64 from 192 point sinc even on the pitched up saw. A null test shows a difference, but my ears don't seem to care (and they aren't bad)...
Again, I'm not saying for sure we won't do it. But I don't think it's something we'll prioritize very highly before, you know, getting the thing working.
And as Paul points out above, higher sinc interpolation quality doesn't help at all with that smurf piano thing. That woiuld require time-stretch and/or formant shift algorithms, which is an order of magnitude more involved than sample rate interpolation. We're not resourced to do something from scratch, but this library recently released: https://github.com/kupix/bungee and we've briefly discussed implementing it, but will certainly not promise to do so before 1.0.
Last edited by Andreya_Autumn on Sun Apr 14, 2024 3:25 pm, edited 1 time in total.
