I know that nowadays there are some physics engines pretty advanced, capable of very complex simulations.
Are we at a point in technology where if, for example, we were to simulate a rock being dropped on the floor from a certain distance, the simulation can calculate the shape and weight of the rock , the air resistance experienced during the fall, the density of the floor where the rock will fall onto, and all the other thousands of factors involved, and from those things “calculate” the sound that the rock will make when hitting the floor, and then reproduce it?
Is there such a thing? Are we there yet? If not, is it something feasible?
I doubt this answers your question, but there is famous mathematical question “Can you hear the shape of a drum?” The wikipedia article is neat read.
Is it feasible? Sure. The limit on this kind of calculation is basically how much detail do we need to add to the environment (i.e., can we make the model) and how high resolution does the sound wave need to be (can we calculate it given finite compute resources).
To get something that roughly sounds like a rock? Not difficult to model or calculate, if we make some reasonable assumptions.
The sound of a wet towel thrown in the water during a hailstorm? Uhhh that’s a tough one.
Simulating sound uses classical mechanics governed by the wave equation, which is well-understood. In terms of CPU power, the calculation to propagate a simple sound wave (wavelet) could probably have been done on a TI-89 calculator from high school.
AngeTheGreat on YouTube is pretty famous for having written a car engine simulator purely for simulating the sound that they make - https://youtu.be/RKT-sKtR970 is a good launching point
Here is an alternative Piped link(s):
https://piped.video/RKT-sKtR970
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source; check me out at GitHub.
A big part of the physicist job is to know which factor aren’t relevant in a simulation. You may have heard about approximation like sin(\theta) = \theta or let’s assume a Gaussian distribution
it’s relatively easy to compute the noise of a flat surface falling over a flat surface at a given speed. However, the more factor you add, the more complex is the problem. A good thing is that for a simple phenomenon like that, you’d get something close from real-work even with some approximations. It’s more complicated for example for more “chaotic process” for example once a dice bounced-roll a few time, small difference in the exact position at the first bounce will lead to a different result, making very hard to do a proper simulation