One of Yoshimi's little band of helpers has a very fine tuned audio sensitivity and has for some time felt that over the 10 or so years he's been using Yoshimi he's noticed occasional slight differences. However he's also a mathematician involved in some quite obscure software development.
Over the last couple of years he's been working from home, and his employer is quite happy for him to continue to do so. This has freed him up to do a deep dive into our code, and the results have been very interesting.
The first problem was that yoshimi is designed specifically to produce as natural as possible sounds. So he developed a method of being able to fix those for test purposes, without affecting the normal behaviour. Next he developed a way to send a command in an exact repeatable way - and record the resultant audio. While this can't realistically be applied to past versions, we can now ensure we know what's going on with all future development.
Meanwhile it's turned up another quirk that we can do something about. Even in version 2.1.1 we can see very small variations across different hardware platforms and compiler versions, and our current work has been directed to removing these by specifying no platform specific hardware shortcuts and defined computational sequences for things like number conversion mixed with multiplication/division etc.
None of this seems to have significantly altered the processor loading and we have now reduced the measurable worst case variance to something like -130dB without any detectable change in the sound.
There is one curiosity though. When comparing repeated recordings of specific note frequencies there is a tiny slow phase shift.
Finally, over the years Yoshimi's processor loading has actually dropped - even though its capabilities have vastly expanded. While we can take some credit for this, a lot of the improvement is due to the developments in Linux itself, particularly where memory management is concerned.
Yoshimi and the mathematician
Re: Yoshimi and the mathematician
It seems generally accepted among software developers that any content more than -125dB below nominal signal level can be classed as inaudible and can therefore be ignored.
The other info is all fascinating stuff!
Martin
- Martin Walker
Moderator -
Posts: 22121 Joined: Wed Jan 13, 2010 8:44 am
Location: Cornwall, UK
Contact:
Re: Yoshimi and the mathematician
Martin Walker wrote: ↑Tue Nov 02, 2021 9:57 pm
It seems generally accepted among software developers that any content more than -125dB below nominal signal level can be classed as inaudible and can therefore be ignored.
The other info is all fascinating stuff!
Martin
I'm extremely grateful for other devs getting in so deep. While I understand the principles involved, the actual mathematics is somewhat above my 'pay grade'
- Folderol
Forum Aficionado -
Posts: 20313 Joined: Sat Nov 15, 2008 12:00 am
Location: The Mudway Towns, UK
Contact:
Seemingly no longer an 'elderly'.
Now a 'Senior'. Is that promotion?
Now a 'Senior'. Is that promotion?