Blaine Bublitz - Sound Will Age You
JSConf US 2013
29 May 2013“Sounds are important” - TV/games with sound off, not as good
“Sounds are iconic” - examples of mario, sonic, pacman sounds, everyone recognizes them
“Sounds are hard” - on and off the web
FrozenJS - game development is his perspective
- WebAudio vs HTML5 Audio
- Codecs
- Mobile
started with just webaudio, no fallbacks
Web Audio:
- high performance
- low latency
- buffers not resource loading
Then do fallback:
get all audio types, sort by probably / maybe / drop the no response (using canPlay type) and try most likely to least likely, exit once one starts playing.
on mobile, autoplay/load disabled (data usage cited as reason) attach to touchstart and load/play there (for each audio element)
Chrome flag for android chrome : “Disable gesture requirement for audio load” wants everyone to enable this
Audio streams
-
layering of sounds
-
on mobile? single stream only. play one, any other played will cut it off and play chrome flag for android chrome - enable webaudio android (wants you to enable this)
Summary: start at web audio -> fallback to HTML5 -> don’t fallback to flash -> push web audio (enable in chrome://flags in Chrome Beta for Android)
Need to improvoe: Mobile, canPlayType & string comparison, better abstractions & fallbacks
Howler.js, webaudio.js, etc
Game sounds with fallbacks: Frozen, SoundJS, Quintus, Audia
Twitter: @BlaineBublitz
Slides: blog.iceddev.com/sound-will-age-you
JSConf 2013
This is a quick summary of a talk I attended at JSConf 2013. You can see a list of all those I've summarized notes from here. There's also a General thoughts during JSConf 2013 post for all the non-talk bits and pieces.
There were 3 concurrent tracks at the conference, so only those I attended myself are summarized here. Other attendees have summarized some of the talks I didn't get to due to scheduling conflicts - you can find those at jlongster.com (James Long) and Toby Ho's github repo.