SharpEye Music Scanning Program
SharpEye is an optical music recognition program which has an interactive graphical environment for editing the symbolic music notation extracted from scanned music.
Start SharpEye in the Lab by clicking on the taskbar icon which looks like a cyan/black wholenote with a sharp in front of it () in windows, or type "sharpeye" in the terminal in OS X. Music can be scanned directly from SharpEye using the "Aquire" option in the File menu, or you can scan with a separate program and choose "Open Image" option in the File menu to load the graphic music. When processing several pages of music, it is more efficient to first scan with the Epson GT-15000 Scanner in the lab, and then process the scanned images in batch mode within SharpEye.
File:Nova079.tif Become familiar with the basic SharpEye scanning process by following these instructions:
- Download (or use Scanner) the TIFF image of an example page of music by clicking on the thumbnail image to the right, or print out the PDF version of the music and scan directly in SharpEye by going to the File→Acquire menu option (or use a stand-alone scanning program to scan and load the file from File→Load Image). The scanned image will be placed in the bottom window in SharpEye program as shown in the following screenshot:
- After you have loaded the scanned image into the bottom window of SharpEye, press on the music recognition button which is the icon with a right-pointing arrow on it. In a few seconds, music should be displayed in the top window which can be played or edited. There are lots of editing features, but for the simple example there will not be much to fix, so don't worry about these features yet.
- Save the recognized symbolic music data to the MusicXML format by going to the menu "File→MusicXML→Save As..."
- Import the MusicXML data into Finale, either by going to to the menu option "File→MusicXML→Import..." in recent versions of Finale, or under the Plugins menu in Finale 2004.
- Exercise 1: Make any additional edits you want to the music in Finale and print the final result. (email the orignal MusicXML file and the Finale PDF or (paper print) for sending to Mauricio and cc Eleanor).
- Exercise 2: Compare the original PDF file and the version of the music printed by Finale. What aspects of the music were preserved? Which were lost? What did you need to add/correct (if you changed after loading into Finale)?
- Exercise 3: Save the musical data for the same score in SharpEye as MIDI data instead of MusicXML data. Load the MIDI file into Finale, and compare the results with the MusicXML method of data transfer. What is different (email or give a print of the MIDI loading result to Mauricio).
First scan several pages of music in an external program (such as the Epson scanning softare in the lab). Then in SharpEye, go to the menu option "Read→Batch process..." and you will open up a window which looks like this:
- Click on the "Add files..." button and select the pages that you want to include in the recognition process. (Shift click for a range of pages).
- Choose the output folder. In the example image it is set to "D:\Craig".
- I would recommend that you check the option "Join files after conversion" and specify a filename to save all of the converted pages' data into a single file (called newpiece.mro in the above example). The batch process will create a separate .mro file for each page that it processes. After all pages have been processed, it will then combine these separate pages into a single file if that option is checked. (I keep only the joined .mro file and delete the individual .mro pages).
- After the batch process is finished, go to the menu option "File→Open Music..." to load the combined data file (newpiece.mro in this case). If you do not join the files after conversion, you can edit the separate page .mro files, and optionally join them one page at a time at a later point.
- A handy tip: Select the menu option "View→Display Image" to view the original scanned image after loading a music file created with batch mode (otherwise, you will only see the symbolic music window and not the scanned image window).
Here is a two-page song which can be used to try out the batch mode in SharpEye:
Example of the resulting recognition for the song in SharpEye:
Here is what the musical data looks like in Finale 2009 after importing the MusicXML data created by SharpEye (after a little bit of editing and page layout adjustment):
Final PDF from Finale 2009 (with some more clean-up required for a finished product):
- Exercise 4 Select at least two pages of music of your own choice to process in SharpEye. Do at least minimal correction of pitch and rhythm (don't bother with articulations, slurs, etc. unless you want to). Then do a similar process to exercises 1-3: export the MusicXML file into at least two of the programs MuseScore, Noteflight, Finale, Sibelius. Print a PDF in those programs and compare to differences in the original scan input to SharpEye. What is different between the original input and the final PDFs? Also, export a MIDI file from SharpEye and import the MIDI file into Finale or MuseScore and observe the difference between the resulting PDF and the one created with the MusicXML data.
- Extra credit: Look at the MusicXML output from SharpEye in a text editor. Find a difference in the final PDF and the original, and look for that point in the MusicXML file. Is the difference related to (1) the data feature was not exported by SharpEye (such as missing tempo markings), (2) the data feature seems to be correctly output, but receiving program had difficulty representing the item (for example a tuplet marking may be indicated in the data, but not which side of the notes it should be displayed, and the receiving program chose a different default location).
Read the manual pages in the program and online listed in the link section below for full understanding of the editing options in SharpEye. SharpEye uses the mouse right-click for inserting objected from the green-colored menu which will take some time to get used to. Some handy tips dealing with editing:
- Press and then click-drag to select multiple notes at one time.
- Press and then click on notes to add them to the selection.
- If the red-colored menu is being displayed, right click with the mouse to bring up the green-colored menu. While the green-colored menu is displayed, there will be a red cross-hair in the scanned music showing the parallel location to the mouse pointer in the symbolic music (useful for checking for errors).
- Gray colored slurs are not attached correctly to notes, so they must be fixed by moving one end or the other to attach to notes on both sides.
- Gray notes represent a rhythmic error in the measure which you will have to fix in some way. There is an option for rhythmic parsing which is important to understand if you want to use SharpEye a lot (read the manual).
- Keyboard shortcuts for several menu selections are defined: F1 = help, F2 = flip stem direction on note(s), F3 = beam/unbeam notes, F4 = cycle through augmentation dots, F5 = make note(s) 32nds, F6 = 16ths, F7 = 8ths, F8 = quarter note(s), F9 = half note(s), F10 = whole note(s).
- There is an option to recognize lyrics or not, and if so, what language to use for the recognition.
- http://www.visiv.co.uk Homepage for SharpEye.
- http://www.visiv.co.uk/about.htm A brief description of SharpEye.
- http://visiv.co.uk/dload.htm Download free 30-day trial version of SharpEye.
- http://www.visiv.co.uk/manualv2.pdf SharpEye Manual (in PDF format).
- http://www.visiv.co.uk/L2SDKdoc.htm Documentation for the Liszt music-OCR engine which runs behind the scene in the SharpEye graphical user interface.
- http://www.visiv.co.uk/tech-mro.htm Internal data format used in SharpEye.
- http://www.recordare.com/xml.html Description of MusicXML.
- http://gamera.sourceforge.net Gamera: A software framework for the creation of domain-specific recognition applications. Music OCR being one application.