I started taking music theory classes in my local community college (I can now highly recommend this for self-thought musicians) and created a quite a few exercises to help me along the way. E.g. I couldn’t trust myself with stuff like interval identification and needed a computer to tell me if something’s wrong. These exercises are mostly of the flashcard type. I hope people find them helpful https://www.onlinemusictools.com/
The code is quickly hacked create-react-app mini apps. Since I mostly wrote them while preparing for tests. Some of them are even on github. One of these days I’ll sit down and refactor the disparate little apps into a coherent whole. One day.
As a programmer, I love this app. As a musician, I think it would be good for novices who are still in the "note identification" phase, as others have mentioned.
However, I'm not sure how useful it would be for an advanced student. Much of becoming truly proficient at sight reading is context-dependent chunking. In other words, given the key, style, tempo, what was just played, location in the form, etc. what patterns are likely to appear? Training yourself to identify and predict longer and longer sequences of notes as single "chunks" is key to professional level sight reading. An app that generates random notes can't simulate that stylistic context.
So long as those probabilities are aware of context (style, form of this piece, location in the form, etc.). I've played around with Markov models a little, but I don't think they would quite cut it. This problem is probably slightly less difficult than generating prose from scratch, but it's a similar type of difficulty.
Getting solid curated input data would also be tricky, unless there's some big and well-annotated library of midi recordings sitting around somewhere.
For building a good app today, your best bet is almost certainly to use existing sheet music, pieces and etudes in the given style.
Does touch typing practice require actual words or just random letters? I think if you can be proficient at random notes you'll have an even easier time with actual music.
If you spend time with professionals sight reading, you come to appreciate that the cognitive overhead of reading individual notes caps out quite soon and most high level sight reading involves chunk identification and anticipation.
I've seen Liszt sight read at normal tempo for example and that is going to mostly be structural reading than note by note reading.
Where random note reading could be useful is for more "modern" atonal stuff...
It's absolutely true you need to be able to read the "words" or even phrases in the music, not just the letters. You can only do that with significant look-ahead.
But you also need to know how which fingers to use.
It's very much not just a case of playing the right note at the right time. It's about playing note sequences using fingerings that lead smoothly to later note sequences - all at speed.
That means including thumb-under and other moves that aren't at all intuitive and are totally non-obvious to beginners.
Apps like these don't just fail to teach that, they don't recognise it as a thing that needs to be taught.
I think there's also a lot to be said about having a real score in front of you. I used to sight-read for a living (guitarist on cruise ships) and thought that the first grok of the visual where you take in the form was more important than the up/down of a melody.
That is quite humbling. He is obviously a very skilled musician and can play ragtime like Scott Joplin but picking up a new piece and playing it by sight without any mistakes that I could see or hear, is amazing.
I'm missing the pitch too. (Edit: ah you're supposed to connect it to a MIDI device, but who owns that/how does that cater to mobile users). What good is it knowing the note is C5 without knowing what C5 sounds like, in other words I'd be able to identify the notes but I wouldn't know what the song sounds like...
yeah no, this is horrible all around. the only way this kind of UI (no actual keyboard) would be useful is if it had voice recognition and you spoke the notes.
I was impressed how well it works on mobile (although that’s becoming expected these days I guess), until I got to a higher note and the “Hide Keyboard” button covers them, making it impossible to continue.
Considering it works with midi keyboards though, I might get my kids to play on it a bit.
Thank you for making this! This is the best find for me this whole week. I have been learning keyboard and one things I really missed was having a place like this to practice sheet music and learning to sightread music. There are tons of expensive/paid service but nothing beats this. This is perfect. This along with https://www.musictheory.net/lessons is enough for me to learn most things I need. :)
I would love to know if the creator has plans to use different note forms. Sometimes reading only whole notes has a similar effect to reading all caps lettering... There's less signal coming from the overall shape. The direction of the stem on e.g. a quarter note provides some signal as to where on the staff the note is.
Otherwise this is pretty great! It's akin to something I've wanted to build for years. As a sight-reader akin to the linked video in another thread and former piano teacher, I used to dream of sharing my methods through technology. Nice to see somebody else is doing it.
Interesting, I've been using it for a couple of months (this and pianobooster). It works quite well but there are countless improvements one could make. It is open source as well, but the software is written in an obscure language. ('moonscript').
MoonScript isn't too obscure. It's to Lua as CoffeeScript is to JavaScript. I personally think it's a nice improvement over Lua. (Except for the use of backslashes...)
The "easy" notation for play along is pure horror. If this is expected to be helpful in practicing reading music, it should at least use standard notation.
I recommend "Notes Trainer" app for the iOS, it can connect to a digital piano over bluetooth or USB and then you can practice recognizing notes.
On the upside I became better at it over time, got it down to 2 seconds per note on average... On the downside the skill did not translate into actually reading sheet music any better outside of the game - it still takes a lot of time for me to recognize the next note. Go figure.
This is great. I am new to Piano and have a rough time reading music (I basically count from middle C, G, or B on the treble clef or from D or G on the bass clef). I plugged in my keyboard today and spent about 20 minutes on it and already feel faster.
If you're interested in learning or practicing piano with something like this and have a MIDI keyboard check out Piano Marvel [0]. My son has been using it for the last year to learn to play. It monitors both notes and timing and has a large library of exercises, original pieces, and popular music.
Rhythm had always been a problem for me until I found "Complete Rhythm Trainer" (android app). It scrolls a music sheet and you gotta tap on the beginning of each note. It kinda clicked for me and I could always read rhythm well after that
For me the hard part was getting the pitch and remembering the modifiers (repeat/sharp/flat) from the beginning of the line. The rhythm was always trivial.
Unless you're dealing with contemporary pieces, atonal or with wild harmony, modifiers are largely the result of tonality, mode and chord progression, aren't they? I hardly need to make me "remember" them...
But yeah, I'm terrible with rhythm. I'm curious that there are different types of brain to perceive the music.
When reading music, I have an odd tendency to get off by one on the note duration. Anyone else here have that problem?
What I mean by that is that I read and play a note, and then look ahead to the next note. I then tend to use the duration given for the second note as how long to let the prior note continue before playing the second note.
i am so happy to see leaf's work here on hn. he started itch.io! check out his other amazing projects at https://leafo.net.
he is one of my favorite programmers of all time and a great inspiration. his ability to start and actually deliver projects is what amazes me much. i saw the beginnings of itch.io, this very project, that lua spin-off, that custom nginx thingy. it's so amazing when you look at what these projects now. i mean when does one have time lol
The code is quickly hacked create-react-app mini apps. Since I mostly wrote them while preparing for tests. Some of them are even on github. One of these days I’ll sit down and refactor the disparate little apps into a coherent whole. One day.