Using Physics to Generate Sound

Started by
5 comments, last by raigan 8 years, 6 months ago
Hi there.

I have a rather "out there" question which I'm sure the answer will be that there's a limit based on computational power. This may be a sound related question, but I feel my question is more related to physics.

To break down what I'm asking, traditonally in games we see pre-recorded audio that is played back and perhaps modified with things like reverb based on the types of objects that surround the sound like water, metal, or wood.

I was wondering about sound that would be actually generated based on physical interaction. Like two sticks slammed against each other. Instead of playing a pre-recorded sound, analyze the collision of the objects, what type they are, and what type of vibration they would theoretically really generate if those objects were real. So that in theory if those objects collided differently, it would always be a unique sound even if it's identifiable as two wood objects slamming against each other.

Is something like this even possible?

Do we not understand the physics of that well enough, or is too much for an ordinary computer to handle because it would take too much information and computational power to do?

This is just a thought experiment really. I'm very curious.
Advertisement

(Note: I'm not an audio guy)

What does a horse walking on a hard surface sound like?
Famously, what you think is a horse walking is actually the sounds of coconuts banging together.

Using perfectly real physics may give less interesting results. By way of analogy, the goal of artists isn't to draw a person or object perfectly - good artists exaggerate details to convey what they want to convey, and hide details that get in the way of what they are trying to communicate.

Or how human communication in real life is far from the idealized communication in movies, games, books, and TV.

Reality is unrealistic. Perfect simulation is not what consumers expect. Perfect simulation is not what artists create.

That said, content-generation saves alot of development time and costs. One option may be to record a few sound effects to give the more extreme results, and use computers to dynamically mix or interpolate between the source sounds. I think Wolfire is doing this for Lugaru 2, but I'm not positive.

A few minutes on google would tell you: yes smile.png

"physical sound synthesis" is a good search to get you started, or https://en.wikipedia.org/wiki/Physical_modelling_synthesis

http://www.soundsurvey.org.uk/index.php/survey/post/computer_synthesis_of_real-world_sounds/

http://gamma.cs.unc.edu/SOUND09/

Realistic sound propagation is also something that games typically suck at, but is being worked on:

The avant garde Trespasser is one of the few games that I know of that's used runtime synthesis for collision/scrape sounds.

Oh thank you. But honestly, Googling didn't give much help to me because I didn't know what term would be used to describe it. But physical sound synthesis huh? Thanks for all of the information! I'll go through it now!

This reminded me of some posts on the Bullet forums a while back:

http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=1646&hilit=audio&start=0

Project info here:

http://www.tech.dmu.ac.uk/~dylan/z/phya/index.html

Yes, it's totally possible - I'm doing it in the game I'm currently working on. But like with most choices, there are trade-offs. I'm using modal models, which model sounds as combinations of exponentially decaying sin curves. That's suitable for impact, sliding and rolling of resonant objects (metal, wood), but not so much for complex sounds or those which we think of as a single sound, but are in fact compounds of many individual sounds (wind in trees, glass smashing).

You're right that finding the right terminology for what you are thinking of is sometimes the hardest bit!

Here are some links that I found useful:

http://www.obiwannabe.co.uk/tutorials/html/tutorials_main.html
http://www.obiwannabe.co.uk/html/papers/proc-audio/proc-audio.html
http://ccrma.stanford.edu/~jos/pasp/
http://ccrma.stanford.edu/~jos/sasp/
http://ccrma.stanford.edu/~jos/log/

This is definitely something that has been presented in siggraph papers and some GDC lectures IIRC.

Here's a presentation that might be of interest:

https://www.cs.princeton.edu/~prc/ChucKU/PerryCookPhysicalModelingGameSoundCon2014.pdf

This topic is closed to new replies.

Advertisement