Polyrhythm Project encoding notes
Craig Stuart Sapp
University of British Columbia
August 2020
Github repository
Data formats
Initial data entry
Sibelius
.sib file
.pdf file
.xml file
(uncompressed MusicXML file, Change .musicxml extension to .xml)
.krn file
musicxml2hum
or drag-and-drop into VHV
Location of data files
.sib files
from Sibelius
.pdf files
made in Sibelius
.xml files
exported from Sibelius
.krn files
Converted from MusicXML files
Sibelius (.sib) file
0f 53 49 42 45 4c 49 55 53 00 00 40 00 01 00 47 36 d3 00 00 00 30 00 00 00
; S I B E L I U S @ G 6 0
02 00 00 00 01 00 00 00 2a 00 00 00 00 00 00 00 00 0f 53 49 42 45 4c 49 55
; * S I B E L I U
53 00 00 40 00 01 00 00 00 00 00 00 00 3a 00 00 00 00 c0 7d 65 9e c0 c8 ef
; S @ : } e
2a 4f 4f 8d df 07 fc 2f 6b 0e 1c 91 e0 46 ca c0 4e 9d e2 74 0b 9c 63 83 62
; * O O / k F N t c b
18 77 62 37 6a 32 7c 15 ee 68 4b 50 2b 63 d4 2e 11 81 05 d3 9f 22 cf 0d 56
; w b 7 j 2 | h K P + c . " V
33 e7 fb 1a a4 00 00 00 00 bd 90 bc dd 19 21 b7 09 ca 5c ae 52 9d b7 87 07
; 3 ! \ R
PDF output from Sibelius
Original score:
MuscXML output from Sibelius
<note color="#000000" default-x="137" default-y="-20">
<pitch>
<step>D</step>
<alter>-1</alter>
<octave>6</octave>
</pitch>
<duration>384</duration>
<instrument id="P1-I1" />
<voice>1</voice>
<type>quarter</type>
<dot />
<stem>down</stem>
<staff>1</staff>
<notations>
<slur color="#000000" type="start" orientation="over" />
</notations>
</note>
Humdrum conversion from MusicXML
!!!COM: Sergey [Sergeyevich] Prokofiev
!!!OTL: [R573_Pro-w36p38m293-295]
**kern **kern
*part1 *part1
*staff2 *staff1
*I"Piano *
*I'Pno. *
*clefG2 *clefG2
*k[b-e-a-d-g-] *k[b-e-a-d-g-]
*D-: *D-:
*M3/4 *M3/4
=1 =1
! !LO:TX:t=[quarter]=180
! !LO:TX:b:t=[p]
! !LO:TX:b:t=[p]
4dd- (4.ddd-
4a-' .
. 4.fff-X
4gn .
=2 =2
Humdrum in VHV
Corrected Humdrum in VHV
MEI conversion in VHV (alt-m)
SVG output from Verovio (alt-g)
<g id="note-L18F2" class="note">
<g class="notehead">
<use xlink:href="#E0A4" x="3655" y="2025" height="720px" width="720px" />
</g>
<g id="dots-0000000511310801" class="dots">
<ellipse cx="3971" cy="2025" rx="36" ry="36" />
</g>
<g id="stem-0000000597701532" class="stem">
<rect x="3863" y="1575" height="428" width="18" />
</g>
<g id="accid-0000000683761684" class="accid" />
</g>
Verovio
Humdrum
Viewer
Getting started with Humdrum encoding
Interactive examples
Loading data
from Github
Editing Github Humdrum files
Editing Github Humdrum files
2. Click on a particular file to edit
3. Click on “Raw” button
Editing Github Humdrum files
4. Select the entire file (control-A, command-A or click-drag from start to finish
5. Copy the selection (control-C or command-C)
Editing Github Humdrum files
6. Paste in Verovio Humdrum Viewer
Editing Github Humdrum files
7. Note that pink notation means a rhythm or structure error in the data (so do not copy back to github if this happens).
Easy download into VHV
View Sibelius PDF files
alt-p (option-p)
Repertory navigation buttons
Previous file
in repertory
Next file
in repertory
Return to repertory index
Saving edits back onto Github
Saving updated Humdrum files to github
(click in text area and type control-A then control-C (or command-A then command-C).
Saving updated Humdrm files to github
2. Return to the Github page for the example.
3. Click on the pencil (edit) icon at the top right of the text.
Saving updated Humdrum files to github
4. Click in text editor and do control-A to select the previous contents
5. Then type control-V to replace with the copied text from VHV.
Saving updated Humdrm files to github
6. At the bottom of the file editor is a save button (called “Commit changes”).
7. First type in an explanation for why the file is being changed
8. Then click on the green “Commit changes” button
9. Copy & paste into Google proofreading spreadsheet
Ties
Hanging ties
MusicXML export does not include “hanging ties”:
Reimporting the MusicXML back into Sibelius:
Hanging ties editing in VHV
Chord hanging ties need to be
Implemented in humdrum-to-MEI converter,
But here is an example with a single note:
Tie symbols in Humdrum
[ = tie starts on note
] = tie ends on note
_ = tie both starts and stops on note (a medial tied note)
Hanging tie examples
Hanging slurs
MusicXML export does not include “hanging slurs”: slurs that start before or or end after the musical excerpt.
Typically a hanging slur at the start of the music will “start” on the first note in the MusicXML export (but the graphical offset in Sibelius is lost, so the visual position has changed).
Hanging slurs are not yet implemented in the Humdrum-to-MEI converter for display in verovio, so they are currently invisible in VHV (but slurcheck can be used to identify them)
An opening parenthesis indicates a slur start, and
a closing parenthesis indicates a slur end.
Hanging ties on chords
Currently there is a bug and hanging ties on chords, so hanging ties to the left are not shown on chord notes:
Tuplets
Tuplet styling
Tuplet styling (grouping)
Tuplet styling (grouping 2)
Trills
Courtesy accidentals for trills
!!!LO:TR:acc=# Add sharp for trill auxilliary note
!!!LO:TR:acc=- Add flat for trill aux. note
!!!LO:TR:acc=n Add natural for trill aux. note
Trill extention lines
Trill extention lines for tied notes
Transposition
Transposition
Transposition a single spine
!!!filter: transpose -t P8 -s 5
Adding written tranposition
*ITrd-7c-12
Compile filter with alt-c (option-c)
Add written transposition
*ITrd-7c-12
Which means to display the written part an octave below the sounding part.
Dynamics
Adding spines (for dynamics)
!!!filter: extract -s 1
Compile filter
Extracting ranges of spines
Add blank spines when extracting
Easier way to add dynamics spines
Viewing blank spines
Editorial dynamics
Editorial dynamics (2)
!LO:DY:ed=brack
Integrating dynamics and text
!LO:DY:t=text before %s text afterwards
%s in t string will be replaced with the dynamics mark that follows in the data.
Hairpin Crescendos and Decrescendos
Hairpins to ends of measures
Cresc. and decresc. text
Alternates to cresc. and decresc.
Integrating partial hairpins and text
Hairpins to the end of a measure
Lyrics
Line extensions for ends of words
Ending a terminator
Beams
Beams
Staff and
System text
Staff and system text
Staff and system text (2)
Rehearsal markings
Rehearsal marks
Cross-Staff notes
Cross Staff notes
Group Markers
Rhythm grouping
Viewing groups by color
Composite analyses
Labeling layers/voices differently on staff
Displaying composite rhythm
composite -G means to do composite rhythm analysis without splitting into groups.
Displaying composite rhythm by group
The composite filter will split composite rhythm into groups automatically (if there are grp labels in the data).
Both composite rhythm displays
composite | composite -G
will show the split composite rhythm and the combined composite rhythm analyses at the same time.
Marking coincidence notes
-M option will mark coincidences between the different rhythm groups.
Displaying coincidence rhythm
-c option will add a coincidence line that indicates when there are note attacks in both rhythm groups.
Showing only rhythm analyses
composite | composite -GMc | colorgroups | extract -k 1-4
Stem directions
Explicit stem directions
Graphical editing
Beam directions
This will add above/below markers (lines 12 & 13), and
Then a < after an L at the start of the beam will cause
The beam to do below the notes, and > for above.
Fingered harmonics
Fingered harmonics
Fingered harmonics
Stem direction problems
Layers
Switching layers
Then compile the filter with alt-c:
Then remove Xfilter and *flip text
Instrument codes
Staff labels and abbreviations
Instrument codes
*ICww ⇒ instrument is a woodwind.
*Ioboe ⇒ instrument is an oboe
*Iflt ⇒ instrument is a
(standard) flute
Instrument class
Instrument codes
https://www.humdrum.org/instrument-codes/index.html
Instrument codes start with an asterisk (*) followed by the capital letter I, then lower-case instrumental code. (you can add additional instruments that you encounter to this list):
Woodwinds
*Ipicco ⇒ piccolo
*Iflt ⇒ flute
*Iflt_a ⇒ alto flute
*Iflt_b ⇒ bass flute
*Ioboe ⇒ oboe
*Iclars ⇒ Clarinet
*Icangl ⇒ English horn
*IoboeD ⇒ oboe d’amore
*Iclars ⇒ soprano clarinet
*Iclarp ⇒ piccolo clarinet
*Iclara ⇒ alto clarinet
*Iclarb ⇒ bass clarinet
*Ifagot ⇒ bassoon
*Ifag_c ⇒ contrabassoon
*IsaxS ⇒ soprano sax
Brass
*Itromp ⇒ trumpet
*Itromt ⇒ trombone
*Itromb ⇒ bass trombone
*Ipicco ⇒ French horn
*Icor ⇒ Horn
*Ituba ⇒ tuba
Keyboard (or precussion)
*Ipiano ⇒ piano
*Ixylo ⇒ xylophone
*Ivibra ⇒ vibraphone
*Iglock ⇒ glockenspiel
*Imarim ⇒ marimba
*Iclest ⇒ celeste
*Iorgan ⇒ organ
*Iaccor ⇒ accordion
Percussion
*Icasts ⇒ castanets
*Ichimes ⇒ chimes
*Igong ⇒ gong
*Ipiatt ⇒ cymbals
*Isdrum ⇒ snare drum
*Ibdrum ⇒ bass drum
*Itimpa ⇒ timpani
Strings
*Ivioln ⇒ violin
*Iviola ⇒ viola
*Icello ⇒ violoncello
*Icbass ⇒ contrabass
*Iguitr ⇒ guitar
Grouping
Grouping codes
Colorgroups filter
Percussion
Percussion encoding
SIC
Marking sic
Vertical grouping
Force vertical position of separate text/dynamics:
Ornamental Tremolo
Cross-staff beams with tremolos