This project is a tool to help piano players determine mistakes without the need for a teacher. Users can easily upload sheet music and recordings onto a web application and see where they made a mistake in their playing.
Rhythmic makes use of MusicXML to store parsed sheet music along with parsed recordings.
The web app was also deployed to AWS through the AWS ECR and ECS service.
- Pictures of sheet music are parsed using Audiveris' OMR engine and stored in MusicXML.
- Recordings of their playing are transcribed using Omnizart to convert into MIDI and finally MuseScore to convert from MIDI to MusicXML.
- Employing a Levenshtein Distance algorithm, Rhythmic will determine the mistakes made by the pianist.
- Simple user interface to enable a smooth experience.
- Most modules are packaged into Docker containers.
- Python 3.11.4
- Next.js 13.4.5
- Docker 20.10.21
