Inspiration

Being someone who enjoys many genres of music, particularly smaller producers in the EDM space, the tools they use can greatly impact the quality and quantity of the music.

One factor is that many producers work together to produce songs, and that tends to be quite challenging. Every major DAW (Digital Audio Workstation), is designed to be worked on a single computer, by a single person. Many producers resolve this by physically attending the other producer's house. Only, this is not only a hassle but also not realistic due to many producers living in different geographical areas from each other. Another thing that producers can do is communicate over the internet, using Skype or the likes. This too has many limitations, including the fact that only one producer can work on the project, and the other essentially sits and watches. Also, the issues multiply exponentially when adding additional producers into the mix.

So, we decided to change that. We created musi.io that allows producers to create music together, in real time. Multiple producers can come together, to easily work on a song. They can watch, edit, listen, talk, all from the online app.

What it does

Musi.io is an online Digital Audio Workstation. Anyone can create a new Workspace, and share an ID to allow people to join the workspace. Musi.io allows producers to create music in a familiar way, whilst being able to produce in real time with their peers. Everyone sees and hears the same workspace. Musi.io also included a built-in voice chat, allowing for even easier collaboration.

Overall, Musi.io will allow producers to collaborate with other producers, to produce amazing music that may not have existed otherwise.

How we built it

Musi.io is designed as a cloud service. The entire ecosystem is designed around the web and your browsers, so producers don't need to download any additional applications. The front-end is designed in HTML5, JavaScript, and BootStrap. The new Web Audio API's were used for advanced sound manipulation. The back-end server, responsible for keeping all the clients in-sync with each other, is written in Node.JS. The front-end and back-end communicate over an async Socket.IO connection.

Also, the front-end required quite a few custom libraries and components we had to write, because of the fact, that there were not many interfaces for easy manipulation of audio and timelines. For example, the Playlist Queue required us to make a custom system based on jQuery Draggable's. The system for handling files and the samples was custom coded as well, integrating a custom file structure and metadata system.

Challenges we ran into

One of the biggest challenges we ran into was the fact that our project is quite unique, and so we needed to custom code a lot of functions. Also, we needed to define our own custom protocol for syncing all the clients together.

And since we had to use a lot of custom written code, a lot of time was spent ironing out the bugs. Also, Javascript can be tricky to work with due to the nature of the language.

Accomplishments that we're proud of

I think we are most proud of the fact that we managed to, within 24 hours, deliver a product that is both unique and challenging to produce. When we first thought of the idea, we had doubts we would be able to bring musi.io close to a palatable product, but we managed to accomplish that.

What we learned

We definitely learned quite a bit developing musi.io. As Devin likes to say, "node.js sucks! Give me a real backend language!!! ". But on a more serious note, we learned a lot about defining protocol standards, the importance of choosing reliable libraries from the getgo, and that it's never too late to do major code refactoring, among other things.

What's next for Musi.io

We definitely see a bright future for musi.io. One thing right off the bat is to buy the "musi.io" domain name, iron out the rest of the bugs, and bring it out to a public beta. Also, we do plan on publishing the source code to github and publishing it under some form of Open Source License.

Overall, we think that musi.io can be something revolutionary.

Share this project:
×

Updates