Michael Uzzi

Sync is a website that allows musicians to produce and perform loop-based music collaboratively in real time.

Sync is a series of musical chat rooms where users can choose to jam with strangers publicly or invite friends to a private session. Each room contains several audio modules including drum machines, synthesizers, and effects which are used to create loop-based music on the fly. A chat window enables dialog between musicians, while each user has a color that identifies their actions. Although only four active players are allowed at a time in each room, unlimited listeners can engage by posting comments to a rolling feed. This project aims to connect collaborators who are separated by distance and provide an opportunity to discover new collaborators.

This project is built primarily with Node.js and, and it utilizes the Web Audio API, which allows for audio processing in the browser. I have researched quite a bit, specifically web audio apps and multi-user apps. The Web Audio API is still fairly new and is somewhat of a moving target. My intention is not to create a new interface. Rather I am aiming to emulate traditional electronic music tools, in this case step sequencers.

Sync is intended to be used by those with at least some interest or knowledge of electronic music, however the interface is simple and intuitive enough for beginners to be get their feet wet.

User Scenario
The home page presents a user the option to join one of the rooms that is currently in session, or create a new room. When creating a new room, the user gives the room a name and can add tags that will give future visitors information helping them decide whether to enter a specific room. Once in a room a user can collaborate with the other users in the room using the audio modules provided. A chat window allows the users to communicate and each user is color coded. Users may "lock" an audio module which will prevent other users from editing that module until the user unlocks it.

In the long term, Sync aims to be a complete music production tool combined with a social network website. For this thesis I have created a site that allows users to explore different "rooms" which contain three step sequencers, 2 of which drive synthesizers and 1 of which is a sample player.

When I first started this project I was focused mostly on the technical possibilities of remote musical collaboration. To that end, I found that what I intended to do was really pushing the browser to the limit and ultimately I had to scale back a bit in the name of stability. As browsers improve and the Web Audio API is solidly implemented the possibilities will expand. On the other hand, I came to be really excited about the potential social aspects of the site. Further development will expand on this, allowing users to connect and keep track of each other in more meaningful ways. I see real potential for an online community to develop around this tool.