~/talk

Building a musical instrument with the Web Audio API

Talkat JSConf US 2015 · 2015-05-27..05-29· [creative-coding]
slides:none on file

Demonstrates building a browser synth using the Web Audio API with oscillators, gain nodes and the important gotcha that once an oscillator is stopped it cannot be restarted so the code uses gain attenuation or replaces oscillators; shows a lookup-based tuning helper (Octavian library) instead of brittle math; wires getUserMedia face tracking into a face theremin (height = gain, x = pitch); uses WebSockets for a shared step sequencer, runs ~80 simultaneous oscillators in practice, and connects Johnny-Five Arduino buttons and a potentiometer to trigger notes.

AI-written summary · about

  1. 0:00Intro
  2. 1:05Playalong
  3. 1:37Web Audio API
  4. 2:27Audio Context
  5. 3:59Destination
  6. 4:27Making music
  7. 5:10Oscillator
  8. 5:31Create Oscillator
  9. 5:57Connect Oscillator to Context
  10. 6:22Start Oscillator
  11. 7:01Disconnect Oscillator
  12. 7:46New Oscillator
  13. 9:19Oscillator Node
  14. 10:21Wave Shapes
  15. 10:52Oscillators
  16. 12:43Oscillator frequency
  17. 12:59Tuning forks
  18. 13:16Semitones
  19. 13:51Math
  20. 14:12The problem
  21. 15:46Octavian
  22. 16:25Audiophonic
  23. 18:44Adding oscillators
  24. 19:29Keyup event
  25. 19:51Why not just buy a keyboard
  26. 20:23Face Theremin
  27. 21:15Face Tracking Event
  28. 22:09Step sequencer
  29. 23:23User sequence
  30. 25:32Limitations
  31. 25:49Building a musical instrument
  32. 26:28WebSocket
  33. 26:56Demo
  34. 28:35Web Music
  35. 28:47Other APIs
  36. 29:14Pull Request
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.