[PD] tabread4~ interpolation revisited

cyrille henry ch at chnry.net
Mon Jun 3 10:55:43 CEST 2019


Hello,

- When reading a file at slower speed, tabread4~ create audible artefact. tabred4c~ use the same algorithm but with small difference in the interpolation coefficient (tabread4c~ use very classic coefficient for audio interpolation. Miller use a coefficient set that minimize artefact from a mathematical pov. But put them in very audible place).
So, when using tabread4 object to read an audio file t low speed, replacing it with tabread4c~ is an easy solution to improve audio quality.

- When you want to speed up a file playback, aliasing appear. Some algorithm solve this problem is a good way but I'm not aware of any pd implementation yet.
Since the interpolated value depend of the playback speed, I don't think it should be implemented in a tabread object but in a tabosc~ object (or a "multispeed_play" file)
I made a tabosci~ (i for interpolated) that allow to oversample/filter the interpolation algorithm. I agree that this is the worst solution to remove aliasing, but I did never had time to implement a better algorithm.
So, for now, you can use tabosci~ when you want to play a file at faster rate with reduced aliasing.

And I +1 with you for asking a correct Whittaker–Shannon interpolation object.

cheers
Cyrille

Le 02/06/2019 à 16:58, Peter P. a écrit :
> Hi list,
> 
> having asked my students to compose pieces in Pd using audio data in
> tables and reading them via tabread4~ my ears are still slightly
> bleeding from the interpolation artefacts audible in almost every second
> composition. Surely, everyone likes to slow down playback and I think it
> should be possible without too many audible artifacts in Pd.
> 
> There is this legendary discussion on this list
> https://lists.puredata.info/pipermail/pd-list/2008-06/062864.html
> after Cyrille kindly posted about his tabread4c~ external. He also
> pointed out more elaborate interpolation schemes such as in
> https://lists.puredata.info/pipermail/pd-list/2008-06/063221.html
> At that time a lot of list members agreed that it might be great to
> switch interpolation algorithms in tabread4~ with an argument or
> message to the object. As far as I can tell no additional interpolation
> got implemented until today. Am I correct here?
> 
> The issue got briefly revisited two years later in 2010
> https://lists.puredata.info/pipermail/pd-list/2010-03/077232.html
> and raised by me again in 2015
> https://lists.puredata.info/pipermail/pd-list/2015-05/110312.html
> https://lists.puredata.info/pipermail/pd-list/2015-06/110751.html
> after which I switched to supercollider for the specific project I was
> working on at that time as it performed better at slow playback.
> 
> What could be a possible way to get slow playback from tables with less
> artifacts? (I am tempted to add "in 2019") ;)
> 
> Thank you for all ideas and comments!
> P
> 
> 
> 
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
> 





More information about the Pd-list mailing list