On 8/5/06, Mathieu Bouchard <matju@artengine.ca> wrote:
On Sat, 5 Aug 2006, Ypatios Grigoriadis wrote:
> I have this little problem with [tabread4~ ]. When I use it to read from
> a relative short Array it works just fine. But now I need an array of
> 2.646e+007
elements(10 min with sample rate 44100). When I try it with
> such a long array I hear distortion from 1min 30 and it becomes worse as
> the time goes.
Distorsion would "start" at 1min35, the next distorsion level at 3min10
(double), and so on. But really it starts before, just softly, e.g. 0min47
is another threshold. The reason is that you are hitting the maximum
precision of float numbers, which is 24 binary significant digits. Said
thresholds are always at position 2*2*2*...*2 in the array. Starting with
each threshold you have twice less timewise precision. This makes
[tabread4~] go nuts after a while.
The easiest fix around this is to create a [tabread4~] external which uses
another float for large-scale index, so that the small-scale index can
stay precise. In the long term it would be better if Pd had an option for
higher-precision floats (double-floats have much more precision than you
need).
_ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
| Freelance Digital Arts Engineer, Montréal QC Canada
Thank you guys, I now have the picture of the problem.
However, I am not a programmer which means that it is impossible for me to create an external... So if any one has free time next weekend...
Or if anyone can figure out another solution, i would be grateful.
Thank you anyway!!!
--
Ypatios.