[yoshimi] Re: insidious rounding problem

  • From: Will Godfrey <willgodfrey@xxxxxxxxxxxxxxx>
  • To: yoshimi@xxxxxxxxxxxxx
  • Date: Sun, 27 May 2018 22:58:56 +0100

Is this a can of worms I see before me :(

I know of the change Andrew made for LV2 and didn't fully understand it but I
gathered it was taken care of by the host. I really don't understand LV2 (and
never use it) so left it alone.

A further complication is that I don't know what internal storage methods
various hosts use, so have no idea what errors they may (or may not) introduce.
I frequently do fairly basic tests with Ardour, Muse and Qtractor (never been
able to get Carla to work) and have occasionally thought Yoshimi in Ardour
sounded subtly different to the others and to stand-alone, but nothing I could
be confident of as I couldn't think of a way to make effective blind tests.

Also, the change of precision was made by me very specifically for scales, where
at one point we do a string conversion to a double not a float. In that case, as
a belt-and-braces measure we also store the originating text so we can always
re-create exactly the same value in an editable form.

All floats that are stored in instruments now have the full bit pattern storage,
so a conversion from older file formats possibly risks one loss of precision,
but after that there should be no degradation.

Finally, there are several places where Yoshimi now uses floats internally,
but storage is still as chars. As time permits, I want to convert them all (for
the .xiy form) to float storage as above, while maintaining backward
compatibility.

-- 
Will J Godfrey
http://www.musically.me.uk
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
Yoshimi source code is available from either: 
https://sourceforge.net/projects/yoshimi
Or: https://github.com/Yoshimi/yoshimi
Our list archive is at: https://www.freelists.org/archive/yoshimi
To post, email to yoshimi@xxxxxxxxxxxxx

Other related posts: