[L2Ork-dev] A plea for full double precision support out of the box in Purr data

Yoann Le BORGNE yoann.le.borgne at free.fr
Sat Aug 19 21:22:32 UTC 2017


Hi!

Intermediate user of Pd for a few years, I've been looking at Purr data 
this week and I'm quite amazed how slick it feels patching with it! 
Kudos to the devs and contributors, this is really impressive :). I'm 
writing this mail to exchange on a pretty specific feature that Pd lacks 
and to know if it could make its way into Purr data.


Double precision.


There is a clear explanation on the whereabouts of double precision 
computing in Pd here 
<http://www.katjaas.nl/doubleprecision/doubleprecision.html> 
(http://www.katjaas.nl/doubleprecision/doubleprecision.html), a video 
illustrating this point here <https://youtu.be/93632nc8LVs> 
(https://youtu.be/93632nc8LVs) and a fork of Pd extended 0.43.1 with 
full DP support here <https://github.com/pd-projects/pd-double> 
(https://github.com/pd-projects/pd-double).

An interesting quote from the first link:

While having limited effect on overall sound quality, double precision 
can still be beneficial for the quality of Pd programming in a different 
sense. Precision-robustness, combined with full numerical control from 
within the GUI, will convert Pd from a pocket calculator into a 
scientific calculator. Any user - artist or scientist - could verify 
meticulous math stuff directly in Pd, rather than bc, Octave, Grapher, 
C, or whatever inconvenient combination of these. As a computer 
language, Pd could be used for math classes and assignments at any 
level. Abstractions illustrating advanced math topics could be made. A 
wider use of Pd as a serious math language could have an impact on 
technical knowledge shared within Pd community. In my view, double 
precision could affect sound quality in particular via this detour.


On a more personal experience, I crashed at least twice on the single 
precision wall.

The first time was when I followed this serie of articles 
<http://www.earlevel.com/main/2013/06/01/envelope-generators/> 
(http://www.earlevel.com/main/2013/06/01/envelope-generators/) on 
creating an ADSR enveloppe with adjustable curve. I had to triple check 
my port of the C code following wires and boxes to then see that after a 
few math operations there were huge calculation errors.

The second time was when I found this thesis on Roland supersaw 
<https://www.nada.kth.se/utbildning/grukth/exjobb/rapportlistor/2010/rapporter10/szabo_adam_10131.pdf> 
(https://www.nada.kth.se/utbildning/grukth/exjobb/rapportlistor/2010/rapporter10/szabo_adam_10131.pdf). 
An interesting read that I couldn't implement in Pd due to rounding 
errors in computations of the equation shown p.12.


I see Purr data as a refreshing reboot of Pd trying to tackle some of 
its inherited quirks and nice-at-the-time-but-ageing-nowadays 
technological choices and couldn't resist to ask you if you could at 
least please consider this request. Seeing that Purr data intends to 
keep a K12 release, this could be a nice addition for scholar use ;)

Cheers,

Yoann

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/l2ork-dev/attachments/20170819/0bf24a1e/attachment.html>


More information about the L2Ork-dev mailing list