[MUD-Dev] Skotos Proximity System - a Technical Summary (LONG)

Christopher Allen ChristopherA at Skotos.net
Wed Apr 26 16:47:22 CEST 2000


Erik Jarvi wrote:
> Over all this is a cool idea. My comments are nitpicky, so take with a grain
> of salt. I only took a quick look at my reference books, but you'll get the
> basic idea. (I hope!)

Thanks for taking a look! We are amidst wrapping up details on the prox system
now, so having someone else review it is helpful. Also, we know that the
psycho-acoustics portion is the least well tested (with only a proof of concept
implementation so far) so comments on that are particularly useful.

An important point to stress is that, despite all the 'precise' numbers in the
article, we're just hoping for a fair approximation of the mechanics of sound
perception. We want to give the player an "illusion" that sound propagates in
natural ways. The detailed information in the article was presented more to show
the MUD-Dev audience our reasoning process.

BTW, I have to give credit to Michael Blum, one of our game designers and
"numbers" expert, who did the research on psycho-acoustics that is used in the
Prox system. He also helped with these comments.

> On Mon, Apr 17, 2000 at 09:24:56PM -0700, Christopher Allen wrote:
> <BIG snip>
>
> > Proxes & Psycho-Acoustics
> > =========================
> > Psycho-acoustics is the study of how sounds are processed by the ear and
> > brain to give the listener useful information about the world outside.
> > The study of how sounds are localized by the brain, how pitch is
> > determined, and how we separate simultaneous similar sounds or pick
> > useful sounds out of a 'noisy' background are all part of psycho-
> > acoustics.
> >
> > In a sense this is the study of the 'subjective' perception of sound
> > properties. Important measures used in psycho-acoustics include
> > loudness, sharpness, fluctuation strength, pleasantness, and roughness.
> >
> > Skotos uses some of the principles of psycho-acoustics to determine how
> > sounds work; it focuses on those factors associated with whether a sound
> > (usually speech) has been perceived, and whether it has been understood.
> >
> > Psycho-acoustics are used by the SkotOS system, in conjunction with
> > proxes, to determine what can be heard and what can't. In particular:
> >    * The subjective measure called 'son' is used to determine how likely
>
> In my reference books it's called sone.

Some sources use son, most use sone. We've seen it both ways. Our use of the
term is probably an unintentional choice; we might do better to use sone.
Neither sone nor son is an SI unit, so there's no central definition authority.

> >      it is that a sound will be noticed.
> >    * Sounds from more distant proxes are subjectively more quiet.
> >    * Ambient noise can decrease the intelligibility of sounds.
> >    * Particular rooms or locales can increase or decrease ambient noise
> >      values.
> >
> >
> > The Decibel & the Son
> > ---------------------
> > Various measures of sound and loudness are needed to determine the
> > audibility and intelligibility of speech.
> >
> > The basic decibel (dB) is a logarithmic scale objectively measuring
> > sound intensity; a difference of 10 dB is a ratio of 10:1, and 3 dB is
> > about 2:1. The decibel scale is used because the ear responds to sound
> > in an approximately logarithmic fashion. Depending on the actual
> > frequency, most people will perceive a doubling in loudness for a dB
> > increase of 8 to 10.
>
> Yes, for dB(watts) = 10 Log(P1/P2), but dB(SPL) = 20 Log(P1/P2).
> SPL is Sound Pressure Level.

The decibel is defined as 10 times the log of sound power relative to a
reference. Specifically,

   dB = 10log(P/Preference),

where P is the total power of the sound and Preference is the power of the
reference. It is important to note from this definition that the dB level of the
sound depends on the reference value chosen. In other words, the dB has no
meaning unless the reference value is known. The reference is usually indicated
after the dB value. For example, dB re: 1 watt means that the reference is 1
watt (re: is to be read 'in reference to'). Actually the reference need not
always be expressed as a power. A very popular reference is sound pressure level
(SPL) corresponding to a pressure value of 0.0002 dynes/cm2. If we are to use a
pressure value as a reference we must be careful to convert pressure to power to
be consistent with the definition of dB. Since power is proportional to pressure
squared, this amounts to replacing the power ratio with a pressure ratio
squared. And, because the log of any value squared is just 2 times the log of
that value, we have,

   dB SPL = 20log(p/0.0002 dynes/cm2).

Our article used the definition of the "power" decibel, rather than the
"pressure" decibel; they produce the same numeric values for the same 'sound,'
in ordinary circumstances (we're talking about mid-range aeroacoustics here).

> > Subjective perceived loudness (as opposed to actual sound power) is
> > measured in sons; a 40 dB sound with a frequency of 1 kHz is 1 son, and
> > an increase of 10 dB doubles the son value.
>
> Why use sones?  Sones are frequency dependent. I'm sure you are aware
> of the Fletcher-Munson curves.  Fletcher and Munson's theory is that
> human hearing does *not* have a flat frequency response. Are you going
> calculate sones?  And how are you going to determine frequency?
> Wouldn't it be much easier, but not 100% correct in the real world,
> to just use dB's?  Jeez, I'd never thought I would say something like
> that. :)  If you still want to use frequencies... why not use phons
> instead of sones.  It maybe just a personal choice, but I'd rather
> use round numbers than decimals.  I'd like to hear your reasoning, tho.

Well, we use sones because human hearing *is* frequency dependent.

We are not really going to do much with this; a dog whistle might be given a
very, very low sone rating in our game to simulate its apparent 'quietness.' As
it says in our article, "The impression of the strength of a noise does not
always follow the sound (dB) level, especially at high or low frequencies and
sound intensities" -- high (but audible) frequencies have a 5 to 15 dB
'advantage' in perceived loudness (roughly doubling their sone level) -- which
is the whole point of the Fletcher-Munson curves.

We chose to use sone for a couple of reasons:

(1) Changes in apparent loudness are made with multiplication, not addition,
when using the sone. We think our outside developers will intuitively understand
this better, since a typical phrase in ordinary English is, "The baby squalled
twice as loudly as before," not "The baby added ten decibels to its squalling."

(2) The son level already takes frequency into account. No, we're not going to
go out with decibel meters and tone generators, but the use of the sone does
'level out' the difference in loudness due to frequency. A 40 dB tone at 200 Hz
has the same loudness (sone value) as a 1000 Hz tone of 20 dB.

The 'phon' is (roughly) the decibel rating of a 1000 Hz sound considered equally
'loud' by listeners.

Actually, if it weren't for point (1) above, we could use phons, sones, decibels
or whatever equally well -- we're not pretending to more than *very roughly*
model audio perception.

> <snip about absorbsion>
> > *Sample Loudness Levels, in sons:*
> >    * 512     = jackhammer, air raid siren, percussion section of
> >                symphony, stock car race
> >    * 1000    = prop engine plane at takeoff, un-muffled 50 HP engine
> >                fifty feet away
> >    * 2000    = jet plane at takeoff, cannon (physical pain)
> >    * 3000    = pistols and rifles
> >    * 4000    = shotguns
> >    * 5000    = rocket launch
>
> <snip about speech sones>
>
> Did you get these numbers out of a book or did you calculate them?
> They seem AWFULLY high. I'm not an expert with phons and sones, but
> these numbers say that physical pain starts at 150 dB!  It's more like
> 130dB or 512 sones, but no distance is given.
>
> Heh I just thought of a funny weapon.  A ~140dB 14Hz sound. (It's umm
> about the resonate frequency of a person's bladder. :)

Well, the sone values at the upper end of the range are largely converted from
decibel values, of course -- there are few sources for direct sone measurement
outside of the middle range; whereas instruments provide decibel readings at
extreme ends of the acoustic scale ("So, tell me, which jet plane sounded twice
as loud to you?"). The definition of "where pain begins" varies by frequency and
individual; sources give various values from 120 dB (256 sone at 1000 Hz) to 150
db (2000 sone). Remember, a high frequency noise has an 'advantage' in loudness;
thus jet planes will have a higher sone value at the level of 'pain' than a tuba
(assuming pain to be a somewhat more objectively-produced event). We may have to
be more careful with our examples (these are taken from a couple of basic texts
and an encyclopedia article), but the idea is there.

> > Proxes, Speech & Sons
> > ---------------------
> > Proximity affects how clearly things can be heard. In an average room
> > (ambient sound of 1 son) things are intelligible down to the level of a
> > soft whisper (1 x 1/4 son) for adjacent proxes.
> >
> > Each additional category of proximity (nearby, vicinity, chamber,
> > bordering) increases the level of infallibility by approximately x4.
> > Thus the minimum intelligible level for nearby objects in a normal room
> > (1 son) is 1 son (1/4 x 4^1 x 1 son). Normal human conversation (4 sons)
> > can be heard in the vicinity (1/4 x 4^2 x 1 son). Quiet shouts (16 sons)
> > can be heard in the chamber (1/4 x 4^3 x 1 son). Screams can be heard in
> > bordering areas (1/4 x 4^4 x 1 son).
>
> Indoors and Outdoors makes a big difference here. I'm assuming these are
> indoors numbers.?

The values given are based on indoors acoustic isolation, but don't expect us to
be closely monitoring outdoor areas for acoustic propagation ;-)

In general, the outdoors areas are usually going to be larger, rough (VERY
roughly) making up for the reflection and absorption caused by walls and
furnishings indoors.

> > Below these levels, words are increasingly garbled, down to the level of
> > inaudibility (a multiplier of x1/4). Thus the minimum level at which
> > something garbled can be heard in a near prox is 1/4 son. This
> > multiplier could be carried through all the categories: nearby 1 son;
> > vicinity 4 son; chamber 16 son; bordering 32 son.
> >
> > Other activities can increase these levels, such as paying attention,
> > which is a x4 multiplier. Thus the absolute minimum level at which
> > something garbled can be heard by an attentive listener in a near prox
> > is 1/16 son. This multiplier could be carried through all the
> > categories: nearby 1/4 son; vicinity 1 son; chamber 8 son; bordering 16
> > son.
>
> Cool!  I don't think many people would of thought of this.
>
> > Ambient Noise
> > -------------
> > If there is too much ambient noise, whispers will fail or be garbled due
> > to the "din" of noise. With large amounts of ambient noise, even normal
> > speech may become garbled.
> >
> > The default value for ambient sound is 1 son, as given in the example
> > above. However, objects, room details, and rooms themselves can have
> > intrinsic ambient noise levels. For instance, the area behind a
> > waterfall could have an ambient noise value of 8 sons.
> >
> > Ambient noise is also a function of speech and the number of volitional
> > objects in a room, so being in the middle of a crowded bar or amidst a
> > herd of bison will be quite noisy.
>
> Also transients.  So Bubba and Boffo are in a crowded bar, drinking a few
> Dandelion wine spritzers, having a conversion at the bar, and someone nearby
> <insert short annoying sound here>.  Will Bubba hear every word Boffo
> just said?

We might have ambient noise levels increased by character-driven events; Bob the
Drunken Bard belting out a tune should have an effect on the tavern. We don't
currently know if 'short' noises (shorter than a likely sentence, say) will
affect noise levels; there's a timing issue here, etc. It is more of an
approximation based on the number of volitional characters in a room and what
they are doing.

> > Attenuation & Amplification of Sons in Proxes
> > ---------------------------------------------
> > Some objects, room details, and rooms may either attenuate (decrease all
> > sounds), absorb (decrease specific sounds), or even amplify (increase
> > all sounds) coming from a vicinity or chamber, or in some cases even
> > change how sounds that are adjacent are heard.
> >
> > For instance, while in a booth in the corner you will hear less of the
> > crowd outside, and they will hear less of you. If you are on a stage,
> > they will hear more of you, but you will hear less of them.
> >
> > Exits of a room may also attenuate or absorb sounds. They may do so in
> > different ways depending on if the exit is open or closed. This allows
> > for huge open city gates that stop few sounds, or a closed magical
> > portal that stops all sound.
>
> Again absorbsion is frequency dependant too.

The different absorption responses of various materials to high and low
frequency sounds are mostly within a band of 5 or
10 db (about a quartering or halving of loudness level). Given that we will
rarely detail a random wall to give a precise, accurate isolation level ("This
wall is 5/8" inch of sheetrock, over two-by-fours and spun fiber insulation,
with an outside surface of half-inch board and batten"), we will usually ignore
the effects of varying frequency. Of course, our developers are free to apply
sound isolation values to their rooms as they wish -- but these will still be
frequency-independent.

Don't get the idea that we'll be able to conduct hearing tests with this system.
It's still a text-based game; and players don't want endless "you hear a creak
from the room next door" messages ;-)

> > Open Issues with Proxes
> >
> >    * Will people abuse the near proxes, thus requiring consent for all
> >      prox operations rather then just intimate ones? Is a "strongly
> >      avoid" list required?
>
> I'm guessing probably.
>
> >    * Ambient noise may be not clear enough to players to be worth the
> >      trouble. Perhaps we should use a "din" marker rather than adjust
> >      the intelligibility of sound? If we do support intelligibility,
> >      what method do we wish to use to garble the speech?
>
> Hmm that's a tough one to do well.  I always liked smaug's drunk
> speech.  RoD is the only diku that I played extensively, so it could of
> been in one of the predecers.

I'm not sure I understand the sources of your references: Smaug's drunk speech,
RoD, and what RoD does with ambient noise? We are very curious about other
peoples ideas here.

For garbling, we are talking advantage of we have a simple "fake" language
generator based on phonemes. Since we know the in-game language (not RW
language) that the players are speaking, we can substitute random phonemes that
are appropriate to in-game language. For instance, "The quick brown fox jumped
over the lazy dog" said with a 50% garbling and the Westron game-language
becomes "'Einsanla quick laeck fox jumped vanstog the lazy dog". Longer words
have a greater chance of being garbled, and as players somewhat can recognize
the Westron-style substitutes phonemes, they know that garbling is going on.
BTW, The randomness is deterministic with a seed based on the content words, so
if you say the same thing, at the same garbling level, you'll loose the same
words. Say it differently, different words will garble. Just like real life --
you may have to say it several times to get the point across.

We considered a few other techniques to garble sound, but this is the best we've
come up with so far.

------------------------------------------------------------------------
.. Christopher Allen                                 Skotos Tech Inc. ..
..                           1512 Walnut St., Berkeley, CA 94709-1513 ..
.. <http://www.Skotos.net>               o510/649-4030  f510/649-4034 ..




_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
http://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list