Inspiration

The inspiration for this project was simply the desire to create a procedurally based sight-reading service free of charge as an alternative to Sight Reading Factory, a paid subscription service. Over time, it turned into an experiment on what could be done with the limitations of the API.

What it does

Sight-reading is a musician’s ability to play a music piece as accurately and musically as possible upon his/her first time seeing it. The website contains a download for a MuseScore plugin that allows one to generate customized random music scores, as well as some instructions for installing the plugin. Customizable settings include the key signature, the tempo, the difficulty, and the instrument.

How we built it

We used a MuseScore plugin to create our project, which was written in QML, a form of JavaScript. We also found it necessary to create a website to host a download for the file, as well as installation instructions and images of its functionality.

Challenges we ran into

For this project, we relied on integrating our project as a project within MuseScore. Because of this, we had to rely on the constraints that the MuseScore team put on their plugin API. Alongside that, the documentation is not incredibly complete, with online sources contradicting each other due to competing MuseScore versions having drastically different plugin behavior. Alongside that, there weren’t many specific examples of key features that we wanted to implement into Sight Reading Factory but Free, so we had to figure it out as we went along. MuseScore is a piece of music notation software, not a software debugger, so figuring out why MuseScore kept crashing was a major challenge.

Accomplishments that we're proud of

You can download Sight Reading Factory, but Free right now and start generating usable sight reading excerpts to practice for auditions and other tests of one’s musicianship. Upon testing with third parties, the project works surprisingly well, despite how crude the excerpts might sound.

What we learned

We learned how difficult it can be to create “coherent” sounding music from random numbers, alongside learning the basics of JavaScript and QML (Qt Modeling Language).

What's next for Sight Reading Factory, but Free

MuseScore’s plugin API is likely very powerful, but over the course of this hackathon, we weren’t able to fully dive into everything it is capable of, due to poor documentation and poor patience. In the future, we could add support for even more instruments, spanning more than just the treble clef, add more time signatures, allow for key signatures to be displayed on the score, and improve the compositional algorithm so that the pieces are more pleasant to play.

Built With

Share this project:

Updates

Submission history