On Displaying Musical Scores » History » Version 3

Version 2 (Chris Cannam, 2016-01-07 03:34 PM) → Version 3/26 (Chris Cannam, 2016-01-07 04:26 PM)

h1. On Displaying Musical Scores

h3. Use cases

# * Illustrating recordings by attaching a full publication-style score
## ...where
(published or equivalent), 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
audio.

* Notation prompt
that a user is expected to read, e.g. read (e.g. to play along with, or to check specific notes in a transcription or spectrogram
#
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)
** 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
** Replaces problem of "integrating score display" with problem of "integrating PDF/image page display"
** Has advantage of introducing ability to display other PDF material
** Provides access to non-digital 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!