Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Everybody Read This!

Nexus Nash
Undercover Linden
Join date: 18 Dec 2002
Posts: 1,084
01-14-2003 11:20
Ok folks... read the whole thing... and please use the right sound values in the future!
***FROM FRANK LINDEN
There seems to be a lot of confusion about sound volumes, and what is appropriate. Unfortunately I think we added to the confusion with some of our example objects. Here's the skinny:

When uploading sounds, it's important to "normalize" that source file. That means to bring the levels up so that the highest peak of the waveform is exactly at 100%, or 0dB, or 7ffff or 32767, or whatever your sound editor displays as the maximum.

The next step is to upload the sound using an appropriate bitrate. Speech and simple sounds work well at the 64 kbps setting; only music or other very complex sounds will benefit from being encoded at 96 or 128k. Encoding speech at 128 yields almost no discernable improvement in quality at a considerable expense in the amount of lag for someone else to hear that sound when you trigger it the first time.

Shorter sounds are also better; again, it reduces the delay before someone else hears your sound. For things like animal sounds and environmental noises, building up a complex sound out of smaller pieces randomly triggered in time rather than recording a long loop will result in a faster and more interesting experience for your audience.

Now it's time to put the sound in an object and play it with a script. . . here's where most of the problems lie. The volume parameter to llPlaySound(), llTriggerSound(), and the llLoopSound() calls has a "normal" range from 0.0 to 1.0. With very few exceptions sounds should have a volume in that range, and quiet sounds (like a mouse squeak or a crackling fire) should be at the bottom end.

All is well and good with that, except that very loud noises (like explosions) sound way too quiet if you're not standing right on top of them, even at a volume of 1.0. The root of it is the apparent distance the sound carries: a door slam, even a loud one, doesn't carry nearly as far as a bomb blast. So we thought one way to handle these special cases was to allow volumes "above 1.0" which is a bit like turning your amp to 11 (thank you Spinal Tap). A volume of 2.0, for example, is not any louder than a volume of 1.0 if you are standing right next to the object. However, it maintains its volume twice as far as the sound with a gain of 1.0. That is, if the object with a gain of 1.0 becomes inaudible 50 meters away, the object with a gain of 2.0 is still quite audible until 100 meters. The effect, when used appropriately, is good: explosions and other extremely "loud" noises carry long distances and we get to have things like fireworks shows.

Unfortunately, it can also lead to a squeaky mouse audible from 1000 meters away (the mouse in question was using a volume of 10.0, which is really only appropriate for nuclear events... it has since been given laryngitis and a more reasonable volume of 0.5)

Another bit of confusion I suspect leads to inflated sound volumes is that the sound you hear is based on your camera's position (your camera's ears, not your avatar's, are what you hear with). So if you are building with your camera 10 meters in the air, it's likely you'll crank the volume inappropriately high in order to hear it. When adjusting volumes, the best strategy is to use mouselook, where the camera and your head are one and the same. That way the volume that "sounds right" will be reasonable when someone else's camera is two meters away.

Any thoughts for improvement are welcome and encouraged! We could limit the max volume to 1.0, which would address some of the problem, at the expense of eliminating sounds you really DO want to carry that far. Or we could implement some fuzzy logic AI to analyze the contents of the sound and automatically assign an appropriate volume (just give us a few years to code that up).


-Frank

***
if you don't understand this say so and ask!
_____________________
Ama Omega
Lost Wanderer
Join date: 11 Dec 2002
Posts: 1,770
01-14-2003 12:14
Seems to me a lot of confusion (and noise) could be avoided if the values were split - 1 value for sound volume and 1 for the distance it carries. This method could allow more precision at the least.
Orrey Stone
Huh?
Join date: 5 Dec 2002
Posts: 42
Secret mesmerizer
01-14-2003 12:52
also - on the subject of loud for a long way : The Secrct Mesmerizer is alive and hiding at the edge of the world. What is the Secret Mesmerizer? Only Secret Linden knows for sure I think :)
_____________________
T.A.N.S.T.A.A.F.L.
BuhBuhCuh Fairchild
Professional BuhBuhCuh
Join date: 9 Oct 2002
Posts: 503
01-14-2003 15:59
The mezmerizer, which once lived in a quite little valley until us "big folk" scared it away is a scripting example. It does fun stuff like shoot rockets, sprites, some animated textures. Secret Linden also built the outlands wall (or maybe secret's pal weapon did that, I'm never sure.)
_____________________

START!
Make your own movie in Second Life for
The Take 5 Machinima Festival
Films due Dec 4, screening Dec 7!
http://www.alt-zoom.com/take5.htm