Comment by Tade0

5 hours ago

> It produces sound based on the way the instrument, including its vibrating strings, physically interacts with the surrounding air.

I suppose this is the innovative part. They're not simulating just the string, but also the fluid it's immersed in, which is a computationally hard problem.

I made a vibrating string simulator in college for our Numerical Methods course and for quite a while I couldn't understand why it sounded so bad.

Turns out rounding errors in floating point operations can propagate to a point where they produce this distinct, "metallic" sound.

They're incredibly small, but if your system of differential equations is large enough, they'll become noticeable. Switching to an algorithm with better numerical stability would probably mitigate this issue, but I didn't get that far with my project.

> Turns out rounding errors in floating point operations can propagate to a point where they produce this distinct, "metallic" sound.

Reminds me of a Karplus-Strong synthesis implementation that produced a gorgeous guitar/mandolin sound, but only for delay durations that weren't simple ratios with the given sample rate. The simple-ratio durations would end up sounding like crude, attenuated periods of noise-- metallic sounds like you'd expect from a pitch produced in a KSS demo. Everything else had some kind of subtle interpolation error that ended up shaping the noise just enough to make it sound like a million bucks.

The problem with most KSS is that the filter used will typically saturate the timbre. So rather than hearing a guitar string, you're hearing a guitar-adjacent interpolation scheme whose prominence makes you wonder just how un-guitarlike the original unfiltered sound must have been.