Inspiration

Polytunes is a interactive music pad highly inspired by an electronic music device called Tenori-on and by collaborative creative apps using meteor that often allow to draw with friends. We were aiming at creating a new kind of creative collaboration app, so we decided to target music.

What it does

The goal of this project was to build a sequencer without any third-party component such as flash, or any sound files, using only HTML5 WebAudio API. Because Polytunes mathematically calculates note within musical scales, it is easy for everyone to create melodies without prior theoretical knowledge about music. Not only it enables people to witness other's creativity in realtime thanks to Meteor, but it also gives everyone the ability for several players to collaborate on the same piece of music.

It can be used as a teaching tool to learn about musical scales, harmony, rythm or collaborative creation, as a creative tool to compose melodies, or just as a fun game that matches words or drawings to music.

How we built it

We used meteor to enable real-time collaboration and a Javascript library called Wad that is a wrapper around HTML5 WebAudio API.

Challenges we ran into

The only difficulty we had to face was that one of our collaborator, that had to leave the hackathon early, was so addicted to Polytunes that he actually couldn't stop playing event at home. Because we had no way of contacting him beside drawing pixel art style words with Polytunes, it made it very difficult for us to create the presentation screen capture video.

What we learned

We were all beginners with meteor but we found that it was very easy to use to quickly build a responsive and dynamic web-app.

What's next for Polytunes

We'd like to add the ability to create public and private rooms which url can be shared with friends or on social networks. We currently used a lot of default settings that would be settable by user, such as tempo, pitch, musical scale, board size, etc. We also would love to build Polytunes as a native app for mobile devices that could allow both solo offline and collaborative online play.

Meteor package used

meteor-base             # Packages every Meteor app needs to have
mobile-experience       # Packages for a great mobile UX
mongo                   # The database Meteor supports right now
blaze-html-templates    # Compile .html files into Meteor Blaze views
session                 # Client-side reactive dictionary for your app
jquery                  # Helpful client-side library
tracker                 # Meteor's client-side reactive programming library

standard-minifiers      # JS/CSS minifiers run for production mode
es5-shim                # ECMAScript 5 compatibility for older browsers.
ecmascript              # Enable ECMAScript2015+ syntax in app code

grigio:babel
stylus
artwells:accounts-guest
accounts-ui
accounts-password
check
random
mvrx:bluebird
grove:call-async
mizzao:timesync
u2622:persistent-session
lookback:tooltips

Built With

+ 29 more
Share this project:
×

Updates

Clément Bourgoin posted an update

Polytunes 0.6: The DUET update !

Polytunes is now a two-player game. You'll play with a complete random stranger or invite a friend. Each player can only add notes on his side of the board (left or right). Try to create a great melody together!

Also, Polytunes is now localized, with english and french translations. Please contribute on Github if you want to add new languages.

Try Polytunes now The full changelog on Github

Log in or sign up for Devpost to join the conversation.

Clément Bourgoin posted an update

Polytunes 0.5 is live!

You can now click-and-hold a cell on the board to play a note, and then release the mouse button to add the note to the board or playing other notes by dragging the cursor, or release the mouse button outside of the board to cancel. You can also toggle playback with the space key.

Other changes includes improving sound quality, visual effects, performances, design and usability on touch devices.

Try Polytunes 0.5 now! Check the full changelog on Github Follow Polytunes on Facebook

Log in or sign up for Devpost to join the conversation.

Clément Bourgoin posted an update

Here's some thoughts about the future of Polytunes. Comments are welcome and very much appreciated!

As of today (as we made it during the Meteor hackathon), Polytunes is half a (not so funny) game and half a (very simple) music instrument. I think that in the future, Polytunes could evolve in two different directions, that are not necessarly compatible: be a better music instrument or be a better game.

Polytunes could be a better music instrument. It could feature a lot of customization settings like pitch, musical scale, tempo, note ADSR enveloppe, in other words, all settings you can find on a real life synthetiser. But we already have real life synthisers, along with HTML5-made music tools (check the amazing Star Song that was also made during the hackathon) so that I feed that would be pointless. I also think one of Polytunes' strength right now is that it's dead simple and can be played by anyone without any musical knowledge — that's something I'd like to keep.

Polytunes could also be a better game. What makes games fun, especially creative/artistic games is that they have constraints (think of creative writing games). That actually means less liberty, less customization options and adding rules to limit player abilities. Those rules could also be a solution to the problem that when a lot of users are online at the same time, it quickly ends in a frustrating and cacophonic disaster. Having said this, I'm much more willing to take Polytunes in the "game" direction.

Here are some rules we could add :

  • Limit number of players per board (4/5 ?). Of course there would be several public rooms and the possibility to create private rooms.
  • Limit number of notes on the board. If maximum is reached, either ask users to delete one before being able to add another, or delete the oldest note on the board.
  • Limit the ability to add notes by forcing the user to wait until other players have added a note. That would basically make Polytunes a turn-based game and would encourage each player to pay attention and cooperate with other players.

Of course there still wouldn't be high scores, challenges or a clear objective (other than cooperate and create the most beautiful melody possible), but I think that would help to organize all the raw creative energy we've witnessed on Polytunes so far, and make it a funnier game.

Log in or sign up for Devpost to join the conversation.