If my understanding is correct, independent of the note duration(whole, half, quarter...) always the same symbol is shown (a filled circle).
This looks confusing for me. Is it possible to show instead the common note symbols?
Also in this direction, it seems the program only checks whether I play the right note at the right time (timing markers) but not if I play the note long enough. This feature would be quite interesting to practice rhythmus.
A third question. Could you add an option to hide these brown vertical lines on each note? It is quite hard to concentrate on the notes as these brown vertical lines deviates.
Re: Questions regarding notes duration checks and symbols
Thank you for a very good question. I'll first give you a bit of background about PianoBooster to explain why it ended up the way it did.
The very first idea for PianoBooster was for a hardware MIDI file player that you connected up to a MIDI piano keyboard. The two key features being different right and wrong note sounds as well as the MIDI accompaniment stopping and waiting until you play the right note. There was no display and so the users needed to read from the printed sheet music.
Piano Booster works very well when reading from the printed sheet music without needing to look at the scrolling notes. So the quick answer to your question, please print out the sheet music and read the score from that. All the supplied music books come with the PDF of the sheet music that you can use.
So in 2005 there was a very popular game called Guitar Hero see this screen shot:
This used a pretend guitar with buttons instead of strings and the notes scrolled down the screen towards the user on a time grid as coloured buttons representing the notes that the user should press. This program annoyed me so much as it did not actually help you play a real guitar but the same concept should work really well with a real MIDI piano keyboard.
Then came a program called Synthesia with each note represented as a bar scrolling down screen on a time grid which is often referred to as a piano roll see the screenshot below:
This inspired me to write Piano Booster like Synthesia but with the notes scrolling horizontally across the screen and I could also use my ideas of the right and wrong notes sounds and getting the MIDI accompaniment to wait until you play the right note. I knew it would be easy to program the notes vertical position (the y access) on the stave lines, but programming the proper musical notation for the timing and durations I also knew would be very very hard. So I opted for a much simpler idea, the notes on the horizontal or x access are on a time grid like a sideways piano roll and don't use the musical notation. So the vertical brown lines mark each beat on a time grid and I find this works better than I thought, you can quite accurately determine when to play the note from these beat marks. So to answer your question the vertical brown lines are needed to mark each beat in the bar and so if you were playing a syncopated rhythm then you would really need the beat markers. But I still recommend looking at the printed sheet music as the key features of PianoBooster is how it sounds, not what it displays on the screen.
Just to complete the story I don't think the horizontal scrolling idea works that well now and so won't be enhancing this part of Piano Booster. It is very tiring to look at and it suffers from screen tearing and it is extremely difficult to get a smooth movement without any jerking. Also I did experiment with not using a time grid for the notes on the x access but then you hit another problem: you need to speed up and slow horizontal scrolling speed to match the way the notes are notated and this change of scrolling speed is very disconcerting.
I do have a plan of an easier way to add full musical notation to PianoBooster but that idea is a long way off and it will not involve scrolling the notes.
First, I wanted to say thanks for creating this programme. It's really neat and my daughter loves playing it with our midi keyboard.
Second, I just wanted to make a suggestion, in case you'd not already thought of it, regarding a possible way of showing the note lengths as well as the position on the stave. Lilypond, a really good music engraver, can export to an svg file (which you probably know is just a type of markup language for graphics), and from the svg file it's possible to retrieve the positions of the notes and stave lines. Lilypond can also export midi. So, instead of engraving the notes yourself, you could get lilypond to export the svg, work out the positions of the elements, and then draw whatever else is needed on top of the score.
I created a very simple game for my daughter to learn rhythms along these lines in python - which is a bit simpler as I only have to care about the horizontal position of the notes. Happy to share the code if helpful.
Anyway, just thought I'd share this in case helpful.