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. I used an Arduino Leonardo to emulate a keyboard (arrow keys) 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 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) moves the bottom of a section. Control + left click moves the top 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. There is an option to set the maximum number of screen widths a line can use as a single stave (ie just treble clef as opposed to treble and bass) when zoomed to fit the height of the screen may not show enough bars width wise to be useful.
It is written in C# as a Windows Desktop app. Android / IOS may be a more useful platform but my Windows convertible tablet / laptop has a bigger screen than my Nexus 7.
- Scroll music left / right with pedals (key presses)
- Display a text file - automatically enlarge it to the maximum font size without wrapping text. Scroll lyrics & chords (text) up and down with pedals (key presses).
- Add non-destructive annotations to music - using a mouse or digital stylus
- Add Markers to music and text to easily navigate to specific section eg repeat marks or verse / chorus
- Option to set left / right margins and top / bottom lines to specific points on the screen - when the pedal is pressed, what is under the right margin jumps to what is under the left margin - or at the bottom line indicator jumps to the top line indicator. 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.
- Generally large fonts and colours are used to make use easier by visually impaired people (such as myself)
Future plansI would like to add the following features:
- Create set lists and easily move between songs.
- Port to IOS / Android