It's written in CoffeeScript, and uses Raphael.js to draw parts of the Gonville font.
Audio playback is done via Flash, so it may give an error in your browser. I looked into using MIDI.js for playback, but that gave worse results in some browsers.
I've done a few experiments into git-style music collaboration. I'm not convinced that enough people will actually pay for private collaboration, so I've put that on hold, for now.
Side Note: I'm currently looking for remote work. Contact details are in my profile.
I have a pretty significant codebase (in Java, for now) representing music theory concepts as objects, which should be pretty simple to convert to JS, but I haven't tried tackling the notation rendering yet at all -- mostly because I've been busy on another project for 2 years now.
Get in touch if you'll be open sourcing this library, or if you have any interest in building JS-based music theory drills; there's certainly a market.
In addition to being a developer/entrepreneur, I moonlight as a high school marching band instructor/arranger. In other words, I'm a semi-professional composer. I work with a team of people who write different aspects of the music: One guy writes the winds, I write the percussion, and others contribute as well.
Currently, whenever one of us has an idea about something to do with whatever we're arranging, we have to either get everyone together in a room with a piano to talk through it, or someone has to sit down with a professional music notation program (we use Finale) and "sketch" it all out.
It would be really cool if there was something online like RiffUp that would let me put together that "sketch" quickly and easily, and send a link to my colleagues. Like a "pastebin" for sheet music.
To get there, it would need to do a few more things, in roughly priority order:
* Allow you to save your creation and send a link to someone else.
* Support "-let" rhythms (triplets, for example)
* Use multiple staves
* Set the tempo
* Allow other time signatures (time changes would be good too)
* Choose a different voice for each staff
The great benefit here would be simple composition without having to worry about all of the stuff associate with making a real score. So much of music notation is about making stuff that prints nicely, which is actually a separate process from just creating the music. And, of course, being able to easily share it with colleagues without requiring them to have the same software I do (or to download a file and open it in that software).
And to answer the followup question that you'll ask: Yes, I'd be willing to pay for this.
Your use case would certainly be supported by the kind of service that I've had in mind. That said, it sounds like Noteflight would already fit your need to share quick musical sketches.
I'm not sure how far I'll take RiffUp. Competing directly against Noteflight/GuitarPro/Sibelius/Finale/... is an option, and there are a few innovations that can be made in that space. That wouldn't be an easy path, though.
I was more excited by the prospect of creating a community based around mass collaboration. The idea that a few notes could be forked to create many distinctly different songs.
For now, finding money to live is the overwhelming priority, so I can't justify spending much time on this. It could be that I pursue things further, later on.
I think it would also be easier to use purely from the keyboard if there was a way to use the Up and Down keys. I realize that Up and Down will scroll the window - perhaps "CTRL+UP" and "CTRL+DOWN" could move the cursor up and down on the staff? I know some people that are used to applications like Finale Notepad/Sibelius prefer entering notes purely from the keyboard for speed purposes.
We've got standard notation support high on our to-do list. :-)
It's sort of a different product than RiffUp, as Soundslice is all about "reverse engineering" songs and giving you tools to help learn a song, with the philosophy that it's better to learn from a source recording than from sheet music/tab alone.
I agree, editing purely with the keyboard can be much faster. Holding down Ctrl with the UP and DOWN keys sounds like a good suggestion, too.
Then again, being a n00b, maybe I don't realize that speed-of-input isn't the bottleneck for composers hehe.
The reason I ask is that it would be really nifty to be able to share or export these tunes. Either via MIDI, or preferably, via another notation format. If they will be fairly simple melodies, ABC might be a great output format, which converts easily into sheet music notation and midi.
Otherwise, you might want something fancy-pants like Sibelius (or whatever people are using nowadays for notation.)
They've both been around for awhile, work from custom text-formats, and support a ton of music typesetting features.
Import/Export is on the TODO list. If there ended up being a custom RiffUp format, it would be open and documented.
An open format for export would be great!
Disclaimer: I have no experience with MusicXML. The vast majority of the music I want to notate fits on a single staff, and ABC is brilliant for that -- it's a well-established portable open music format that's easily entered and edited by hand. (Technically speaking it can do multi-staff music as well, but it starts to get a bit over-complicated and hacky at that point, IMO.) http://en.wikipedia.org/wiki/ABC_notation
PS The "Score" example on the ABC notation page is terrible, but it's a limitation of the lousy standard abc2ly translator, not the ABC format. I've got my own abc2ly which does a much better job of it...
I'm sure you're aware of how much is left to do, but if I had to offer one criticism for right now it's that getting around is a bit slow. Ctrl+left/right for moving between measures and home/end for each line would be quite helpful.
Great suggestion for moving between measures! I'll definitely have to add that.
I am a big fan of, changing the octave and converting from piano -> clarinet etc..
i was planning to do something like this, but you have already done a great job
My initial idea was to create something closer to GitHub, but with music notation and guitar tab instead of text files. I'm not sure where I'll take things, at the moment, though.
I have some relations at music schools. Reach out if you'd like me to connect you.
Next step... support http://www.hummingbirdnotation.com/ ? :)
I can't get ctrl-click to work because Chrome (Mac) brings up a pop-up context menu only.
I've updated it so that you can use either Ctrl-Click or Shift-Click. Let me know, if you're still having problems.