Chaosforge Forum
DoomRL => Requests For Features => Topic started by: thelaptop on November 09, 2010, 19:22
-
We all love DoomRL because it is an amazing rogue-like. So far, everyone has been dealing with game play issues with regards to the features that they want, including better LOS algorithms, better AI and the like.
But there is one thing that is severely lacking that it needs to be addressed now: sound synthesis.
Part of the allure of DoomRL lies in the fact that if you want to do reasonably well in the game, situation awareness is key. And by that, we mean that you must be able to hear where the enemies are and factor that into your calculations on your next step.
The current sound system of DoomRL suffers from 2 critical flaws:
- Inability to differentiate "top of map" from "bottom of map"
- Sounds that travel across 8 tiles of floor sound the same as sounds that travel across 8 tiles of wall
This request for feature seeks the improvement on the sound synthesis technique so that the two points highlighted are addressed. This will make sound cues more accurate for the player to make better informed decisions.
Suggestions on how this might be done:
- Band pass filters that make sounds appearing behind the pinna a little more muffled
- "True" binaural synthesis where the actual two-dimensional position of the sound source plays a factor (by playing with the left-right channel mixing and messing with microsecond delays for the channels)
- Frequency damping to simulate the sound passing through multiple walls (by Law of the first wave front (http://en.wikipedia.org/wiki/Precedence_effect), we can assume sound takes the shortest Euclidean path to reach DoomGuy -- so we can reuse LOS code to determine how many walls to bash through)
This feature is probably more impactful to game play than say graphical tiles.
-
I don't have much to say beyond this should be a required feature for 0.9.9.2 to be released.
-
Additionally one thing needs reworking: Multiple sounds played short after each other should not be louder.
Example: I move one tile. In the time one ore more lost soul(s) may move/attack several times. Result: My ears explode from the use of a headset because all the lost soul moves/attacks are played in one extreme loud sound. I mean extreme loud in comparison to the normal loudness of the sound.
-
Additionally one thing needs reworking: Multiple sounds played short after each other should not be louder.
Example: I move one tile. In the time one ore more lost soul(s) may move/attack several times. Result: My ears explode from the use of a headset because all the lost soul moves/attacks are played in one extreme loud sound. I mean extreme loud in comparison to the normal loudness of the sound.
I think that's just the way that multiple sounds coming from the same channel are dealt with, constructive interference an' all that. Although with each additional sound, the volume of the channel could be reduced temporarily to account for the amplification.
Maybe it's just me, but I can't remember ever hearing more than one monster per action. If that is a problem (and it's not just in my head) then it would be another problem to address.
-
My take on the multiple monsters/actions noise is that if we have a true direction-based sound synthesis system, the sounds will all be different since no monster stands in the same square.
Oh, and there are ways of mixing more than one sound that will not raise the overall amplitude of the signal (and blow your ears out). We just need to have them in place.
[Ed: Here's a link that explains how to do it (http://www.vttoth.com/digimix.htm) for two sounds. Just rinse + repeat for the total number of sounds needed.]
-
I heard that if for example 4 violinists play the same thing with same volume it would be 2x louder than 1 violinist or something.
-
I heard that if for example 4 violinists play the same thing with same volume it would be 2x louder than 1 violinist or something.
Loudness increases logarithmically with respect to perception. So if you want something to sound twice as loud, you need to put in about 10 times more power.
Loudness decreases inversely with respect to distance. So a sound at a point sounds half as loud 2 metres away, and a quarter as loud 4 metres away.
-
Loudness decreases inversely with respect to distance. So a sound at a point sounds half as loud 2 metres away, and a quarter as loud 4 metres away.
This is wrong. Loudness is inversely squarely proportional to distance. A sound heard 2 meters away from its source will be 4 times louder than a sound heard 4 meters away from its source, because (1/2) squared is 4 times greater than (1/4) squared.
-
This is wrong. Loudness is inversely squarely proportional to distance. A sound heard 2 meters away from its source will be 4 times louder than a sound heard 4 meters away from its source, because (1/2) squared is 4 times greater than (1/4) squared.
No. See this (http://en.wikipedia.org/wiki/Sound_pressure#Distance_law). Sound pressure is related to the loudness.
-
I'm sorry, I just have to laugh whenever people use Wikipedia as their source.
That being said, I fully support a better sound management system.
-
I'm sorry, I just have to laugh whenever people use Wikipedia as their source.
That being said, I fully support a better sound management system.
/me shrugs
I'm at work... too lazy to look up the sources, so poor ol' Wikipedia will have to do.
Also, not an academic paper, so don't really care too much about where the sources are from. =P
-
I'm sorry, I just have to laugh whenever people use Wikipedia as their source.
It's not the best source in the world, but given that the page in question does have citations, I think it's reasonable to use it as a source.
-
OK, well, in response to this little arguement, I've broken out my Year 12 Physics textbook from last year and there seems to be some confusion among you guys regarding the difference between sound intensity and sound level. The reson for this is that human hearing percieves sounds in a way that is rather mathematically odd, with an increase of ten times the intensity resulting in an increase in the sound level (percieved by the human ear) of 10 decibels, meaning a human doesn't hear the sound as being 10 times louder, even though it it is ten times more intense, which is due to the manner in which the human ear operates.
What is true, however, is that if you double the distance to the source of the sound, you quarter the intensity, rather than halving it (as it is indeed given by I = 1/r2). A doubling of sound intesnity will increase the sound level (in decibels) by about 3 dB, so if you double the distance (and thus quarter the intensity), the sound level will decrease by 6 dB... What the book doesn't seem to say, however, is how much quiter a decrease of 6 dB sounds to the human ear, though according to this website...
http://www.gcaudio.com/resources/howtos/loudness.html
...we percieve an increase of 10 dB (meaning an increase of ten times the intensity) as being roughly twice as loud and a 20 dB increase as four times as loud...
The bottom line here is that, laptop and thomas, neither of you is exactly right.
Laptop, it is indeed neccessary to put in ten times the power (as intensity is given by Watts per square metre) to make a sound the human ear will percieve as being ten times louder, but doubling the distance to the source of a sound will not make it sound twice as quiet (as the sound level will decrease by 6 dB every time the distance doubles, not 10), 'nor will doubling the distance halve the intensity (it will quarter it).
Thomas, your statement is correct with respect to sound intensity (how much actual power-per-unit-area there is), but as far as the human ear is concerned, standing 2 metres away from the source of the sound will not cause it to sound four times as loud than if you were standing 4 metres away (even though the intensity has indeed increased by 4 times, as you need the intensity to increase by 10 times to raise the level by 10 dB and thus make it sound twice as loud).
I hope that helps clear things up... I also hope I haven't gotten anything wrong here... :-/
-
stuff about sound levels
Might be good to define some terms here:
Sound intensity is a measure of the amount of energy at the source of the sound. It drops off at a rate of 1/R^2.
Sound pressure is a measure of the amount of force coming from the source of the sound. It drops off at a rate of 1/R.
Sound level is a measure of loudness in proportion to the sound that is perceived. It is measured in decibels (dB) on a logarithmic scale (so that +10 dB = twice as loud, -10 dB = half as loud, etc).
Knowing this as well as how the ear detects (vibrations), we can determine that any sort of sound level is a result of the sound pressure rather than the intensity. The only real use of knowing the sound intensity is to determine how much energy is going into the source to produce a certain level of sound. For DoomRL, the only necessary component here is sound pressure. There is, however, a dampening effect through obstacles that should be factored into the equation.
As for the whole distance/level matter, you need to have a reference point (unless you want to get into figuring out the actual sound pressure at the source) before calculating anything. If we set our standard distance at 1m and measure the sound (I'll make it 50 dB, pretty average), then we get 40 dB at 2m away, 30 dB at 4m away, 20 dB at 8m away, and so on and so forth. This is the same as saying "it is half as loud at 2m away, a quarter as loud at 4m away," etc.
EDIT: If you need more clarification, I used this website (http://www.sengpielaudio.com/calculator-soundlevel.htm) to double-check some things.
-
Well I did say that sound pressure is related to the loudness...
...and that the sound pressure is inversely proportion to the distance. Intensity is not an issue because none of the stuff in DoomRL is supposed to yell so loud that it can shatter walls etc...
/me shrugs more
But Kornel needs to get this thing right, not us! We just need to make sure that whatever voodoo he decides to use to get this thing going, it "sounds alright" with us. =P