Use-Cases: Difference between revisions

From Audio WG Wiki
Amacdona (talk | contribs)
Ot (talk | contribs)
redirect to merged doc
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
===Basic Examples===
#REDIRECT [[Use_Cases_and_Requirements]]
 
What can web developers do with the Web Audio API?
 
*Looping sounds without gaps: [[#Looping Sounds Without Gaps|Code Example]]
*Creating seamless playlists
*FadeIns / FadeOuts / Crossfades
*Add filters to the audio such as: Bass/Treble EQ Control
*Changing parameters such as volume, pan, speed/pitch over time
*Cross-fading between two sounds.
*Synchronizing sounds to begin playing at the same time, or at specific times.
*Playing sounds with rhythm: EG: Drum beats
*Sound level meter to monitor the volume of audio
*Create audio visualizations
*Low-Latency Sound Playback eg:
**In response to user-input from keyboard/mouse etc
**Collisions of objects in games
*JavaScript access to audio data
**Create custom audio processing effects
**Music synthesis
 
=Use Cases=
 
Use Cases from Audio Incubator Group
http://www.w3.org/2005/Incubator/audio/wiki/Audio_API_Use_Cases
 
Scenarios from MediaStream Processing API
http://hg.mozilla.org/users/rocallahan_mozilla.com/specs/raw-file/tip/StreamProcessing/StreamProcessing.html#scenarios
 
 
 
 
=Requirements=
 
 
===OpenAL/EAX Style Effects for Games===
 
*Doppler Shift
*Distance attenuation
*Obstruction
*Room simulation
*3D Positioning
 
 
=== Features Realting to Accessibility ===
 
*Changing pitch of voices without effect the speed
*Change speed of voices without effecting the pitch
*Smooth changes over time of audio parameters like volume, pan etc
 
 
=== Resource Management ===
 
*Playing Short Sound now with minimal latency
*Loading and managing short-medium length audio assets
*Load audio assets faster than real-time
 
 
===DAW Applications===
 
*Creating an multi-track mixer
**Insert effects
**sends
**sub-mixes
**mute
**solo
 
Modular routing,
 
Dynamics Compressor
 
Faster than real time mix-down (such as exporting a track to a file)
 
Scheduling of many overlapping audio clips on multiple tracks
Automation curves for volume, panning, other effect params
Analysis and metering (Temporal frequency domain)
 
 
===Synthesizer Playback===
*Basic sample-based synthesizer playback - ADSR envelopes, waveforms etc
 
 
===Effects===
 
 
=Basic Example Code=
 
===Loop Sounds Without Gaps===
<nowiki>
  var context = new webkitAudioContext()
    , source  = context.createBufferSource()
    ;
 
  // Request & decode audio
  ... source.buffer = decoded_data; ...
 
  source.connect( context.destination );
  source.loop = true;
  source.noteOn( 0 );
</nowiki>

Latest revision as of 11:54, 4 January 2012