Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

23
Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

description

Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore. Goal For Sound. - PowerPoint PPT Presentation

Transcript of Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

Page 1: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

Sound Tech Group

Joey BrinkmeierJoe HandzelJerry HsiehKyle Moore

Page 2: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle 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

Page 3: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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

Page 4: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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.

Page 5: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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

Page 6: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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

Page 7: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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

Page 8: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

Source

• Can have position, velocity, direction

• Again, must update the parameters if the object that is making the sound is moving around

Page 9: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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)

Page 10: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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

Page 11: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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)

Page 12: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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

Page 13: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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

Page 14: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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

Page 15: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

Games that use OpenAL

• Battlefield 2

• Doom 3

• Jedi Knight 2

• Quake 4

• Soldier of Fortune 2

• Unreal Tournament 2003

Page 16: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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.

Page 17: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

FMOD: Advanced Usage

• Nonblocking Loading

• 3D Positional Sound

• Sound Occlusion

• DSP Effects

• FMOD Designer

Page 18: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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

Page 19: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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

Page 20: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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

Page 21: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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?

Page 22: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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

Page 23: Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore

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