On Displaying Musical Scores » History » Version 5

Version 4 (Chris Cannam, 2016-01-07 04:26 PM) → Version 5/26 (Chris Cannam, 2016-01-07 04:27 PM)

h1. On Displaying Musical Scores

h3. Use cases

# Illustrating recordings by attaching a full publication-style score
** ...where the score is not intended to be read closely, but rather used as a sort of key-frame reference for navigating the audio
** ...or where user expects to be able to zoom the score far enough to actually read it properly
# Linear rather than page-based score that a user is expected to read, e.g. to play along with, or to check specific notes in a transcription or spectrogram
# On-the-fly score display of transcriptions and related annotation layers (score from MIDI)
# Score editing for correction (making usually small edits to substantial scores)
# Score editing for annotation (generating small scores from scratch)

h3. Sources of score data

* Score-encoding formats, e.g. MusicXML, MEI
* PDFs of published scores
* "Tidy" MIDI files and other cleaned-up annotation data (e.g. chord charts)
* Untidy output from transcription methods and the like, in MIDI or MIDI-like formats

h3. Possible implementations

* Integrate code from an existing application (most likely one that is also in C++ using Qt)
** Suitable for all use cases, with limitation of requiring score to be available in a digital format
**
MuseScore -- most obvious option
** Rosegarden -- has a notation editor component but is primarily a sequencer (but does have the advantage that I wrote much of it and so know a lot of the code!)
** Suitable for all use cases, with limitation of requiring score to be available in a digital format


* Invoke external application to render to PDF or sequence of images, then display PDF/image pages
** Suitable for use case 1; unsuitable for use cases 2, 4, 5; uncertain for use case 3
**
Replaces problem of "integrating score display" with problem of "integrating PDF/image page display"
** Has advantage of introducing ability to display other PDF material
** Adds Provides access to non-digital (scanned) score content
** Suitable for use case 1; unsuitable for use cases 2, 4, 5; uncertain for use case 3


h3. Examples

*Linear*

MuseScore

!/attachments/download/1776/musescore-tidy-linear.png!

Rosegarden

!/attachments/download/1779/rosegarden-tidy-linear.png!

*Paginated*

MuseScore

!/attachments/download/1778/musescore-tidy-paginated.png!

Rosegarden

!/attachments/download/1780/rosegarden-tidy-paginated.png!

*Imported from an approximate transcription*

MuseScore

!/attachments/download/1775/musescore-messy.png!

Rosegarden

!/attachments/download/1777/rosegarden-messy.png!