JP Cimalando
2016-04-18 20:51:37 UTC
Hi, lately I've stumbled upon an old article that sings praise of
Akai S1000 samplers and the resampling algorithm it used.
This piqued my curiosity and inspired me to try implementing a sinc
resampler into LS for comparison.
I attach my code to the message, as patch against svn trunk.
Link to the article: http://martin78.com/samplers/akai-s1000-s1100/
-- some implementation notes:
* this is a N-point sinc resampler, where N is defined in code by
parameter SINC_NPTOTAL=SINC_NPBEFORE+SINC_NPAFTER
* code uses optimization to reduce the number of trig operations/sample
from N sin() to 1 sin() + 1 cos()
As default I have used parameters NPBEFORE=1 NPAFTER=7, the number of
past and future samples used respectively.
This happens in some situations, with some samples of my set, to crash
LS with segfault, presumably because of out-of-bounds access by
getSample().
The question is: where in LS is defined how many past/future samples are
available to the resampling?
I note LS already has linear and cubic which require 2 and 4. How
to control this number? Akai S1000 supposedly has N=8, but I'd like to
also to try larger lengths.
Akai S1000 samplers and the resampling algorithm it used.
This piqued my curiosity and inspired me to try implementing a sinc
resampler into LS for comparison.
I attach my code to the message, as patch against svn trunk.
Link to the article: http://martin78.com/samplers/akai-s1000-s1100/
-- some implementation notes:
* this is a N-point sinc resampler, where N is defined in code by
parameter SINC_NPTOTAL=SINC_NPBEFORE+SINC_NPAFTER
* code uses optimization to reduce the number of trig operations/sample
from N sin() to 1 sin() + 1 cos()
As default I have used parameters NPBEFORE=1 NPAFTER=7, the number of
past and future samples used respectively.
This happens in some situations, with some samples of my set, to crash
LS with segfault, presumably because of out-of-bounds access by
getSample().
The question is: where in LS is defined how many past/future samples are
available to the resampling?
I note LS already has linear and cubic which require 2 and 4. How
to control this number? Akai S1000 supposedly has N=8, but I'd like to
also to try larger lengths.