Sheet music software are expensive and have steep learning curves. These can be a major deterrent towards those who wish to pursue a career in music

What it does

Composem enables the general public to freely and accessibly compose sheet music without expensive and confusing software.

How we built it

We constructed a grammar, syntax-highlighter, parser, and executor that translates a markdown-like syntax into the complex and verbose musicxml file. The xml file is then rendered in real-time using React and OpenSheetMusicDisplay. Additionally, we utilized google cloud firestore integrated with firebase to provide a better and more accessible user experience. We allow users to save and retrieve files from the cloud with a simple email authentication.

Challenges we ran into

  • Developing a robust grammar
  • Learning musicxml
  • Real-time efficient rendering
  • Figuring out how to host with custom domain

Accomplishments that we're proud of

  • A fully functional editor capable of rendering and exporting sheet music
  • Efficient real-time rendering and translation of input
  • Simple and intuitive grammar

What we learned

  • Sheet music representations overly complex
  • Creating a grammar from scratch is very difficult
  • Custom syntax highlighting

What's next for Composem

  • Hosting both frontend and backend on custom domains
  • Fullscreen support for editor and visualizer
  • Adjustable view
  • Increased support for complex musical representation

Built With

Share this project: