Digital Sheet Music Viewer: Difference between revisions

From Computer Laboratory Group Design Projects
Jump to navigationJump to search
No edit summary
No edit summary
 
Line 1: Line 1:
Client: [[Cambridge Consultants]]
Client: Andrew Knights, [[Cambridge Consultants]] <andrew.knights@cambridgeconsultants.com>


Contact: Andrew Knights <andrew.knights@cambridgeconsultants.com>
A musical score is in effect a single line of n bars. Lines, pages, and to some extent repeat markers appear due to the score being printed on a page. Your task is to design software that allows a user to have complete freedom to arrange a musical score on their chosen display (be it a laptop, tablet, mobile-phone, or projector) in a format that best suits that display and their needs. Starting with a free digital format of the score, the software should allow users to manipulate on-screen scaling, rearrange the score layout using drag & drop of bars, automatically advance in a way that doesn't interrupt play, and supports annotation by one or more users. Ideally, it should be possible to capture the score using OCR from a scan of a paper copy. And of course, when playing in a group, it would be preferable to synchronise all of these functions across the screens used by multiple players.
 
A musical score is in effect a single line of n bars. Lines, pages, and to some extent repeat markers appear due to the score being printed on a page. Design software to allow a user to have complete freedom to arrange a musical score on their chosen VDU (be it a laptop, tablet, mobile-phone, or projector) in a format that most suits the display and their needs. Starting with a free digital format of the score, the software should allow users to: • Edit the score layout using drag & drop of bars to arrange the score on-screen • Choose whether they wish for a scrolling or line/page approach to viewing • Manipulate on-screen scaling (that will automatically dictate bars per line, etc. when viewing) • Activate fixed timed scrolling/page turning • Integrate a musical OCR program to allow scanning paper copies into the software • Allow the user to customise the score and/or add comments and reminders. • Implement a detection algorithm that will allow automatic scrolling and/or page turning. (Using maybe: midi keyboard input / audio listening / front-facing camera watching the performer )
 
Extension tasks: • Extend the detection algorithm to allow real-time tracking of your place in the score. • Extend the detection algorithm to allow multiple voices and be robust to a musician retiring part way through. • Allow multiple users to share, scroll/page turn synchronously, and work together on one score. • Allow recording during a performance which is linked to the score which could be used for a 'musical autopsy'
 
Doing a quick look online there are numerous musical OCR programs which could be integrated into the software without the need to write it from scratch.
 
==feedback==
 
I'd like to refine the digital sheet music concept into a more distinctive product concept. I like the general idea - in fact, a friend of mine has created an excellent app that incorporates many of the things you suggest:
http://www.musicscroll.info/
 
From past experience, although we usually have a few musicians on the course, Computer Science seems to attract slightly fewer musicians than most Cambridge degrees, so we can't assume that students would immediately recognise the implications of the suggestions you've made (I'm a string player myself, so do have a reasonably clear idea of possible benefits). This means that orchestral support features like score annotation, player coordination, response to a conductor and so on are unlikely to be well understood by a project team.
 
Based on previous projects, I believe that audio analysis techniques for tracking polyphonic voices or even beat tracking will be beyond the scope of undergraduates. The same probably applies to using cameras for gesture detection from an uncontrolled scene. We've used pitch detection from electric guitar in the past (avoid the problem of background noise from microphone input, which is a big issue on the public demonstration day).
 
I wonder whether some kind of music tutor application might have some appeal? Thinking of the many YouTube guitar tutorials - "how to play …", it might be interesting to allow those to be segmented, coordinated with a score (or tab) view, and adjusted to follow tempo of the player.
 
Here's an approach to tutoring that uses the Guitar Hero / Rock Band approach rather than standard music notation:
http://www.youtube.com/watch?v=pJUrZsFFrVg
 
==response==
 
I am away on holiday from today until the middle of next week. I have not had the time nor the creative brainpower to think through these points thoroughly. I will think over it during my time off and get back to you asap.
I will look into the "youtube tutor" idea however its sits slightly against the grain with me as I dislike the lack of artistic freedom that is implied in a system that effective telling where to put your finger step-by-step. (To me it is not much different than the computer just playing the tune for you! - you can tell that I am not a Guitar Hero user...) However, my dislike of this method of teaching could be the seed for an idea of somehow doing better.  
I will have a think about what interesting task could be proposed that is a bit simpler than the previous suggestion but of a similar ilk.
I am slightly tempted to have a go at writing the listening pitch detection myself and letting the students have it to work with but I am too busy currently to promise this!

Latest revision as of 17:31, 27 October 2013

Client: Andrew Knights, Cambridge Consultants <andrew.knights@cambridgeconsultants.com>

A musical score is in effect a single line of n bars. Lines, pages, and to some extent repeat markers appear due to the score being printed on a page. Your task is to design software that allows a user to have complete freedom to arrange a musical score on their chosen display (be it a laptop, tablet, mobile-phone, or projector) in a format that best suits that display and their needs. Starting with a free digital format of the score, the software should allow users to manipulate on-screen scaling, rearrange the score layout using drag & drop of bars, automatically advance in a way that doesn't interrupt play, and supports annotation by one or more users. Ideally, it should be possible to capture the score using OCR from a scan of a paper copy. And of course, when playing in a group, it would be preferable to synchronise all of these functions across the screens used by multiple players.