A lot of people like to write music, and a lot of those people like to get their sheet music reviewed by their peers, including two of our three team members. Unfortunately, this has always been a difficult process:
It is difficult to refer to specific parts of the score. Bar numbers are helpful, but often not specific enough.
It is difficult to suggest improvements. Writing out suggestions in text is difficult for the reviewer to write and for the music writer to interpret.
It is difficult to have a back-and-forth conversation about a suggestion. If the music writer wants to ask for clarification on a suggestion from a reviewer, doing so over text is cumbersome, especially if the writer wants to discuss multiple suggestions at the same time.
It is difficult for the reviewer to track updates to the score over time.
Thus the inspiration was born for Re:Music, an online sheet music review platform that makes it easy for reviewers to comment on and discuss specific sections of the score, includes the ability to add short music snippets to comments, and is able to track updates to the score so that reviewers can see when their suggestions have been implemented and make additional suggestions.
What it does
Allows easy reviewing of sheet music by allowing writers to upload their score and send a link to reviewers, where the reviewers can select sections to comment on. Comments can be either plain text or a short snippet of music.
How we built it
VexFlow for music notation, Firebase for the backend, jQuery and Bootstrap.js for the UI.
Challenges we ran into
Our original idea involved allowing reviewers to directly add corrections on top of the score. This turned out to be impractical as there wasn't a good system for parsing sheet music. After a lot of brainstorming, we came up with a much more practical solution that still solves the same problems.
Accomplishments that we're proud of
- Integrating VexFlow without a lot of good documentation
- Allowing people to drag to create movable and resizable overlay rectangles was surprisingly difficult
What we learned
- Firebase is easy to use and fits our use case really well
- Parsing sheet music would be so useful but is impractical
- Don't give up when your original idea doesn't work out
What's next for Re:Music
- Rewriting frontend in ReactJS to make it easier to maintain and add features.
- Support for showing multiple pages.
- Support for uploading updates to the score.
- User accounts and notifications
- Review requests
- Platform for finding peer reviewers
- Expanding to math papers (MathJax in comments)