|
From: JP C. <jp...@ci...> - 2016-04-18 22:13:09
|
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. |