Sight-Read

Image of sight-read

Sight-read was the prototype version of RhythmTrain build for my undergraduate dissertation. The original intention of the app was to use beat detection to have users play rhythms to their own music collections. I chose to build the game using Kivy, a python graphics library as a result of pythons suitability for handling and analysing data. After testing, I couldn’t implement a beat detection algorithm with enough accuracy for a rhythm game and so opted to let users manually install their own music with their own rhythms in a simple to use format.

Kivy proved to be extremely tricky to work with, with very little documentation, often poor performance and none of the “bells and whistles” of a game engine. I learned a lot from building this project so when it came time to keep working on the project for my masters, I decided to drop the Kivy implementation, focus on a more feature complete, curated experience in Godot.

The code base for this Kivy implementation, as well as instructions for installation and how songs are added can be found in the repository below:

Repository for Sight-Read