I wonder if this could be converted into a web application, maybe using WASM? I'm sure a lot of people here want to try it out on their own, but for me the build process is daunting as I haven't written C++ since college days. A web application would be very accessible.
This is great, I'm watching the video on YouTube now...
Are exhausts/mufflers modelled?
For ages I've wanted to simulate different designs for exhaust headers and systems, to be able to possibly create different/interesting sounds from certain engines - i.e. can you add some additional headers with a different length and make an I4 sound like an I6?
A second simulator for exhaust systems would be appealing. Perhaps he will figure it out himself, or re-open source the existing simulation once he figures out how to get the credit/compensation he deserves.
I think the issue would be that whereas this I think can get away with just a really fast rigid body simulation, the exhausts and so on would need to simulate acoustics where you have feature sizes in the same ballpark as the wavelength of the sound i.e. your ear will almost definitely be a harsh critic.
I mean there are models in acoustic physical modelling for e.g. throat simulation that break the throat up into a series of cylinders and frustrums that work quite ok. Not sure about real time performance tho.
Guitarists (or mixers) record IRs by playing a sine wave through their cab and recording that. The difference from the dry vs recorded sample is then your IR. While exhaust systems have no digital input, if you have good enough audio gear that can output the signal dry as possible through the exhaust setup, it should achieve the same result I guess. Not that trivial for everyone to do, but if you do this enough times for different kind of exhausts, you'll also have great dataset to start researching and developing a software that can model exhausts accurately.
You can model it as a series of tubes of different diameters.
Look up "digital waveguide" for some more details. This technique is mostly used in speech synthesis, where it can make pretty realistic human-speech-like sounds by modelling the vocal tract, but there's no reason it can't be applied to a car exhaust system.
This is so cool and it's amazing to me that a single programmer was able to do this as a hobby project. (To me it's magic, I know to some this a just a big project).
In games you get a better result for the cycles by cheating rather than doing a physical simulation.
Live for speed IIRC did have a fully synthesized engine sound but most games now have samples and some clever interpolation / synthesis as mentioned by others.
Live For Speed also sounded pretty average, although it was still highly appreciated that they simulated it instead of fauxing give the type of game it was.
GTA used a combination of pre-recorded real life audio and their own granular synthesis engine. (Granular synthesis uses sampling, but cuts up the samples into tiny pieces and processes them in various ways.)
Automation Game (car tycoon) features engine design and stimulates sounds from a combination of individual parts snippets iirc as you move around you can hear the valve train clicking or the cylinder firing