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?

  • froh42@lemmy.world
    link
    fedilink
    arrow-up
    44
    arrow-down
    1
    ·
    edit-2
    11 months ago

    Not specifically for a rock, but that’s “roughly” how physical modeling synthesiers work for instruments.

    Also there’s a youtube channel of a guy who builds an engine simulator to reproduce the sounds of 4-stroke and 2-stroke engines by applying fluid dynamic simulation of the gas flows in an engine.

    It COULD conceivably be built for rock dropping as well, but I assume that’s not a thing people have yet put effort in.

    Edit:

    https://youtu.be/oUrYlZQVHvo?si=NPNYeKqr-MWkn7B8

  • TeaEarlGrayHot@lemmy.ca
    link
    fedilink
    English
    arrow-up
    22
    ·
    11 months ago

    Yes and no. As my physics professor used to say, all models are wrong, our goal is to make the least wrong model. It’s literally impossible to simulate every event. For example, what if there was an anthill under the area where the rock is dropped? Maybe that will affect the resulting sound? Maybe, but it’s not going to make a difference to the observer.

    We know enough physics to simulate a huge number of simultaneous events, but at some point a model becomes far too complicated (e.g. taking a week to run on a powerful computer), when a more simplified model will do the trick just fine. I personally compare it to FLAC and MP3–FLAC is of course best quality, but will eat up a ton of storage space, and MP3 (with compression) is good enough

  • iceonfire1@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    11 months ago

    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.

  • Ziggurat@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    3
    ·
    11 months ago

    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

  • ggwithgg@feddit.nl
    link
    fedilink
    arrow-up
    3
    arrow-down
    2
    ·
    edit-2
    11 months ago

    What you can do, and is probably the best way to get this to work, is tackle this with machine learning. You will need lots sound samples of rocks, with details of the rock, and feed them to some (probably deep learning) model.

    Speech mimicking with AI has shown we are able to mimick voices, so I think a similar approach would work for rocks. Probably need some tuning and a bit different architecture for nice results since the application differs a bit.

    It will of course be an approximation, but that is any calculation. Since all models are wrong, but some are less wrong than others.