Try it out at http://syncfony.herokuapp.com/
Please access our app using HTTP instead of HTTPS. Thank you!
Music is an integral part of our lives, and we believe that there is joy in creating music, especially together with friends. We believe that creating music should not be limited by geographical boundaries. With an increasing number of platforms for collaborating on documents, code and presentations, we believe that there should also be a platform for creating music collaboratively. This led to our application, Syncfonia.
What it does
Syncfonia allows people to connect through a blazing fast peer-to-peer (P2P) connection together to make music, allowing for almost perfect synchronization. Anyone can create a room, invite their friends and make music together! Music played by one person will be heard by everyone in the same room, so grab along some friends, launch Syncfonia and have fun!
How we built it
Syncfonia is built with node.js, WebRTC, peer.js to enable low latency P2P transmission of data and to serve webpages, as well as HTML5/CSS3 to render content. Syncfonia also makes use of an open source sound synthesizer, audiosynth, to synthesize sounds.
Challenges we ran into
We took quite some time to come up with this idea, which resulted in us having considerably less time to complete our product. Also, peer.js happened to not work with the wifi provided during the hackathon, which resulted is us spending quite a significant amount of time discovering and rectifying this issue.
Accomplishments that we're proud of
- Beautiful, intuitive and elegant user interface.
- Extremely low latency transmission and synchronization of music.
- A good variety of instruments available for use on the version completed during the hackathon.
What we learned
WebRTC is a powerful, new web technology that allows for limitless possibilities in the realm of web development.
With the rise of client-based technologies such as WebRTC, web applications can possibly become less reliant on servers.
What's next for Syncfonia
A greater variety of instruments available for more genres of music to be created.
We would also allow creation of music with a MIDI keyboard for better and more effective creation of music.