Real-time collaborative canvas that generates an evolving musical landscape.
BubbleCompose lets anyone collaborate on a beautiful piece of music with nothing more than a web browser and a mouse. You draw animated patterns on a shared canvas which is synced in real-time with other users. These patterns are translated to melodies and played back to all as a combined piece of music. The melodies have a random chance to mutate and acquire the traits of other melodies.
To host your own instance of BubbleCompose:
- Install Node.js.
- In the terminal, enter:
git clone https://github.com/iamtrex/BubbleCompose.git
cd BubbleCompose/server
npm install
node app.js
- Go to localhost:3000 on your browser and start composing!
- Other computers in your network can join your canvas using your host computer's local IP address (for example: 192.168.1.32:3000).
- To clear the canvas, enter the following in the browser console:
myReset()
- PTS.js - To render the graphics
- Socket.io - To sync client and server
- Tone.js - To render the audio
- Magenta.js - To make the melodies evolve intelligently
- SemanticUI - To make it look beautiful
Chauncey Liu | James Zang | Rex Lin | Benjamin Kwok |