audio design for interactive systems

25
Audio design for interactive systems Camille Goudeseune Integrated Systems Laboratory, Beckman Institute

Upload: tashya-jimenez

Post on 31-Dec-2015

39 views

Category:

Documents


4 download

DESCRIPTION

Audio design for interactive systems. Camille Goudeseune Integrated Systems Laboratory, Beckman Institute. Outline. Sound libraries music instruments Digital Audio music theory Roles of sound composition. high-level multiplatform (linux+windows at least) sound libraries. Java Sound API - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Audio design for interactive systems

Audio design forinteractive systems

Camille Goudeseune

Integrated Systems Laboratory,

Beckman Institute

Page 2: Audio design for interactive systems

Outline

• Sound libraries– music instruments

• Digital Audio– music theory

• Roles of sound– composition

Page 3: Audio design for interactive systems

high-level multiplatform (linux+windows at least) sound

libraries• Java Sound API

• VSS

• FMOD

• SDL

• SEAL

• Housemarque

Page 4: Audio design for interactive systems

Java Sound API

• Painless for Java. Very basic. Avoid if you're ambitious. http://java.sun.com/products/java-media/sound/

Page 5: Audio design for interactive systems

VSS Virtual Sound Server

• www.isl.uiuc.edu/software/software.html

• the 500-pound gorilla if you need stuff like 8-channel output or linux/irix/windows compatibility

• steep learning curve for advanced stuff

Page 6: Audio design for interactive systems

FMOD

• Syzygy (the Cube) uses it for sound.

• CPU-miserly

• finite but featureful API

• www.fmod.org

Page 7: Audio design for interactive systems

SDL

• large user community

• open source.

• Good if you want to integrate sound and graphics tightly.

• www.libsdl.org

Page 8: Audio design for interactive systems

SEAL Synthetic Audio Library

• many C compilers supported

• Wide support for hardware acceleration

• www.sonicspot.com/sealsdk/sealsdk.html

Page 9: Audio design for interactive systems

Housemarque

• Multichannel with certain PC soundcards

• www.s2.org/hmqaudio/

Page 10: Audio design for interactive systems

low-level sound libraries: linux

• OSS, www.linux.org.uk/OSS/– Most distros include the free basic version– ~$30 for fancy multichannel soundcard drivers

• ALSA, www.alsa-project.org – religiously open-source alternative

• 0.5.10 is the stable version• 0.9.0 development version is fine too

(part of the upcoming 2.5 linux kernel).

Page 11: Audio design for interactive systems

low-level sound libraries: windows

• MMIO– simple, universal– waveOutGetDevCaps(), waveOutWrite(), ...

• DirectSound – part of DirectX– LPDIRECTSOUNDBUFFER,

CreateSoundBuffer(), Lock(), Unlock(), ...– “faster” but more awkward; use a wrapper

Page 12: Audio design for interactive systems

Basics of Digital Audio

• File formats• 16-bit or 8-bit?

– These days, 8-bit is embarrassing.Pro gear uses 32!

• Stereo or mono?– Panning mono is faster + simpler than stereo.

• 8 kHz? 44 kHz?• .WAV, .AIFF, .AU, .MP3• converters: “sox” and dozens of others

Page 13: Audio design for interactive systems

Basics of Digital Audio

• Two tradeoffs

CompressionRatio

CPU Load

Sound Quality

Latency

CPU Load

Page 14: Audio design for interactive systems

Basics of Digital Audio

• Debugging

• Gaps in sound excessive CPU use

• stuttering CPU starvation(CPU fast enough but poorly scheduled)

• Different from graphics! The “frames per second” can’t degrade if the CPU is taxed.

Page 15: Audio design for interactive systems

Basics of Digital Audio

• Debugging

• Electric-guitar distortion clippingToo quiet: hissToo loud: clippingJust right: almost clipping– For every stage in the audio pipeline,

both software and hardware.Every place you can set the volume level!

Page 16: Audio design for interactive systems

Where to get sounds

• Buy: fx + music libraries

• Build: record it yourself

• Build: synthesize it yourself– adjust an existing synth patch, a little or a lot

• Steal: websearch– 8-bit might still suffice while prototyping

Page 17: Audio design for interactive systems

What to do with the sounds,once you have them

• common roles– alerts; acknowledgements; ambience

• sound vs. image

• speech vs. non-speech

• synchronization with visual events

• combining sounds

• tips for spatializing

Page 18: Audio design for interactive systems

Short and subtle is best!

• “Graphical excellence gives to the viewerthe greatest number of ideasin the shortest timewith the least inkin the smallest space.”

(Edward Tufte, The Visual Display of

Quantitative Information) • This applies to alerts, acks, and ambience.• Clutter is worse with sound: no earlids!

Page 19: Audio design for interactive systems

Sound or image for a message?

• Use sound if:• Simple• Short• Standalone• Temporal• Demands immediate

action

• Use visuals if:• Complex• Long• Referred to later• Spatial• Can deal with it later

Page 20: Audio design for interactive systems

Speech vs. non-speech

• Main advantage: precise, simple! But...

• Carries extra connotations

• Tone of voice, imprecise word choice, can confuse or distract

• Non-speech doesn’t interfere with conversation

Page 21: Audio design for interactive systems

Synchronizing to other things

• Often 100 msec is accurate enough,when passively observing a sonic anda visual event

• Sync with input action might needto be tighter, 30 or even only 4 msec.

Page 22: Audio design for interactive systems

Moving a probe through a dataset

• Trigger sounds on button-click, or when crossing thresholds

• Or, play a continuous sound.

• Vector-valued data is trickier.

• Nominal data: one sound per name.

• Scope of probe: point, ball, shell.– Auto-size based on probe speed.– Granulation

Page 23: Audio design for interactive systems

Navigating a VR world

• Dense world– azimuth: click rate varies with turning rate– altitude: high/low beeps

(rate varies with climb rate)– speed: vehicle-engine metaphor

• Large world: quiet continuous ambiences localized to individual parts of the world.– Play only the nearest two or three.

Page 24: Audio design for interactive systems

Combining sounds

• It can get only so loud before clipping.

• Spatial separation (“panning”).

• Temporal separation (one sound at a time).– A party of drunks / a good dinner conversation.

• Frequency separation.

• Each layer gets its own tempo.– Heavily layered techno or orchestral music.

Page 25: Audio design for interactive systems

Spatialized sound

• Steady tones are worst.Bird chirps are best (they should know).– wide frequency band, complex attack

• Loudspeaker array

• Headphones with HRTF

• Motion-tracked headphones– In the real world you move your head slightly to

tell where a sound comes from.