, by Xavier Favory

Multi Web Audio Sequencer

The Multi Web Audio Sequencer is a prototype of an application for segment-based sequencing of Freesound sound clips, with an emphasis on seamless remote collaboration. It is built using Express.js, the Web Audio API, and the Socket.io library.

The step sequencer allows the scheduling of samples on rounded steps of equal time-interval. Users have access to toggle buttons organized in a matrix. Each line represents a different track which has an audio sample assigned. Each column represents the time steps for which a user can activate the playing of a sample corresponding the the track line. Tracks can be collapsed to display the loaded waveform and to ajust the position of the audio segment played. A gain knob is accessible at the right of the pads, as well as solo, mute and delete buttons. Our application gives access to several rooms where any user can connect to from the home page of the application. Each room corresponds to different sequencer with its own state. When a client connects to a room, the server sends the corresponding sequencer state which is rebuilt locally. Each of the actions performed by any user is broadcasted to all clients within the same room and update the sequencer state.

Source code repository

Multi Web Audio Sequencer application

More information about the Multi Web Audio Sequencer can be found in the Web Audio Conference 2018 paper.