On Sat, 2010-11-27 at 11:20 +0100, Derek Holzer wrote:
That's a nice theoretical explanation Mathieu (no sarcasm intended), but let's think practical for a second. If you were going to give some simple advice to Pd newcomers about the length of a soundfile they should load to be read by [tabread4~] without noticeable distortions, what would it be? Please no "what do you consider noticeable" discussions, let's just think friendly suggestion ;-)
I _guess_ there is probably no rule of thumb here. I also believe this is dependent on the content of the table. Consider very low frequencies: A small error in time won't lead to a small error in amplitude, whereas for high frequencies a tiny error in time will probably cause a huge error in amplitude. What I am trying to say is that the "noticability" is likely different with each sound file.
When playing a table at Pd's native rate, you can play tables error-free with up to 16777215 samples. At 44.1kHz, this would translate to ~6min20s length in time.
When using interpolation, you might have to use your ears to decide what's O.K. for you. The problem is, though, that the interpolation algorithm used in [tabread4~] some consider as bad (me included) and adds some unnecessary distortion (i.e. discontinuities in the first derivate). This makes it hard to distinguish errors introduced by precision problem from errors introduced by the 'bad' algorithm.
Roman
On 11/27/10 7:40 AM, Mathieu Bouchard wrote:
On Fri, 26 Nov 2010, Derek Holzer wrote:
So what could the max size of a file be without losing any detail with [tabread4~]?
There is no such thing... It's completely relative to the amount of detail you want to have. If you want a million points between sample 1 and sample 2 you can have them, but if you go between 100 and 101 you already can't have that anymore. If you want to be able to use sixteenths of samples, you can up to sample 1048576, but after that it's only eights, until the double of that size, etc.
[tabread4~] is made to read between the samples, but there's no standard on how many points between the samples one might want... it depends on what you decide to do with the data, and the maximum error you can tolerate in that situation.
Is that the hardcoded 4000000 elements limitation?
I think that it's just so that you don't load something too big, for the typical amounts of RAM that people had back when [soundfiler] was written.
| Mathieu Bouchard ------------------------------------- Aix-en-Provence