Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore
Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore.
-
Upload
cecilia-cox -
Category
Documents
-
view
216 -
download
2
Transcript of Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore.
Sound Tech Group
Joey BrinkmeierJoe HandzelJerry HsiehKyle Moore
Goal For Sound
• Sound should communicate effectively what we want the listener to know or experience -- it should focus the player's attention. In order to meet this goal we must always approach sound from the player's viewpoint.
• http://www.gamasutra.com/features/sound_and_music/081997/sound_effect.htm
Issues to consider with Sounds
• Sounds should only be played if audible. Tree falls in forest does not make a sound.
• Player ought to be able to determine direction and distance of sound
• Make sure soft sounds are not drowned out by other background noises– Soft sound before louder sound easier to hear than
soft sound after louder• Voice communication ?• Aliasing – don’t want noises to cancel each other
out
Issues involving sound system
• Proper sampling between analogue signal to digital signal
• File format – RAM issues/load time/Quality• API’s available for system• Sample – small sound, loaded into memory• Stream – long sound/music• speaker modes with higher channel counts leads
to higher memory usage• pointless to create 5.1 sound if system does not
support 5.1• Number of channels may be limited.
OpenAL
• By Creative Labs (maker of Sound Blaster audio hardware)– Official site: www.openal.org
• Free to use (including commercially)
• Cross Platform– available for Windows, Mac, Linux, Unix,
Xbox, Xbox 360
Features
• Similarity to OpenGL – Function names and type definitions similar
• Device Enumeration – Allows possibility for user to indicate which
audio device in their system to use
• Uses buffers to store sound information
• Play the buffers with Sources
Listener
• How sound is output depends on where the Listener, typically the main character or camera, is in relation to a source
• Can have a position, velocity, and orientation
• Must update the parameters as the user moves the character or camera around
Source
• Can have position, velocity, direction
• Again, must update the parameters if the object that is making the sound is moving around
ALUT
• A utility toolkit similar to GLUT for OpenGL
• Instead of a Window in glut, alut uses a Context
• Handles loading of a .wav file (and unloading once stored in a buffer)
Problems
• I used a sound manager for OpenAL written to use with Ogre– http://www.ogre3d.org/wiki/index.php/OpenAL
• But has problems with some system configurations (sound just won’t play/be heard)– Have tried the different enumerations to specify devices, but still
won’t work. Not really sure what the problem is, and couldn’t find others with a similar problem
• So have moved to using a sound manager for fmod written to use with Ogre– http://www.ogre3d.org/wiki/index.php/FMOD_SoundManager
FMOD Features
• FMOD comes in two varieties:– FMOD Ex– FMOD 3
• Advantages of FMOD Ex vs. FMOD 3– Obstruction and Occlusion– 5.1 and 7.1 output support– Stereo and multichannel sound in 3D– Virtual Voices– native ADPCM, MPEG sample support– Various DSP filters (flange, chorus, low pass filter, echo..)– FMOD Designer tool– Support for Xbox 360 and Playstation 3 platforms– Unified API (Cleaner interface / Easier to use)
FMOD Licensing
• Free for evaluation
• Commercial licensing:– $6,000 – FMOD Ex– $3,000 – FMOD 3
• Hobbyist Licensing: $100– Any software that has no expectation of large
a large volume of sales, such as something sold strictly over the internet
Game Companies that use FMOD
• Bethesda Softworks– Elder Scrolls series
• Blizzard Entertainment– WarCraft series– Worlds of Warcraft
• Nixxies Software– Tomb Raider Legends for Xbox and PC
• Red Storm Entertainment– Ghost Recon
Other Companies that use FMOD
• AquaSoft– DVD authoring software
• AutoMapa– PocketPC satellite navigation software
• Diebold– Elctronic voting systems
• HP• JVL
– Countertop game systems (seen in bars)• nVidia• Samsung• Thales Naval
Games that use OpenAL
• Battlefield 2
• Doom 3
• Jedi Knight 2
• Quake 4
• Soldier of Fortune 2
• Unreal Tournament 2003
FMOD Basic Usage
• Create System object
• Initialize system – Right-Handed 3d env, etc
• Create Sound – default 2d, non-looping, hardware acceleration
• PlaySound – attaches to channel object
• Control playback through channel object– Set volume, pause, etc.
FMOD: Advanced Usage
• Nonblocking Loading
• 3D Positional Sound
• Sound Occlusion
• DSP Effects
• FMOD Designer
Nonblocking Loading
• For loading sound files in the background without stopping the entire process
• New thread is used to load sound into memory
• Useful for in-game sound effect loading
3D Positional Sound
• Enhances audio realism
• Listeners & Objects relationship– Listeners = Cameras– Objects = playing sound
• FMOD automatically splits PCM into multiple channels in mono– i.e. stereo, 5.1, 7.1
• Need world position of Listener & Objects
3D Sound (Continued)
• Doppler effect– Change in frequency (pitch) of sound source
while passing a listener– Need velocity to get the effect– Must calculate frame-rate independent
velocity• Units important (feet/sec, m/s, mph)
– Useful for high-speed sound travel• Racing, spaceships, fight sims
Sound Occlusion
• Mentioned in Prof. Crawfis’ sound slides
• Sound waves blocked by occluders similar to optical shadows– Walls, buildings, giant fire-breathing lizzards
• Use setOccluderGeometry to simulate occlusion
• Demo?
DSP Effects
• Commonly used for environmental sound• Examples
– Reverb (caves)– High Pass Filter (moisture)– Low Pass Filter (muffled sound)– Echo, Chorus (cathedral)– Software mixed by FMOD
• FMOD supports HW-specific effects– EAX, EAX2
FMOD Designer
• Event-Based Sound Designer– Simplifies programming, decouples sound
files from logical “sound events”– Allows complex sound layering and stitching
• Randomization• Parameterization• DSP effects, 3D support, Occlusions
– Data-driven approach
• Demo: Car Engine