230 likes | 400 Views
Sound Tech Group Joey Brinkmeier Joe Handzel Jerry Hsieh Kyle Moore. Goal For Sound.
E N D
Sound Tech GroupJoey 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