On Displaying Musical Scores » History » Version 7

« Previous - Version 7/26 (diff) - Next » - Current version
Chris Cannam, 2016-01-07 04:30 PM


On Displaying Musical Scores

Use cases

  1. 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
  2. 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
  3. On-the-fly score display of transcriptions and related annotation layers (score from MIDI)
  4. Score editing for correction (making usually small edits to substantial scores)
  5. Score editing for annotation (generating small scores from scratch)

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

Possible implementations

  1. 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
    • Only possibility if editing is required (but note that adding editing is likely to be very involved even with this approach, maybe prohibitively so)
    • 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!)
  1. 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"
    • Could use MuseScore as the external application (it has a batch mode) or Lilypond, or something else like VexFlow, or more than one option depending on platform & input format
    • Has advantage of also introducing ability to display other PDF material than scores
    • Adds access to non-digital (scanned) score content

Examples

Linear

MuseScore

Rosegarden

Paginated

MuseScore

Rosegarden

Imported from an approximate transcription

MuseScore

Rosegarden

musescore-messy.png - MuseScore imports a very rough MIDI transcription 70.8 KB, downloaded 992 times Chris Cannam, 2016-01-07 03:27 PM

musescore-tidy-linear.png - MuseScore displays one of its demo files in linear format 89.2 KB, downloaded 979 times Chris Cannam, 2016-01-07 03:27 PM

rosegarden-messy.png - Rosegarden imports a very rough MIDI transcription 101 KB, downloaded 853 times Chris Cannam, 2016-01-07 03:27 PM

musescore-tidy-paginated.png - MuseScore displays one of its demo files in paginated format 368 KB, downloaded 1181 times Chris Cannam, 2016-01-07 03:27 PM

rosegarden-tidy-linear.png - Rosegarden displays one of its demo files in linear format 171 KB, downloaded 882 times Chris Cannam, 2016-01-07 03:27 PM

rosegarden-tidy-paginated.png - Rosegarden displays one of its demo files in paginated format 497 KB, downloaded 962 times Chris Cannam, 2016-01-07 03:27 PM