Yoshimi and the mathematician

For all other computers and operating systems, including Atari, Linux and mobile apps.
Post Reply

Yoshimi and the mathematician

Post by Folderol »

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.
User avatar
Folderol
Forum Aficionado
Posts: 20313 Joined: Sat Nov 15, 2008 12:00 am Location: The Mudway Towns, UK
Seemingly no longer an 'elderly'.
Now a 'Senior'. Is that promotion?

Re: Yoshimi and the mathematician

Post by Martin Walker »

Folderol wrote: Mon Nov 01, 2021 10:47 am 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.

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
User avatar
Martin Walker
Moderator
Posts: 22121 Joined: Wed Jan 13, 2010 8:44 am Location: Cornwall, UK

Re: Yoshimi and the mathematician

Post by Folderol »

Martin Walker wrote: Tue Nov 02, 2021 9:57 pm
Folderol wrote: Mon Nov 01, 2021 10:47 am 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.

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' :think:
User avatar
Folderol
Forum Aficionado
Posts: 20313 Joined: Sat Nov 15, 2008 12:00 am Location: The Mudway Towns, UK
Seemingly no longer an 'elderly'.
Now a 'Senior'. Is that promotion?
Post Reply