Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Livecoding Music and Graphics in the browser

Livecoding Music and Graphics in the browser

Livecoding, or the act of coding in front of an audience, possibly with your code exposed on a big screen, is kind of a niche art form, with environments like SuperCollider and Impromptu being the most popular choices. I went out to try to build a minimal, capable and usable environment that would run in a modern web browser. I will talk about (and demo) the system itself, but also will speak about the challenges and the details of my solution.

Jan Krutisch

May 10, 2013
Tweet

More Decks by Jan Krutisch

Other Decks in Programming

Transcript

  1. [email protected]
    Jan Krutisch
    Livecoding Music and Graphics in the Browser

    View Slide

  2. [email protected]
    Jan Krutisch
    Livecoding Music and Graphics in the Browser

    View Slide

  3. [email protected]
    Jan Krutisch
    Livecoding Music and Graphics in the Browser

    View Slide

  4. [email protected]
    Jan Krutisch
    Livecoding Music and Graphics in the Browser
    http://thesinglepageapp.com/

    View Slide

  5. Music

    View Slide

  6. http://www.flickr.com/photos/pelegrino/2617086780/

    View Slide

  7. http://www.berlinc64club.de/

    View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. www.renoise.com

    View Slide

  12. programming music

    View Slide

  13. Live performance

    View Slide

  14. Live coding

    View Slide

  15. View Slide

  16. impromptu

    View Slide

  17. impromptu
    SuperCollider

    View Slide

  18. impromptu
    SuperCollider
    Overtone

    View Slide

  19. Web Audio API

    View Slide

  20. Chrome, Safari, (Firefox)

    View Slide

  21. View Slide

  22. View Slide

  23. View Slide

  24. liv3c0der

    View Slide

  25. liv3c0der

    View Slide

  26. liv3c0der
    http://github.com/halfbyte/liv3c0der

    View Slide

  27. View Slide

  28. called on requestAnimationFrame

    View Slide

  29. called on requestAnimationFrame
    called for every pattern cycle

    View Slide

  30. View Slide

  31. View Slide

  32. The revolution will not be
    televised.

    View Slide

  33. Lessons learned

    View Slide

  34. F**k purity

    View Slide

  35. Don't worry too much about
    crashes
    (they will happen anyway)

    View Slide

  36. (Optimize for quick recovery)

    View Slide

  37. Music & Graphics too much

    View Slide

  38. F**k browser compatibility.

    View Slide

  39. Powerful runtime

    View Slide

  40. View Slide

  41. View Slide

  42. http://webaudiohacks.com/

    View Slide

  43. Thanks. Questions?

    View Slide

  44. View Slide