13

I'd like to be able to algorithmically create sounds (like monster growls, or distant thunder.) This isn't as widely covered on the net like more traditional procedural content (terrains, etc.) Any one have any algorithms on how to create these kinds of sounds?

Jason
  • 1,225
  • 2
  • 16
  • 18
  • A higher level approach would be to take a look at on how digital synthesizers work. (Not the ones based on instrument samples.) Then you would just have to randomly tweak parameters under some constraints. – danijar Apr 15 '13 at 08:08

2 Answers2

10

This, in general, is a very hard problem. Just like drawing, each sound is its own thing, and needs its own algorithms, and, like drawing, some are more easily done by algorithm than others. There's no general algorithm for creating sound any more than there's a general algorithm for drawing all things like faces, insects, and mountains. Each is it's own project (and often quite a big one), unless you're just looking to draw circles or generate sine waves.

Most of the case studies I know of are the many attempts to generate musical instrument sounds, and generally each of these attempts is a PhD thesis.

For a time-efficient solution, sampling is the way to go.

Or, if you really need a procedural approach, you could ask the question for one specific type of sound, and people might be able to come up with an algorithm for it. For example, I'd be interested in taking a shot at a "distant thunder" algorithm, but don't want to bother if having just thunder but no monsters, etc, is not useful to you.

tom10
  • 67,082
  • 10
  • 127
  • 137
  • A big advantage of the sample and modify approach is that it's easy to play with and has a shallow learning curve. It's even somewhat fun. Since you start with something that sounds approximately like what you want, you can try various changes and hear what happens. Or, put differently, there are many more ways to miss a target than to hit one. – tom10 Jul 29 '10 at 18:06
  • I was brainstorming this topic in my mind, and yes, conclusion was, that most easiest way to start digging in procedural sound generation direction, is to disassemble existing sound samples and check for patterns which can later be reproduced. It could be started as extraction for small sample parts and then assemble them to higher level result, using algorithm parameters. I suppose, there are multiple layers of frequencies over frequencies, so there is plenty space for exploration. – MT4000 Aug 15 '14 at 14:43
6

I would suggest checking out the many software projects and papers of Perry Cook who has done some great work in the realm of physical modelling (though his website is a bit of a nightmare to navigate). Though as tom10 says, it's a very hard area. If you have the stomach for a bit of signal processing then it's a very fascinating area to get into.

the_mandrill
  • 29,792
  • 6
  • 64
  • 93
  • 3
    One of the best web resources on this topic is here: http://obiwannabe.co.uk/tutorials/html/tutorials_main.html – Boris Smus Dec 21 '12 at 18:14