Responsive image

Soundtrap: A collaborative music studio with Web Audio

Fredrik Lind, Andrew MacPherson
Soundtrap is an online music studio and DAW built using the latest Web Audio, Web MIDI and WebRTC standards and supported across nearly all major browsers. With over 1.5 million users and a focus on collaborative music production, the platform is used in both consumer and educational contexts around the world. Soundtrap aims to create an easy-to-use environment for users who are just getting started with music production, while still providing the advanced features required by more experienced users. The platform allows users to connect and compose music together using MIDI, live instruments and voice, in addition to providing a wide variety of loops and effects. Inside the studio users have access to integrated video chat over WebRTC, enabling instant feedback with collaborators as they create projects together in real-time. Soundtrap also works on a variety of hardware and platforms, scaling the audio experience to work on devices ranging from high end workstations to Chromebooks and mobile (Android and iOS). This scaling is made transparent to the user by auto-detecting basic performance characteristics on startup and during studio sessions, and modifying the Web Audio graph as necessary. The studio also uses a few additional techniques to work around device-specific challenges, such as freezing finished tracks within a project to ease the runtime CPU load, doing some processing server-side where possible, and using libvorbis through emscripten to encode large WAV files to ease memory requirements. As Soundtrap wants to match the functionality and performance of a native application DAW there are still some challenges encountered around issues like audio latency, streaming, disk usage, and greater access to multiple CPU cores. To this end Soundtrap developers are contributing code towards lower audio latencies in the Chromium browser and are closely following work on the Web Audio spec around things like AudioWorklets. There is also work being done on new projects around things like ”live jamming” with Web Audio over WebRTC, and integrations with other open-source projects like Google Magenta.
            
@inproceedings{2017_EA_29,
  abstract = {Soundtrap is an online music studio and DAW built using the latest Web Audio, Web MIDI and WebRTC standards and supported across nearly all major browsers. With over 1.5 million users and a focus on collaborative music production, the platform is used in both consumer and educational contexts around the world. Soundtrap aims to create an easy-to-use environment for users who are just getting started with music production, while still providing the advanced features required by more experienced users. The platform allows users to connect and compose music together using MIDI, live instruments and voice, in addition to providing a wide variety of loops and effects. Inside the studio users have access to integrated video chat over WebRTC, enabling instant feedback with collaborators as they create projects together in real-time. Soundtrap also works on a variety of hardware and platforms, scaling the audio experience to work on devices ranging from high end workstations to Chromebooks and mobile (Android and iOS). This scaling is made transparent to the user by auto-detecting basic performance characteristics on startup and during studio sessions, and modifying the Web Audio graph as necessary. The studio also uses a few additional techniques to work around device-specific challenges, such as freezing finished tracks within a project to ease the runtime CPU load, doing some processing server-side where possible, and using libvorbis through emscripten to encode large WAV files to ease memory requirements. As Soundtrap wants to match the functionality and performance of a native application DAW there are still some challenges encountered around issues like audio latency, streaming, disk usage, and greater access to multiple CPU cores. To this end Soundtrap developers are contributing code towards lower audio latencies in the Chromium browser and are closely following work on the Web Audio spec around things like AudioWorklets. There is also work being done on new projects around things like ”live jamming” with Web Audio over WebRTC, and integrations with other open-source projects like Google Magenta.},
  address = {London},
  author = {Lind, Fredrik and MacPherson, Andrew},
  booktitle = {Proceedings of the International Web Audio Conference},
  editor = {Thalmann, Florian and Ewert, Sebastian},
  month = {August},
  pages = {},
  publisher = {Queen Mary University of London},
  series = {WAC '17},
  title = {Soundtrap: A collaborative music studio with Web Audio},
  year = {2017},
  ISSN = {2663-5844}
}