Skip to content

buzzcola/lightspeed-music

Repository files navigation

You can learn to sight read with Lightspeed. Catchy, right?

It's a game that can be played entirely on-screen or with a MIDI keyboard. The program displays flashcards with single notes, intervals, and triads (depending on your settings) and the player must score as many correct responses as possible in the time provided.

Lightspeed tracks your average response time and can get really addictive once you get going. What's your high score and best response time? Send me a message and let me know.

Technology

  • The source code is a Visual Studio 2010 Solution using C# 4 and WPF.
  • MIDI functionality is provided by Leslie Sanford's excellent C# MIDI Toolkit.
  • Flashcard images are generated using Lilypond. (Lilypond is not required to run or develop this software - the images are embedded resources.)

Current State

The game is ready to play on any windows computer although not extensively tested outside of my hardware/software stack. The solution includes a windows installer project, or you can download the installer from the project website.

Learning to Sight Read Music

If you're a music student or teacher, you're familiar with learning to sight read and how tough it is. I found that when I worked on new repertoire I only spent a certain amount of time reading - then the material was memorized and I was working more on articulation and performance. There are sight reading exercise books out there but I wanted something fun that would give me feedback for incorrect notes.

Lightspeed will not help develop your ability to read ahead of your hands, since only one note or note combination is displayed at a time. But it is a hardcore drill on note recognition, shape recognition and keyboard geography (assuming you don't look down), and by incorporating a few rounds every morning into my practice routine I've really improved my sight reading. I hope it helps you too.

Future Goals

  • A more beautiful interface design would be nice. Since I'm not much of a designer I've erred on the side of simplicity.
  • Analog audio input with pitch recognition would allow support for non-MIDI instruments.
  • Would be super cool running on a tablet or phone. At the moment it could run on a Surface Pro but that's about it. The API and Assets should be reusable on any platform that supports C#, but the interface and MIDI library would have to be swapped out.
  • All the flashcard assets generated by Lilypond are PNG files but SVG would work on a wider variety of displays. Haven't figured out how to get Lilypond to generate SVG yet, nor how to display SVG in WPF.
  • Support for different sized keyboards would be handy feature. For now you can only really play with 88 keys.

About

A game that helps you learn to read music.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages