Jump to content
The Dark Mod Forums

Requesting Realistic Sound Loss Values


Ishtvan

Recommended Posts

Hi guys,

 

Eventually, I will need input on realistic values for sound propagation. In order of priority, here's what I'll need:

 

-Data on the human hearing threshold for impulse sounds

 

-How loud (in dB) is the max volume caused by typical walking footsteps when you're standing right next to them? How about jogging footsteps, sprinting footsteps? How about on different surfaces (carpet, floor)? Then I'll also need values for jumping up and down and dropping stuff. If you have time to do some measurements with a sound meter that resembles the human ear frequency response, that would be awesome.

(I realise that a lot of these you guys have already made a lot of these into SFX files. I could simply measure the rms or peak-peak volume from those, but I'm not sure if they're normalized to their real-life volumes. That is, do we make some SFX, like stepping on carpet, louder than it actually is to make sure the player hears it?)

 

-Loss per unit length when going thru various materials (metal door, wood door, etc). I can probably look these up in a table (actually, the reference site I posted in sound programming has values for loss thru materials for a few frequency ranges, so I'll probably just use the mid-range losses and see if it sounds realistic).

 

Finally, I want to make sure I'm using realistic formulae. Doom3 uses quadratic falloff (1/r^2), which I believe models geometric spreading of spherical sound waves in free space. Sound waves confined to a cyllindrical tube falloff as (1/r) if I remember right. Which is more accurate for propagating thru typical indoor spaces (rooms, hallways?). Also, I assume this gives sound in dB, that is : sound( r_0 + r ) [ in dB] = sound( r_0 ) * 1/( |r|^2 ) [in dB] (for free space sound starting at vector r_0 and propagating to vector r).

 

Also, for later on, for a room that absorbs a lot of sound energy upon reflection from the walls/floor/ceiling (eg, a carpeted room). If you had to account for this by multiplying by an additional loss per unit length, [dB / m ] what do you think this value would be for various lossy materials on the floor/wall/ceiling? (eg, carpet, wood panneling, tapestry lined wall).

 

Any help is appreciated, and again there's no hurry, I'm still writing the code framework, and tweaking values to reflect reality will be the last step.

Link to comment
Share on other sites

I was talking to MrD about this problem some weeks ago, because I also wanted to know realistic values which we might scale up or down then for propagation. You should talk to him about this.

 

Also we might need different values for roomtypes. A cathedral has a different sound then a bedroom. So we might need some indicator for this as well.

Gerhard

Link to comment
Share on other sites

I don't know much about sound, but I can guarruntee that the other Thief games didn't go into this level of realism. Footsteps are artificially loud for game purposes.

Link to comment
Share on other sites

Ishtvan, I raced through your post as I'm at work, so pardon me if I'm stating what you've already written. First thing, loudness (dB) decreases as the inverse square of the distance, yes I think retracting aditional dB depending on the material the sound collides against is well in order, but coming up with a muffling factor for every material is more a trial and error thing - it all boils down to what "feels right" ingame.

 

Regarding your steps question - a whisper heard from 10cm is about 30dB loud. A normal talk between two people is approx 70 dB loud. Using these two as reference I'd say normal steps would be in the 50dB area, while running 60dB at least (add clothing noises, breathing etc). Sneaking steps would be in the 30dB area.

 

A 10dB increase in loudness is perceived twice as loud as the original sound. A 20db increase in loudness is perceived 4 times as loud as the original sound.

Some trivia: sound becomes painful at 120dB and at 180dB your hearing tissue dies.

 

Don't ask me where I pulled this from, my memory is a dark realm of foggy matrixes and unidentified information. I'm sure more detailed (and perhaps correct) data can be found online, but as a starting point this should do.

 

mrD

Edited by mrDischarged
Link to comment
Share on other sites

Agreed that sound should have different volume levels, but with the footsteps there hasn't been much difference in volume between "walking on carpet" and " walking on tile". Of course, the tile is heard more clearly simply because of the nature of the sound... more high-end transient sounds that carry much better.... but it would have a slight raise in volume level. This could be a good indicator to the player that they are walking loudly. But, on carpet the volume woul dhave to be louder simply so the player could hear their own footsteps.

 

Again, it all comes down to what feels "right" in the game.

 

As far as environmental things go, the general sound of a room is decided probably most likely by the sound engine itself. I was reading through some of hte docs on the Doom 3 sound engine and noticed the use of reverb. This reverb setting for each room will probably decided what the room will sound like. Presets could be made for each style of room.

 

cathedral_01: lots of reverb, large room size, moderately fast early reflections, no damping

bedroom_07: no reverb, small room size, extremely quick early reflections, 100% damping

sewers_03: tons of reverb, medium room size, fast early reflections, 35% damping

 

and so on, and so on....

 

Does this seem like the answer to the question of sound environments?

"Without music to decorate it, time is just a bunch of boring production deadlines or dates by which bills must be paid."- Frank Zappa

Link to comment
Share on other sites

Thanks a lot mrD and SaxMeister, that info is very helpful!

 

I realise that for sound to the player we might have to artificially pump up the volume for stuff like carpet so the player actually hears it and get some feedback about what they're walking on. But when we shift to the volumes the AI hears, it would be cool if we could use more realistic volumes for this sound, so that if a carpet sound is, in reality very soft and could barely be heard when going from player's foot to ear, an AI should not be able to hear it 10 ft away, you know what I mean?

 

mrD : Yeah, the dB scale is logarithmic. I'm thinking we should not use this fact until doing the AI hearing check tho. It's easy to do propagation calculations in dB because you can just multiply stuff, you don't need the exponential in there all the time. But then in the AI code, once it heard a volume in dB (call it V_db) you could calculate an "equivalent loudness" of Constant*exp[ V_db ] , and use that to calculate how likely it is that the guard will notice the sound. Does that make sense?

 

Sound environments for AI prop:

Also, here's the scheme I'm thinking of to customize AI sound loss: The current design for AI sound system works by propagating thru areas and portals. It doesn't actually calculate bounces off of walls, etc. So when travelling thru each area, sound will have a default loss multiplier of 1 (loss in dB per unit distance).

 

Say you want to make an area have more or less loss (to reflect an area being filled with lossy materials, or a very "echoey" area filled with very acoustically reflective materials (like a flat stone hallway) that would actually "guide" the sound with very little loss. Possible solution: You add in an invisible entity (called sndPropArea or something like that) somewhere within the area, and set the loss multiplier on it. Then when sound is propagated thru the area, it applies the loss multiplier to the total loss thru the area. For lossy rooms, multiplier would be greater than 1, for echoey rooms, less than 1. Does that sound feasible to mappers and sound people?

Edited by Ishtvan
Link to comment
Share on other sites

in reality very soft and could barely be heard when going from player's foot to ear, an AI should not be able to hear it 10 ft away, you know what I mean?

 

As long as gameplay considerations come first. :) T3 made creeping more realistically quiet, but it sucked from a gameplay perspective because it made things too easy.

Link to comment
Share on other sites

True, I'll keep that in mind. Also, IMO it's NOT more realistic what they did in T3, because despite your footsteps being softer while creeping and crawling, it still makes a lot of noise rustling your clothes and gear. I'd like to see someone duckwalk while crouched and not make a lot of rustling noise.

Link to comment
Share on other sites

Mnnnrrrrrrrr....

 

I'll reply to this more fully when I haven't just spent 13 hours in a technical rehearsal...

 

Basically, there are two essential models, and the truth is a bit of one plus a bit of the other...

 

1) The 1/r^2 thing refers to ray propogation, and is pretty much true for the propogation of the initial impulse (less so for lower frequencies, and less still when the environment is small enough for the early reflections to arrive within 2 ms of the initial impulse, and thus be psycoacoustically indistinguisable).

 

2) You then have "diffuse field" calculations, i.e. reverb level in our terms, which is far less distance depentent. Am too knackered to go in to detail, but for a given frequency, you have:

 

SPL = k x ((rate of emission-rate of absorbtion)/volume of space)

 

(k is some constant)

 

My recommendation would be to keep (1) for the playback of a sound, but for the reverb send level, make

 

LEVEL = l / (m x (NumPort+1))^2

 

(l and m are also constants, NumPort is the number of portals the sound has to pass through to get to the player.

 

Will go to bed, then repost...

Link to comment
Share on other sites

Lets start out by assuming that the AI and sound source are separated by at least a few rooms and hallways.

 

So if I understand right, you're saying it's probably okay to use the ray propagation model (1/|r - r_0|^2) for sound propagation to AI over long distances?

 

Trying to model the propagatin of the diffuse field also adds in the complication that sound would be propagating thru several rooms with different reverb characteristics, and if sound is anything like light (that I do know a bit about), there would be geometry-dependent coupling losses going from room to room. Is that coupling loss what you were modeling with the 1 / (const * number of portals) equation? In reality each portal would have a different coupling loss based on geometry right?

 

As for propagating sounds to the player, we don't have that much choice in that matter, other than you guys using soundshaders and stuff. The soundengine that generates sound for players is something we don't have access to in the code. (of course we can do some faking of things by placing new emitters, but that's low priority on my list right now)

Edited by Ishtvan
Link to comment
Share on other sites

As long as gameplay considerations come first. :) T3 made creeping more realistically quiet, but it sucked from a gameplay perspective because it made things too easy.

Totally! And I hated not hearing Garrett make *any* footstep sounds while crouch-walking in T3.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...