Forums > Gen

[Feature Request] msp's delay~ quality much higher than gen's delay…

February 28, 2014 | 9:47 am

Hi,
I’m looking forward for a sinc interpolation in delay in gen!
Because actually, none of interpolations available in delay in gen is able to give me an un-aliased sound, clean un-aliased sound that i get using the delay~ object in msp!

Since my original formant-pitchshifter algorithm was first prototyped in msp using delay~, which is using sinc interpolation that is not available in gen***, i first tried a bit the different gen’s delay interpolation options, having the quick conclusion that cubic was good… but i just had tested pitch shifting down on a noise… Now i realised while pitching-up violin notes that cubic is actually the worst interpolation! (not considering ‘@interp none’ of course).
I was testing the sound mostly using my great monophonic-formant-pitchshifter patch (messy at the moment), that is using a bright electric violin sound source (i precise that i’m using big low-pass filters all over the place going in and out of the pitchshifting to prevent real aliasing from too high frequencies ;-) ), but i also made a simple test patch to post here.

Here are my tests, see simple test-patch attached:

- msp’s delay~ , (4-points?) SINC interp: Clean un-aliased sound!

- gen’s delay, LINEAR interp: Aliasing when pitchshifting-up. (only ok if upsampling my poly~
- gen’s delay, COSINE interp: Strange Aliasing even while pitchshifting a little…
- gen’s delay, CUBIC interp: Strange Aliasing even while pitchshifting a little…
- gen’s delay, SPLINE interp: Strange distortions/beats while pitchshifting-up from several octaves… (somehow i couldn’t clearly reproduce in this test patch that is just using a single cycle~)

So I’m really looking forward for a sinc interpolation in delay in gen!

Cheers,
Alexandre

Alternatively, if someone know how to transform the Max 6.1/examples/gen/gen~.sincinterpolation.forloop.maxpat from 16-points sinc interp to 4-points sinc, i could eventually test if the cpu cost is ok with it. (…Not sure since I have 12 delays in my algorithm * 15 voices of polyphony))

*** other topic about that: http://cycling74.com/forums/topic/delay-in-gen-giving-a-totally-different-signal-than-delay/

<pre><code>

– Pasted Max Patch, click to expand. –

</code></pre>
 


March 2, 2014 | 7:49 pm

"Alternatively, if someone know how to transform the Max 6.1/examples/gen/gen~.sincinterpolation.forloop.maxpat from 16-points sinc interp to 4-points sinc, i could eventually test if the cpu cost is ok with it. (…Not sure since I have 12 delays in my algorithm * 15 voices of polyphony))"

Perhaps I am misunderstanding but can’t you simply change the number of points by changing the ‘points’ variable in the code?


Viewing 2 posts - 1 through 2 (of 2 total)