Enlarge sheet music / lyrics and scroll with a foot pedal



I was born a little bit early so my eyes hadn't really formed properly. This has meant I need music to be enlarged in order to see it easily. The downside of this is lots of page turning and / or large pages. The larger the page is the further away the top of the page is which can also make it difficult to see!

So I decided maybe I could make something to help make music easier to read. I first played around with zooming PDF files but they needed to scroll from left to right and then at the end of line, all the way back to the left and down. Left and right was fine but down the right amount not to cut off the top or bottom of a stave was tricky because different staves (eg ledger lines / zoom amount etc) needed to scroll down different amounts. But using an Arduino Leonard to emulate a keyboard and an expression (analogue) pedal which depending on its position would scroll the music, right, left and down. But this system was very tricky even without trying to play at the same time - so a better idea was required...

Using a switch pedal (eg damper pedal ie on or off / not analogue) is far easier to control. Using several of these is an option - but finding the correct pedal whilst looking at the music is unlikely. So a single pedal would probably be best - but this does still leave the potential options of short tap / double tap / hold etc. Instead of an arduino based pedal I purchased a cheap USB foot pedal which emulates a keyboard or more specifically a single key.

If the music was in one continuous line scrolling would be a lot more straightforward. So the first part of the app is used to cut each page of music (provided as s JPG) into lines. Perhaps I could work on automating this in the future but for now - a red line (left click) adds the start of a new section and a green line (shift + left click) is the bottom of a section. When a new red line is placed, it becomes the bottom of the previous section if it wasn't set with a green line.

The second part of the app simply fits the height of each section to the height of screen and scrolls along when the pedal is pressed.

Apologies for the bad video quality - I should have used a tripod :-) I'll probably make a better video when the app is more finished. It is written in C# as a Windows Desktop app. Android / IOS may be a more useful platform but my Windows convertible has a bigger screen than my Nexus 7.

Updates since video

Since this video was made I have added more features to this app.
  • The scroll speed can be set.
  • Option to set left and right markers at specific points on the screen - when the pedal is pressed, what is under the right marker jumps to what is under the left marker. In that way the music stays still for longer so is easier to see - but when it does move you know exactly how far.
  • Jump forward / backward a line / page at a time with buttons under the stave.
  • Display a text file - automatically enlarge it to the maximum font without wrapping text. Use the pedal to down the page.

Future plans

I would like to add the following features:
  • Ability to jump to specific point within the score / text - Verse / Chorus etc.
  • Add artist / category to better sort lots of music.
  • Create set lists and easily move between songs.
  • This was written as a Desktop Application as opposed to being designed for touch (Windows Store / Metro - or whatever Microsoft call them now) because I needed the app for a gig and didn't have time to learn a new technology. It may well be worth rewriting as a Cordova App?