Inspiration
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
- css
- domain.com
- express.js
- firebase
- google-cloud-firestore
- iro
- musicxml
- node.js
- nosql
- react
Log in or sign up for Devpost to join the conversation.