diff --git a/Makefile b/Makefile index 7bc57d14e..b18ba3e16 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ REPLACE := perl -i -pe RODAN_PATH := ./rodan-main/code/rodan JOBS_PATH := $(RODAN_PATH)/jobs -PROD_TAG := v3.0.0 +PROD_TAG := v3.1.0 DOCKER_TAG := nightly diff --git a/build.yml b/build.yml index 223208a41..b5672a8a1 100644 --- a/build.yml +++ b/build.yml @@ -49,8 +49,3 @@ services: dockerfile: Dockerfile image: "ddmal/rodan-client:nightly" - iipsrv: - build: - context: ./iipsrv - dockerfile: Dockerfile - image: "ddmal/iipsrv:nightly" diff --git a/gpu-celery/Dockerfile b/gpu-celery/Dockerfile index 6d316ba43..fd44c14f2 100644 --- a/gpu-celery/Dockerfile +++ b/gpu-celery/Dockerfile @@ -94,7 +94,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* \ - && wget https://bootstrap.pypa.io/get-pip.py \ + && wget https://bootstrap.pypa.io/pip/3.7/get-pip.py \ && ${PYTHON} get-pip.py \ && ln -sf /usr/bin/${PYTHON} /usr/local/bin/python3 \ && ln -sf /usr/local/bin/pip /usr/local/bin/pip3 \ diff --git a/iipsrv/Dockerfile b/iipsrv/Dockerfile index 4c6b41bbf..a13bdbf7d 100644 --- a/iipsrv/Dockerfile +++ b/iipsrv/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine AS builder +FROM alpine:3.18.5 AS builder RUN apk add --no-cache \ autoconf \ @@ -15,7 +15,7 @@ RUN ./autogen.sh RUN ./configure --enable-openjpeg RUN make -FROM alpine +FROM alpine:3.18.5 RUN apk add --no-cache \ libgcc \ @@ -34,4 +34,4 @@ ENV PORT 9003 EXPOSE ${PORT} -ENTRYPOINT /fcgi-bin/iipsrv.fcgi --bind 0.0.0.0:${PORT} +ENTRYPOINT /fcgi-bin/iipsrv.fcgi --bind 0.0.0.0:${PORT} \ No newline at end of file diff --git a/production.yml b/production.yml index 1adc3a54f..8c443a068 100644 --- a/production.yml +++ b/production.yml @@ -3,7 +3,7 @@ version: "3.4" services: nginx: - image: "ddmal/nginx:v3.0.0" + image: "ddmal/nginx:v3.1.0" deploy: replicas: 1 resources: @@ -37,7 +37,7 @@ services: - "resources:/rodan/data" rodan-main: - image: "ddmal/rodan-main:v3.0.0" + image: "ddmal/rodan-main:v3.1.0" deploy: replicas: 1 resources: @@ -78,7 +78,7 @@ services: - "resources:/rodan/data" celery: - image: "ddmal/rodan-main:v3.0.0" + image: "ddmal/rodan-main:v3.1.0" deploy: replicas: 1 resources: @@ -109,7 +109,7 @@ services: - "resources:/rodan/data" py3-celery: - image: "ddmal/rodan-python3-celery:v3.0.0" + image: "ddmal/rodan-python3-celery:v3.1.0" deploy: replicas: 1 resources: @@ -139,7 +139,7 @@ services: - "resources:/rodan/data" gpu-celery: - image: "ddmal/rodan-gpu-celery:v3.0.0" + image: "ddmal/rodan-gpu-celery:v3.1.0" deploy: replicas: 1 resources: @@ -195,7 +195,7 @@ services: TZ: America/Toronto postgres: - image: "ddmal/postgres-plpython:v3.0.0" + image: "ddmal/postgres-plpython:v3.1.0" deploy: replicas: 1 endpoint_mode: dnsrr diff --git a/rodan-client/code/src/js/Controllers/ControllerModal.js b/rodan-client/code/src/js/Controllers/ControllerModal.js index 00c0328d4..8a780e809 100644 --- a/rodan-client/code/src/js/Controllers/ControllerModal.js +++ b/rodan-client/code/src/js/Controllers/ControllerModal.js @@ -72,8 +72,7 @@ export default class ControllerModal extends BaseController $modalEl.html(this._layoutViewModal.el); $('.modal-title').text(options.title); $('.modal-body').append(options.content); - $('#modal-close').on('click', () => Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_HIDE)); - $modalEl.show(); + $('#modal-close').on('click', () => Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_HIDE)); } else { @@ -85,9 +84,21 @@ export default class ControllerModal extends BaseController $modalEl.html(this._layoutViewModal.el); $('.modal-title').text(options.title); - $('#modal-close').on('click', () => Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_HIDE)); - $modalEl.show(); + $('#modal-close').on('click', () => Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_HIDE)); } + + switch (options.scroll) { + case 'modal': + $('.modal-body').addClass('modal-scroll'); + break; + + case 'table': + $('.modal .table-responsive').css('height', '50vh'); + $('.modal .table-responsive>.table>tbody').addClass('tbody-scroll'); + break; + } + + $modalEl.show(); } /** @@ -106,6 +117,7 @@ export default class ControllerModal extends BaseController { Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_SHOW, options); } + $('.modal-dialog').addClass('modal-fit'); $('.modal-footer').removeClass('modal-footer-error'); } diff --git a/rodan-client/code/src/js/Controllers/ControllerWorkflow.js b/rodan-client/code/src/js/Controllers/ControllerWorkflow.js index 2184b38ba..5bf5099d1 100644 --- a/rodan-client/code/src/js/Controllers/ControllerWorkflow.js +++ b/rodan-client/code/src/js/Controllers/ControllerWorkflow.js @@ -71,7 +71,7 @@ export default class ControllerWorkflow extends BaseController // Clear the individual view (if there). if (this._viewItem !== null && options.workflow === this._viewItem.model) { - this._projectView.clearItemView(); + this._projectView.clearCollectionItemInfoView(); } options.workflow.destroy({success: (model) => this._handleDeleteSuccess(model, this._collection)}); } diff --git a/rodan-client/code/src/js/Controllers/ControllerWorkflowBuilder.js b/rodan-client/code/src/js/Controllers/ControllerWorkflowBuilder.js index 8c15e3e8e..eb8f25570 100644 --- a/rodan-client/code/src/js/Controllers/ControllerWorkflowBuilder.js +++ b/rodan-client/code/src/js/Controllers/ControllerWorkflowBuilder.js @@ -498,7 +498,7 @@ export default class ControllerWorkflowBuilder extends BaseController var collection = new JobCollection(); collection.fetch(); var view = new ViewJobCollection({collection: collection, childViewOptions: {workflow: options.workflow}}); - Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_SHOW, {content: view, title: 'Jobs'}); + Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_SHOW, {content: view, title: 'Jobs', scroll: 'table'}); } /** @@ -531,7 +531,7 @@ export default class ControllerWorkflowBuilder extends BaseController _handleRequestShowWorkflowJobPortsView(options) { var view = new LayoutViewControlPorts(options); - Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_SHOW, {content: view, title: 'WorkflowJob Ports'}); + Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_SHOW, {content: view, title: 'WorkflowJob Ports', scroll: 'modal'}); } /** diff --git a/rodan-client/code/src/js/Views/Master/Main/ResourceAssignment/LayoutViewResourceAssignment.js b/rodan-client/code/src/js/Views/Master/Main/ResourceAssignment/LayoutViewResourceAssignment.js index d0900e375..440ea0432 100644 --- a/rodan-client/code/src/js/Views/Master/Main/ResourceAssignment/LayoutViewResourceAssignment.js +++ b/rodan-client/code/src/js/Views/Master/Main/ResourceAssignment/LayoutViewResourceAssignment.js @@ -26,7 +26,7 @@ export default class LayoutViewResourceAssignment extends Marionette.View this._viewAssignedResources = options.viewassignedresources; this._viewAssignedResources.collection.on('update', this._updateAssignedCount); - this.setElement('
'); + this.setElement('
'); } /** diff --git a/rodan-client/code/src/js/Views/Master/Navigation/LayoutViewNavigation.js b/rodan-client/code/src/js/Views/Master/Navigation/LayoutViewNavigation.js index 8e65166a3..992b87ed0 100644 --- a/rodan-client/code/src/js/Views/Master/Navigation/LayoutViewNavigation.js +++ b/rodan-client/code/src/js/Views/Master/Navigation/LayoutViewNavigation.js @@ -128,7 +128,7 @@ export default class LayoutViewNavigation extends Marionette.View serverConfiguration: serverConfig, date: serverDate, client: Configuration.CLIENT}); - Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_SHOW, {title: 'About', content: html}); + Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_SHOW, {title: 'About', content: html, scroll: 'modal'}); } /** @@ -149,7 +149,7 @@ export default class LayoutViewNavigation extends Marionette.View var view = new BaseViewCollection({collection: collection, template: _.template($('#template-resourcetype_collection').text()), childView: ViewResourceTypeDetailCollectionItem}); - Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_SHOW, {title: 'Development', content: view}); + Radio.channel('rodan').request(RODAN_EVENTS.REQUEST__MODAL_SHOW, {title: 'Development', content: view, scroll: 'table'}); } diff --git a/rodan-client/code/styles/default.css b/rodan-client/code/styles/default.css index 5e44366bd..cf307085a 100644 --- a/rodan-client/code/styles/default.css +++ b/rodan-client/code/styles/default.css @@ -666,10 +666,8 @@ tbody > tr:hover { border: 1px solid #dfdfdf; border-radius: 5px; background-color: #f0f0f047; - height: fit-content; width: 100%; - overflow-x: auto; - max-height: 1000px; + overflow: scroll; } .project-collections { gap: 25px; @@ -708,6 +706,7 @@ tbody > tr:hover { } .single-project-view-collection-wrapper { gap: 10px; + overflow: hidden; } .resource-upload-container { height: fit-content; @@ -938,7 +937,6 @@ div#main_workflowbuilder animation: fade-in 0.2s ease-in-out forwards; } .modal-dialog { - width: fit-content; height: fit-content; border-radius: 3px; position: relative; @@ -947,7 +945,6 @@ div#main_workflowbuilder backdrop-filter: blur(20px); min-width: 500px; max-width: 100%; - /* min-height: 300px; */ } .modal-header { align-items: center; @@ -965,7 +962,6 @@ div#main_workflowbuilder .modal-body { max-height: 600px; - overflow-y: auto; padding: 20px; box-sizing: border-box; font-size: 12px; @@ -993,7 +989,13 @@ div#main_workflowbuilder .modal-body-section-left { align-items: flex-start; } - +.modal-fit { + width: fit-content; + height: fit-content; +} +.modal-scroll { + overflow: scroll; +} /* project-users modal styles */ #admins-and-workers-tables { align-items: flex-start; @@ -1010,6 +1012,10 @@ div#main_workflowbuilder } /* resource assignment modal */ +.modal-grid { + display: grid; + grid-template-columns: 8fr 1fr 8fr; +} #resource-assignment-actions-container { height: fit-content; padding: 5px; @@ -1019,6 +1025,36 @@ div#main_workflowbuilder max-width: 150px; } +/* tables in modal */ +.table-modal-container { + height: 45vh; +} +.table-modal { + overflow-y: scroll; +} +.table-modal>tbody { + overflow: scroll; +} +.table-modal>thead>tr>th, +.table-modal>tbody>tr>th { + max-width: 70px; + word-wrap: break-word; +} +.table-modal>thead>tr>td, +.table-modal>tbody>tr>td { + max-width: 70px; + word-wrap: break-word; + border-bottom: 1px solid rgb(215 215 215); +} +.table-modal>thead>tr>th:first-child, +.table-modal>tbody>tr>th:first-child, +.table-modal>thead>tr>td:first-child, +.table-modal>tbody>tr>td:first-child { + max-width: 180px; +} +.tbody-scroll { + overflow: scroll; +} /* job settings modal */ #workflowjob-settings:first-child { display: flex; diff --git a/rodan-client/code/templates/Views/Master/Main/InputPort/Collection/template-main_inputport_collection.html b/rodan-client/code/templates/Views/Master/Main/InputPort/Collection/template-main_inputport_collection.html index 3240cff77..e2c105aef 100644 --- a/rodan-client/code/templates/Views/Master/Main/InputPort/Collection/template-main_inputport_collection.html +++ b/rodan-client/code/templates/Views/Master/Main/InputPort/Collection/template-main_inputport_collection.html @@ -4,6 +4,7 @@

Input Ports

Label + diff --git a/rodan-client/code/templates/Views/Master/Main/InputPortType/Collection/template-main_inputporttype_collection.html b/rodan-client/code/templates/Views/Master/Main/InputPortType/Collection/template-main_inputporttype_collection.html index d94c3dda2..dbee6232d 100644 --- a/rodan-client/code/templates/Views/Master/Main/InputPortType/Collection/template-main_inputporttype_collection.html +++ b/rodan-client/code/templates/Views/Master/Main/InputPortType/Collection/template-main_inputporttype_collection.html @@ -7,6 +7,7 @@

Input Port Types

Current Min Max + diff --git a/rodan-client/code/templates/Views/Master/Main/Job/Collection/template-main_job_collection.html b/rodan-client/code/templates/Views/Master/Main/Job/Collection/template-main_job_collection.html index 7a453f560..b53ef97f9 100644 --- a/rodan-client/code/templates/Views/Master/Main/Job/Collection/template-main_job_collection.html +++ b/rodan-client/code/templates/Views/Master/Main/Job/Collection/template-main_job_collection.html @@ -5,6 +5,7 @@ Category Name Interactive + diff --git a/rodan-client/code/templates/Views/Master/Main/OutputPort/Collection/template-main_outputport_collection.html b/rodan-client/code/templates/Views/Master/Main/OutputPort/Collection/template-main_outputport_collection.html index 80be629cf..12b8500bc 100644 --- a/rodan-client/code/templates/Views/Master/Main/OutputPort/Collection/template-main_outputport_collection.html +++ b/rodan-client/code/templates/Views/Master/Main/OutputPort/Collection/template-main_outputport_collection.html @@ -4,6 +4,7 @@

Output Ports

Label + diff --git a/rodan-client/code/templates/Views/Master/Main/OutputPortType/Collection/template-main_outputporttype_collection.html b/rodan-client/code/templates/Views/Master/Main/OutputPortType/Collection/template-main_outputporttype_collection.html index 2877440a3..0a237527c 100644 --- a/rodan-client/code/templates/Views/Master/Main/OutputPortType/Collection/template-main_outputporttype_collection.html +++ b/rodan-client/code/templates/Views/Master/Main/OutputPortType/Collection/template-main_outputporttype_collection.html @@ -7,6 +7,7 @@

Output Port Types

Current Min Max + diff --git a/rodan-client/code/templates/Views/Master/Main/Resource/Collection/template-modal_resource_collection.html b/rodan-client/code/templates/Views/Master/Main/Resource/Collection/template-modal_resource_collection.html index 3d56f0561..deef509f2 100644 --- a/rodan-client/code/templates/Views/Master/Main/Resource/Collection/template-modal_resource_collection.html +++ b/rodan-client/code/templates/Views/Master/Main/Resource/Collection/template-modal_resource_collection.html @@ -1,5 +1,5 @@ -
- +
+
diff --git a/rodan-client/code/templates/Views/Master/Main/ResourceAssignment/template-main_resourceassignment.html b/rodan-client/code/templates/Views/Master/Main/ResourceAssignment/template-main_resourceassignment.html index bdb2a3390..7c2057efe 100644 --- a/rodan-client/code/templates/Views/Master/Main/ResourceAssignment/template-main_resourceassignment.html +++ b/rodan-client/code/templates/Views/Master/Main/ResourceAssignment/template-main_resourceassignment.html @@ -1,4 +1,4 @@ -
+
+ diff --git a/rodan-main/code/helper_scripts/convert_image.py b/rodan-main/code/helper_scripts/convert_image.py deleted file mode 100644 index 8509d19f9..000000000 --- a/rodan-main/code/helper_scripts/convert_image.py +++ /dev/null @@ -1,30 +0,0 @@ -import os - -from PIL import Image - -if sys.version_info.major == 2: - input = raw_input - -# creates a directory to keep all the converted files -if not os.path.exists('./Converted'): - os.makedirs('./Converted') - -# prompts user to input a path where the files are located ex: /Users/Jacob/Documents/... -path = input('Please enter a path to a directory containing the files to be converted:\n') -# prompts user to input the target format of the image to be converted (ex: 'png', 'jpeg') -img_type = input('Please enter the desired converted format\n') -# loads all the names of the images in the directory -images = [f for f in os.listdir(path) if os.path.isfile(path + f)] - -for image in images: # for each image - if image == '.DS_Store': - continue - img = Image.open(path + image) # open the image - # In pillow 4.2.0, they finally added an error for converting RGBA PNGs to JPEG, - # Jpeg doesn't have an alpha channel. It just never complained before. - if img_type.upper() == "JPEG": - img = img.convert("RGB") - img_name = os.path.splitext(image)[0] # remove the extension of the image - img.save('./Converted/'+ img_name + '.' + img_type) # save the image in desired (ex: 'png') format in the "Converted" directory - -# Salzinnes Images are not suppported by PIL, use VIPS ('batch_image_convert' command) instead diff --git a/rodan-main/code/helper_scripts/highlight_from_mei.py b/rodan-main/code/helper_scripts/highlight_from_mei.py deleted file mode 100644 index abb0cebae..000000000 --- a/rodan-main/code/helper_scripts/highlight_from_mei.py +++ /dev/null @@ -1,108 +0,0 @@ -import os -from optparse import OptionParser - -from pymei import XmlImport -from gamera.core import * # noqa - -init_gamera() - - -if __name__ == "__main__": - usage = "usage: %prog [options] input_mei_file input_image_file output_folder" - opts = OptionParser(usage) - (options, args) = opts.parse_args() - - input_file = args[0] - output_folder = args[2] - mdoc = XmlImport.documentFromFile(input_file) - - neumes = mdoc.getElementsByName("neume") - clefs = mdoc.getElementsByName("clef") - divisions = mdoc.getElementsByName("division") - custos = mdoc.getElementsByName("custos") - systems = mdoc.getElementsByName("system") - - img = load_image(args[1]) - - if img.pixel_type_name != "OneBit": - img = img.to_onebit() - - rgb = Image(img, RGB) - - neumecolour = RGBPixel(255, 0, 0) - clefcolour = RGBPixel(0, 255, 0) - divisioncolour = RGBPixel(0, 0, 255) - custoscolour = RGBPixel(128, 128, 0) - systemscolour = RGBPixel(200, 200, 200) - - for system in systems: - facs = system.getAttribute("facs").getValue() - facs_el = mdoc.getElementById(facs) - ulx = facs_el.getAttribute("ulx").getValue() - uly = facs_el.getAttribute("uly").getValue() - lrx = facs_el.getAttribute("lrx").getValue() - lry = facs_el.getAttribute("lry").getValue() - rgb.draw_filled_rect( - (int(ulx) - 5, int(uly) - 5), (int(lrx) + 5, int(lry) + 5), systemscolour - ) - - for neume in neumes: - facs = neume.getAttribute("facs").getValue() - facs_el = mdoc.getElementById(facs) - ulx = facs_el.getAttribute("ulx").getValue() - uly = facs_el.getAttribute("uly").getValue() - lrx = facs_el.getAttribute("lrx").getValue() - lry = facs_el.getAttribute("lry").getValue() - rgb.draw_filled_rect( - (int(ulx) - 5, int(uly) - 5), (int(lrx) + 5, int(lry) + 5), neumecolour - ) - - note_string = "-".join( - [ - note.getAttribute("pname").getValue() - for note in neume.getDescendantsByName("note") - ] - ) - - print(note_string) - # rgb.draw_text( - # (int(ulx) - 0, int(uly) - 20), - # note_string, RGBPixel(0, 0, 0), - # size=10, bold=True, halign="left" - # ) - # rgb.draw_text( - # (int(ulx) - 20, int(uly) - 50), - # neume.getAttribute('name').getValue(), - # RGBPixel(0, 0, 0), size=10, bold=True, halign="left" - # ) - - for clef in clefs: - facs = clef.getAttribute("facs").getValue() - facs_el = mdoc.getElementById(facs) - ulx = facs_el.getAttribute("ulx").getValue() - uly = facs_el.getAttribute("uly").getValue() - lrx = facs_el.getAttribute("lrx").getValue() - lry = facs_el.getAttribute("lry").getValue() - rgb.draw_filled_rect( - (int(ulx) - 5, int(uly) - 5), (int(lrx) + 5, int(lry) + 5), clefcolour - ) - - # for division in divisions: - # facs = mdoc.get_by_facs(division.facs)[0] - # rgb.draw_filled_rect( - # (int(facs.ulx) - 5, int(facs.uly) - 5), - # (int(facs.lrx) + 5, int(facs.lry) + 5), - # divisioncolour - # ) - - # for custo in custos: - # facs = mdoc.get_by_facs(custo.facs)[0] - # rgb.draw_filled_rect( - # (int(facs.ulx) - 5, int(facs.uly) - 5), - # (int(facs.lrx) + 5, int(facs.lry) + 5), - # custoscolour - # ) - - rgb.highlight(img, RGBPixel(0, 0, 0)) # noqa - - rgb.save_PNG(os.path.join(output_folder, "pitch_find.png")) diff --git a/rodan-main/code/helper_scripts/mei-all-4.0.1.odd b/rodan-main/code/helper_scripts/mei-all-4.0.1.odd deleted file mode 100644 index 7eac4e670..000000000 --- a/rodan-main/code/helper_scripts/mei-all-4.0.1.odd +++ /dev/null @@ -1,20118 +0,0 @@ - - - - - Music Encoding Initiative Guidelines: <title type="sub">All - Customization - - Authored by - Perry Roland - - - -

- - -

- - - - - Creation of the initial ODD. - - - - - - - - - - - - Written accidental values. - - - - Sharp. - - - Flat. - - - Double sharp (written as 2 sharps). - - - Double sharp (written using croix). - - - Double flat. - - - Triple sharp (written as a croix followed by a sharp). - - - Triple sharp (written as a sharp followed by a croix). - - - Triple sharp (written as 3 sharps). - - - Triple flat. - - - Natural. - - - Natural + flat; used to cancel preceding double flat. - - - Natural + sharp; used to cancel preceding double sharp. - - - - Sharp note raised by quarter tone (sharp modified by arrow). - - - Sharp note lowered by quarter tone (sharp modified by arrow). - - - Flat note raised by quarter tone (flat modified by arrow). - - - Flat note lowered by quarter tone (flat modified by arrow). - - - Natural note raised by quarter tone (natural modified by arrow). - - - Natural note lowered by quarter tone (natural modified by arrow). - - - - 1/4-tone flat accidental. - - - 3/4-tone flat accidental. - - - 1/4-tone sharp accidental. - - - 3/4-tone sharp accidental. - - - - -

- -

- - - Gestural/performed accidental values. - - - - Sharp. - - - Flat. - - - Double sharp. - - - Double flat. - - - Natural. - - - Three quarter-tones sharp. - - - Quarter-tone sharp. - - - Quarter-tone flat. - - - Three quarter-tones flat. - - - - - The following list of articulations mostly corresponds to symbols from the Western Musical - Symbols portion of the Unicode Standard. The dot and stroke values may be used in cases where - interpretation is difficult or undesirable. - - - - Accent (Unicode 1D17B). - - - Staccato (Unicode 1D17C). - - - Tenuto (Unicode 1D17D). - - - Staccatissimo (Unicode 1D17E). - - - Marcato (Unicode 1D17F). - - - Spiccato. - - - Main note followed by short slide to higher, indeterminate pitch (Unicode - 1D185). - - - Main note preceded by short slide from lower, indeterminate pitch (Unicode - 1D186). - - - Main note preceded by long slide from lower, often indeterminate pitch; also known - as "squeeze". - - - Main note preceded by "slide" from higher, indeterminate pitch. - - - Main note followed by short "slide" to lower, indeterminate pitch. - - - Main note followed by long "slide" to lower, indeterminate pitch. - - - "lip slur" to lower pitch, then return to written pitch. - - - Main note followed by quick upward rise, then descent in pitch (Unicode - 1D187). - - - (Unicode 1D188). - - - Alternation between written pitch and next highest overtone (brass instruments) or - note minor third higher (woodwinds). - - - Down bow (Unicode 1D1AA). - - - Up bow (Unicode 1D1AB). - - - Harmonic (Unicode 1D1AC). - - - Snap pizzicato (Unicode 1D1AD). - - - Fingernail (Unicode 1D1B3). - - - Stop harp string from sounding (Unicode 1D1B4). - - - Stop all harp strings from sounding (Unicode 1D1B5). - - - Full (as opposed to stopped) tone. - - - "muffled" tone. - - - Double tongue (Unicode 1D18A). - - - Triple tongue (Unicode 1D18B). - - - Use heel (organ pedal). - - - Use toe (organ pedal). - - - Percussive effect on guitar string(s). - - - Left-hand pizzicato. - - - Uninterpreted dot. - - - Uninterpreted stroke. - - - - - - - "" contains a deprecated value. - - - "" contains a deprecated value. - - - - - Dots attribute values (number of augmentation dots) (Read, 113-119, ex. 8-21). - - - 4 - - - - Records where bar lines are drawn. The value 'staff' describes the traditional placement - of bar lines. - - - - Between staves only. - - - Between and across staves as necessary. - - - Short bar line through a subset of staff lines. - - - - - Renderings of bar lines. Some values correspond to the Western Musical Symbols portion of - the Unicode Standard. - - - - Dashed line (Unicode 1D104). - - - Dotted line. - - - (Unicode 1D101). - - - Double dashed line. - - - Double dotted line. - - - (Unicode 1D102). - - - Bar line not rendered. - - - Repeat start (Unicode 1D106). - - - Repeat start and end. - - - Repeat end (Unicode 1D107). - - - (Unicode 1D100). - - - - - Beam attribute values: initial, medial, terminal. Nested beaming is permitted. - - - [i|m|t][1-6] - - - - Location of a beam relative to the events it affects. - - - - The beam is above the material it affects. - - - The beam is below the material it affects. - - - The below is above and below the material it affects. - - - - - A beat location, i.e., [0-9]+(\.?[0-9]*)? The value must fall between 0 and the numerator - of the time signature + 1, where 0 represents the left bar line and the upper boundary - represents the right bar line. For example, in 12/8 the value must be in the range from 0 to - 13. - - - 0 - - - - Visual and performance information for a repeated beat symbol. - - - 1|2|3|4|5 - - mixed - - - - Either an integer value, a decimal value, or a token. Fractional values are limited to - .25, .5, .75, while the token value is restricted to 'full'. - - - \.25|\.5|\.75 - - [0-9](\.25|\.5|\.75)? - - full - - - - Boolean attribute values. - - - - True. - - - False. - - - - - Values for certainty attribute. Certainty may be expressed by one of the values 'high', - 'medium', or 'low'. The value 'unknown' should be used in cases where the encoder does not - wish to assert an opinion. - - - - High certainty. - - - Medium certainty. - - - Low certainty. - - - An unknown level of certainty. - - - - - Clef line attribute values. The value must be in the range between 1 and the number of - lines on the staff. The numbering of lines starts with the lowest line of the staff. - - - - - Clef shape attribute values (Read, p.53-56). Some values correspond to the Unicode - Standard. - - - - G clef (Unicode 1D11E). - - - Double G clef. - - - F clef (Unicode 1D122). - - - C clef (Unicode 1D121). - - - Drum clef (Unicode 1D125 or Unicode 1D126). - - - Tablature "clef"; i.e. usually "TAB" rendered vertically. - - - - - Tone-cluster rendition. - - - - White keys. - - - Black keys. - - - Mixed black and white keys. - - - - - Confidence is expressed as a real number between 0 and 1; 0 representing certainly false - and 1 representing certainly true. - - - 0 - 1 - - - - List of SVG-recognized color keyword names described at - https://www.w3.org/TR/SVG/types.html#ColorKeywords. - - - - Hex: #f0f8ff / RGB: 240,248,255 - - - Hex: #faebd7 / RGB: 250,235,215 - - - Hex: #00ffff / RGB: 0,255,255 - - - Hex: #7fffd4 / RGB: 127,255,212 - - - Hex: #f0ffff / RGB: 240,255,255 - - - Hex: #f5f5dc / RGB: 245,245,220 - - - Hex: #ffe4c4 / RGB: 255,228,196 - - - Hex: #000000 / RGB: 0,0,0 - - - Hex: #ffebcd / RGB: 255,235,205 - - - Hex: #0000ff / RGB: 0,0,255 - - - Hex: #8a2be2 / RGB: 138,43,226 - - - Hex: #a52a2a / RGB: 165,42,42 - - - Hex: #deb887 / RGB: 222,184,135 - - - Hex: #5f9ea0 / RGB: 95,158,160 - - - Hex: #7fff00 / RGB: 127,255,0 - - - Hex: #d2691e / RGB: 210,105,30 - - - Hex: #ff7f50 / RGB: 255,127,80 - - - Hex: #6495ed / RGB: 100,149,237 - - - Hex: #fff8dc / RGB: 255,248,220 - - - Hex: #dc143c / RGB: 220,20,60 - - - Hex: #00ffff / RGB: 0,255,255 - - - Hex: #00008b / RGB: 0,0,139 - - - Hex: #008b8b / RGB: 0,139,139 - - - Hex: #b8860b / RGB: 184,134,11 - - - Hex: #a9a9a9 / RGB: 169,169,169 - - - Hex: #006400 / RGB: 0,100,0 - - - Hex: #a9a9a9 / RGB: 169,169,169 - - - Hex: #bdb76b / RGB: 189,183,107 - - - Hex: #8b008b / RGB: 139,0,139 - - - Hex: #556b2f / RGB: 85,107,47 - - - Hex: #ff8c00 / RGB: 255,140,0 - - - Hex: #9932cc / RGB: 153,50,204 - - - Hex: #8b0000 / RGB: 139,0,0 - - - Hex: #e9967a / RGB: 233,150,122 - - - Hex: #8fbc8f / RGB: 143,188,143 - - - Hex: #483d8b / RGB: 72,61,139 - - - Hex: #2f4f4f / RGB: 47,79,79 - - - Hex: #2f4f4f / RGB: 47,79,79 - - - Hex: #00ced1 / RGB: 0,206,209 - - - Hex: #9400d3 / RGB: 148,0,211 - - - Hex: #ff1493 / RGB: 255,20,147 - - - Hex: #00bfff / RGB: 0,191,255 - - - Hex: #696969 / RGB: 105,105,105 - - - Hex: #696969 / RGB: 105,105,105 - - - Hex: #1e90ff / RGB: 30,144,255 - - - Hex: #b22222 / RGB: 178,34,34 - - - Hex: #fffaf0 / RGB: 255,250,240 - - - Hex: #228b22 / RGB: 34,139,34 - - - Hex: #ff00ff / RGB: 255,0,255 - - - Hex: #dcdcdc / RGB: 220,220,220 - - - Hex: #f8f8ff / RGB: 248,248,255 - - - Hex: #ffd700 / RGB: 255,215,0 - - - Hex: #daa520 / RGB: 218,165,32 - - - Hex: #808080 / RGB: 128,128,128 - - - Hex: #008000 / RGB: 0,128,0 - - - Hex: #adff2f / RGB: 173,255,47 - - - Hex: #808080 / RGB: 128,128,128 - - - Hex: #f0fff0 / RGB: 240,255,240 - - - Hex: #ff69b4 / RGB: 255,105,180 - - - Hex: #cd5c5c / RGB: 205,92,92 - - - Hex: #4b0082 / RGB: 75,0,130 - - - Hex: #fffff0 / RGB: 255,255,240 - - - Hex: #f0e68c / RGB: 240,230,140 - - - Hex: #e6e6fa / RGB: 230,230,250 - - - Hex: #fff0f5 / RGB: 255,240,245 - - - Hex: #7cfc00 / RGB: 124,252,0 - - - Hex: #fffacd / RGB: 255,250,205 - - - Hex: #add8e6 / RGB: 173,216,230 - - - Hex: #f08080 / RGB: 240,128,128 - - - Hex: #e0ffff / RGB: 224,255,255 - - - Hex: #fafad2 / RGB: 250,250,210 - - - Hex: #d3d3d3 / RGB: 211,211,211 - - - Hex: #90ee90 / RGB: 144,238,144 - - - Hex: #d3d3d3 / RGB: 211,211,211 - - - Hex: #ffb6c1 / RGB: 255,182,193 - - - Hex: #ffa07a / RGB: 255,160,122 - - - Hex: #20b2aa / RGB: 32,178,170 - - - Hex: #87cefa / RGB: 135,206,250 - - - Hex: #778899 / RGB: 119,136,153 - - - Hex: #778899 / RGB: 119,136,153 - - - Hex: #b0c4de / RGB: 176,196,222 - - - Hex: #ffffe0 / RGB: 255,255,224 - - - Hex: #00ff00 / RGB: 0,255,0 - - - Hex: #32cd32 / RGB: 50,205,50 - - - Hex: #faf0e6 / RGB: 250,240,230 - - - Hex: #ff00ff / RGB: 255,0,255 - - - Hex: #800000 / RGB: 128,0,0 - - - Hex: #66cdaa / RGB: 102,205,170 - - - Hex: #0000cd / RGB: 0,0,205 - - - Hex: #ba55d3 / RGB: 186,85,211 - - - Hex: #9370db / RGB: 147,112,219 - - - Hex: #3cb371 / RGB: 60,179,113 - - - Hex: #7b68ee / RGB: 123,104,238 - - - Hex: #00fa9a / RGB: 0,250,154 - - - Hex: #48d1cc / RGB: 72,209,204 - - - Hex: #c71585 / RGB: 199,21,133 - - - Hex: #191970 / RGB: 25,25,112 - - - Hex: #f5fffa / RGB: 245,255,250 - - - Hex: #ffe4e1 / RGB: 255,228,225 - - - Hex: #ffe4b5 / RGB: 255,228,181 - - - Hex: #ffdead / RGB: 255,222,173 - - - Hex: #000080 / RGB: 0,0,128 - - - Hex: #fdf5e6 / RGB: 253,245,230 - - - Hex: #808000 / RGB: 128,128,0 - - - Hex: #6b8e23 / RGB: 107,142,35 - - - Hex: #ffa500 / RGB: 255,165,0 - - - Hex: #ff4500 / RGB: 255,69,0 - - - Hex: #da70d6 / RGB: 218,112,214 - - - Hex: #eee8aa / RGB: 238,232,170 - - - Hex: #98fb98 / RGB: 152,251,152 - - - Hex: #afeeee / RGB: 175,238,238 - - - Hex: #db7093 / RGB: 219,112,147 - - - Hex: #ffefd5 / RGB: 255,239,213 - - - Hex: #ffdab9 / RGB: 255,218,185 - - - Hex: #cd853f / RGB: 205,133,63 - - - Hex: #ffc0cb / RGB: 255,192,203 - - - Hex: #dda0dd / RGB: 221,160,221 - - - Hex: #b0e0e6 / RGB: 176,224,230 - - - Hex: #800080 / RGB: 128,0,128 - - - Hex: #ff0000 / RGB: 255,0,0 - - - Hex: #bc8f8f / RGB: 188,143,143 - - - Hex: #4169e1 / RGB: 65,105,225 - - - Hex: #8b4513 / RGB: 139,69,19 - - - Hex: #fa8072 / RGB: 250,128,114 - - - Hex: #f4a460 / RGB: 244,164,96 - - - Hex: #2e8b57 / RGB: 46,139,87 - - - Hex: #fff5ee / RGB: 255,245,238 - - - Hex: #a0522d / RGB: 160,82,45 - - - Hex: #c0c0c0 / RGB: 192,192,192 - - - Hex: #87ceeb / RGB: 135,206,235 - - - Hex: #6a5acd / RGB: 106,90,205 - - - Hex: #708090 / RGB: 112,128,144 - - - Hex: #708090 / RGB: 112,128,144 - - - Hex: #fffafa / RGB: 255,250,250 - - - Hex: #00ff7f / RGB: 0,255,127 - - - Hex: #4682b4 / RGB: 70,130,180 - - - Hex: #d2b48c / RGB: 210,180,140 - - - Hex: #008080 / RGB: 0,128,128 - - - Hex: #d8bfd8 / RGB: 216,191,216 - - - Hex: #ff6347 / RGB: 255,99,71 - - - Hex: #40e0d0 / RGB: 64,224,208 - - - Hex: #ee82ee / RGB: 238,130,238 - - - Hex: #f5deb3 / RGB: 245,222,179 - - - Hex: #ffffff / RGB: 255,255,255 - - - Hex: #f5f5f5 / RGB: 245,245,245 - - - Hex: #ffff00 / RGB: 255,255,0 - - - Hex: #9acd32 / RGB: 154,205,50 - - - - - Parameterized color values - - - #[0-9A-Fa-f]{6,6} - - #[0-9A-Fa-f]{8,8} - - rgb\((\s*(([01]?[0-9]?[0-9])|2[0-4][0-9]|25[0-5])\s*,\s*){2}([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\s*\) - - rgba\(\s*(([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\s*,\s*){3}(0(\.\d+)?|1(\.0+)?)\s*\)|rgba\(\s*(((\d{1,2})?%|100%)\s*,\s*){2}(\d{1,2}%|100%)\s*,\s*(0(\.\d+)?|1(\.0+)?)\s*\) - - hsl\(\s*((\d{1,2})|[12]\d{2}|3[0-5]\d|360)\s*,\s*(\d{1,2}%|100%)\s*,\s*(\d{1,2}%|100%)\s*\) - - hsla\(\s*(\d{1,2}|[12]\d{2}|3[0-5]\d|360)\s*,\s*(\d{1,2}%|100%)\s*,\s*(\d{1,2}%|100%)\s*,\s*(0(\.\d+)?|1(\.0+)?)\s*\) - - - - A value in one of the following forms is expected: 1) hexadecimal RRGGBB, 2) hexadecimal - AARRGGBB, 3) CSS RGB, 4) CSS RGBA, 5) HSL, 6) HSLA, or 7) HTML 4.01 color name. - - - - - Description of direction with respect to an imaginary compass. - - - - - Basic compass directions. - - - - In a northern direction. - - - In an eastern direction. - - - In a southern direction. - - - In a western direction. - - - - - Additional compass directions. - - - - In a north-eastern direction. - - - In a north-western direction. - - - In a south-eastern direction. - - - In a south-western direction. - - - - - 360th-unit measure of a circle's circumference; optionally signed decimal number between - -360 and 360. - - - 360.0 - -360.0 - - - - Logical, that is, written, duration attribute values. - - - - - Performed duration attribute values. - - - - - Enclosures for editorial notes and accidentals. - - - - Parentheses: ( and ). - - - Square brackets: [ and ]. - - - - - Location of musical material relative to a symbol on a staff instead of the staff. - - - - - Location of musical material relative to a symbol other than a staff. - - - - Above. - - - Below. - - - Left. - - - Right. - - - - - Location of musical material relative to a symbol other than a staff. - - - - Above and left; north-west. - - - Above and right; north-east. - - - Below and left; south-west. - - - Below and right; south-east. - - - - - Describes how a graphical object, such as a note head, should be filled. The relative - values — top, bottom, left, and right — indicate these locations *after* rotation is - applied. - - - - Unfilled - - - Filled - - - Top half filled - - - Bottom half filled - - - Left half filled - - - Right half filled - - - - - In a guitar chord diagram, a label indicating which finger, if any, should be used to play - an individual string. The index, middle, ring, and little fingers are represented by the - values 1-4, while 't' is for the thumb. The values 'x' and 'o' indicate stopped and open - strings, respectively. - - - 1 - 4 - - x|o|t - - - - Font family (for text) attribute values. - - - - - Font name (for text) attribute values. - - - - - Font size expressions. - - - - - Font size expressed as numbers; i.e. points or virtual units. - - - \d*(\.\d+)?(pt|vu) - - - - (pt|vu) - - 0+(pt|vu) - - 0+(\.0+)?(pt|vu) - - \.0+(pt|vu) - - - - - - Relative size of symbol that may begin/end a line. - - - 1 - 9 - - - - Font size expressed as relative term. - - - - Smaller than x-small. - - - Smaller than small, larger than xx-small. - - - Smaller than normal, larger than x-small. - - - Smaller than large, larger than small. - - - Smaller than x-large, larger than normal. - - - Smaller than xx-large, larger than large. - - - Larger than x-large. - - - One size smaller than the current size. - - - One size larger than the current size. - - - - - Font style (for text) attribute values. - - - - Text slants to right. - - - Unadorned. - - - Text slants to the left. - - - - - Font weight (for text) attribute values. - - - - Bold or heavy. - - - Not bold. - - - - - In string tablature, the fret number. The value '0' (zero) indicates the open - string. - - - - - Analytical glissando attribute values. - - - - First note/chord in glissando. - - - Note/chord that's neither first nor last in glissando. - - - Last note in glissando. - - - - - Do grace notes get time from the current (acc) or previous (unacc) one? - - - - Time "stolen" from following note. - - - Time "stolen" from previous note. - - - No interpretation regarding performed value of grace note. - - - - - Note head shapes. - - - - - Enumerated note head shapes. - - - - Filled, rotated oval (Unicode 1D158). - - - Unfilled, rotated oval (Unicode 1D157). - - - Unfilled, rotated oval (Unicode 1D15D). - - - Unfilled backslash (~ reflection of Unicode 1D10D). - - - Unfilled circle (Unicode 25CB). - - - Plus sign (Unicode 1D144). - - - Unfilled diamond (Unicode 1D1B9). - - - Unfilled isosceles triangle (Unicode 1D148). - - - Unfilled, unrotated oval (Unicode 2B2D). - - - Unfilled downward-pointing wedge (Unicode 1D154). - - - Unfilled rectangle (Unicode 25AD). - - - Unfilled right triangle (Unicode 1D14A). - - - Unfilled semi-circle (Unicode 1D152). - - - Unfilled slash (~ Unicode 1D10D). - - - Unfilled square (Unicode 1D146). - - - X (Unicode 1D143). - - - - - Hexadecimal number. - - - (#x|U\+)[A-F0-9]+ - - - - Data values for attributes that capture horizontal alignment. - - - - Left aligned. - - - Right aligned. - - - Centered. - - - Left and right aligned. - - - - - A token indicating diatonic interval quality and size. - - - [AdMmP][0-9]+ - - - - A token indicating direction of the interval but not its precise value, a diatonic - interval (with optional direction and quality), or a decimal value in half steps. Decimal - values are permitted to accommodate micro-tuning. - - - u|d|s|n|sd|su - - (\+|\-)?([AdMmP])?[0-9]+ - - (\+|\-)?\d+(\.\d+)?hs - - - -

- - Interval direction only: - u = up/higher, - d = down/lower, - s = same, - n = neutral/unknown, - sd = same or lower (but not higher), - su = same or higher (but not lower) - -

-

- - Interval direction, quality, and size: - optional sign, - - - optional quality indicator: - A = augmented, - d = diminished, - M = major, - m = minor, - P = perfect - - - integer value - -

-

- - Interval in half steps: - optional sign, - decimal value - "hs" - -

-
-
- ISO date formats. - - - [0-9.,DHMPRSTWYZ/:+\-]+ - - - - ISO 24-hour time format: HH:MM:SS.ss, i.e., - [0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.?[0-9]*)?. - - - - - Indicates the location of the tonic in the circle of fifths. - - - mixed|0|([1-9]|1[0-2])[f|s] - - - - Indicates how stems should be drawn when more than one layer is present and stem - directions are not indicated on the notes/chords themselves. '1' indicates that there is only - a single layer on a staff. '2o' means there are two layers with opposing stems. '2f' indicates - two 'free' layers; that is, opposing stems will be drawn unless one of the layers has 'space'. - In that case, stem direction in the remaining layer will be determined as if there were only - one layer. '3o' and '3f' are analogous to '2o' and '2f' with three layers allowed. - - - - Single layer. - - - Two layers with opposing stems. - - - Two layers with 'floating' stems. - - - Three layers with opposing stems. - - - Three layers with 'floating' stems. - - - - - Ligature forms. - - - - Notes are "squeezed" together. - - - Individual notes are replaced by an oblique figure. - - - - - Visual form of a line. - - - - Dashed line. - - - Dotted line. - - - Straight, uninterrupted line. - - - Undulating line. - - - - - Symbol that may begin/end a line. - - - - 90 degree turn down (similar to Unicode 231D at end of line, 231C at start). - - - 90 degree turn up (similar to Unicode 231F at end of line, 231E at start). - - - 90 degree turn right (syntactic sugar for "angledown" for vertical or angled - lines). - - - 90 degree turn left (syntactic sugar for "angleup" for vertical or angled - lines). - - - Filled, triangular arrowhead (similar to Unicode U+25C0 or SMuFL U+EB78). - - - Open triangular arrowhead (similar to Unicode U+02C3 or SMuFL U+EB8A). - - - Unfilled, triangular arrowhead (similar to Unicode U+25C1 or SMuFL U+EB82). - - - Harpoon-shaped arrowhead left of line (similar to arrowhead of Unicode - U+21BD). - - - Harpoon-shaped arrowhead right of line (similar to arrowhead of Unicode - U+21BC). - - - Hauptstimme (Unicode U+1D1A6 or SMuFL U+E860). - - - Nebenstimme (Unicode U+1D1A7 or SMuFL U+E861). - - - Theme (SMuFL U+E864). - - - Theme, retrograde (SMuFL U+E865). - - - Theme, retrograde inversion (SMuFL U+E866). - - - Theme, inverted (SMuFL U+E867). - - - Theme (SMuFL U+E868). - - - Theme, inverted (SMuFL U+E869). - - - Choralemelodie (SMuFL U+E86A). - - - Hauptrhythmus (SMuFL U+E86B). - - - No start/end symbol. - - - - - Datatype of line width measurements. - - - - - Relative width of a line. - - - - Default line width. - - - Twice as wide as narrow. - - - Twice as wide as medium. - - - - - A count of measures plus a beat location, i.e., [0-9]+m *\+ *[0-9]+(\.?[0-9]*)?. The - measure count is the number of barlines crossed by the event, while the beat location is a - timestamp expressed as a beat with an optional fractional part. For example, "1m+3.5" - indicates a point in the next measure on the second half of beat 3. The measure number must be - in the range of 0 to the number of remaining measures, while the beat number must be in the - range from 0 to the numerator of the time signature plus 1. For example, in 6/8 the beat - number must be within the range from 0 (the left barline) to 7 (the right barline). A value - with a measure number of "0", such as "0m+2", indicates a point within the current - measure. - - - ([0-9]+m\s*\+\s*)?[0-9]+(\.?[0-9]*)? - - - - A count of measures plus a beat location, i.e., (\+|-)?[0-9]+m\+[0-9]+(\.?[0-9]*)?. The - measure count is the number of barlines crossed by the event, while the beat location is a - timestamp expressed as a beat with an optional fractional part. The measure number must be in - the range of preceding measures to the number of remaining measures. A value with a positive - measure number, such as "1m+3", indicates a point in the following measure, while a value with - a negative measure number, such as "-1m+3", marks a point in the preceding measure. The beat - number must be in the range from 0 to the numerator of the time signature plus 1. For example, - in 6/8 the beat number must be within the range from 0 (the left barline) to 7 (the right - barline). A value with a measure number of "0", such as "0m+2", indicates a point within the - current measure. - - - (\+|-)?[0-9]+m\+[0-9]+(\.[0-9]*)? - - - - Measurement expressed in real-world (e.g., centimeters, millimeters, inches, points, - picas, or pixels) or virtual units (vu). 'vu' is the default value. Unlike - data.MEASUREMENTREL, which may be used to express relative measures, only positive values are - allowed. - - - (\+)?\d+(\.\d+)?(cm|mm|in|pt|pc|px|vu)? - - - - Measurement expressed in real-world (e.g., centimeters, millimeters, inches, points, - picas, or pixels) or virtual units (vu). 'vu' is the default value. Unlike - data.MEASUREMENTABS, in which only positive values are allowed, both positive and negative - values are permitted. - - - (\+|-)?\d+(\.\d+)?(cm|mm|in|pt|pc|px|vu)? - - - - Indication of melodic function, i.e., anticipation, lower neighbor, escape tone, - etc. - - - - Accented lower neighbor. - - - Anticipation. - - - Appogiatura. - - - Accented passing tone. - - - Arpeggio tone (chordal tone). - - - Arpeggio tone (7th added to the chord). - - - Accented upper neighbor. - - - Changing tone. - - - Chromatic lower neighbor. - - - Chord tone (i.e., not an embellishment). - - - Chord tone (7th added to the chord). - - - Chromatic upper neighbor. - - - Chromatic unaccented passing tone. - - - Escape tone. - - - Lower neighbor. - - - Pedal tone. - - - Repeated tone. - - - Retardation. - - - 2-3 retardation. - - - 7-8 retardation. - - - Suspension. - - - 4-3 suspension. - - - 9-8 suspension. - - - 7-6 suspension. - - - Upper neighbor. - - - Upper neighbor (7th added to the chord). - - - Unaccented passing tone. - - - Unaccented passing tone (7th added to the chord). - - - - - Mensuration attribute values. - - - - Tempus imperfectum. - - - Tempus perfectum. - - - - - Meter.sym attribute values for CMN. - - - - Common time; i.e. 4/4. - - - Cut time; i.e. 2/2. - - - - - MIDI channel number. One-based values must be followed by a lower-case letter "o". - - - 0|([1-9]|1[0-5])o?|16o - - - - Tempo expressed as "beats" per minute, where "beat" is always defined as a quarter note, - *not the numerator of the time signature or the metronomic indication*. - - - - - Tempo expressed as microseconds per "beat", where "beat" is always defined as a quarter - note, *not the numerator of the time signature or the metronomic indication*. - - - - - General MIDI instrument names. - - - - Acoustic Grand Piano - Program #0. - - - Bright Acoustic Piano - Program #1. - - - Electric Grand Piano - Program #2. - - - Honky-tonk Piano - Program #3. - - - Electric Piano 1 - Program #4. - - - Electric Piano 2 - Program #5. - - - Program #6. - - - Program #7. - - - Program #8. - - - Program #9. - - - Program #10. - - - Program #11. - - - Program #12. - - - Program #13. - - - Tubular Bells - Program #14. - - - Program #15. - - - Drawbar Organ - Program #16. - - - Percussive Organ - Program #17. - - - Rock Organ - Program #18. - - - Church Organ - Program #19. - - - Reed Organ - Program #20. - - - Program #21. - - - Program #22. - - - Tango Accordion - Program #23. - - - Acoustic Guitar (nylon) - Program #24. - - - Acoustic Guitar (steel) - Program #25. - - - Electric Guitar (jazz) - Program #26. - - - Electric Guitar (clean) - Program #27. - - - Electric Guitar (muted) - Program #28. - - - Overdriven Guitar - Program #29. - - - Distortion Guitar - Program #30. - - - Guitar harmonics - Program #31. - - - Acoustic Bass - Program #32. - - - Electric Bass (finger) - Program #33. - - - Electric Bass (pick) - Program #34. - - - Fretless Bass - Program #35. - - - Slap Bass 1 - Program #36. - - - Slap Bass 2 - Program #37. - - - Synth Bass 1 - Program #38. - - - Synth Bass 2 - Program #39. - - - Program #40. - - - Program #41. - - - Program #42. - - - Program #43. - - - Tremolo Strings - Program #44. - - - Pizzicato Strings - Program #45. - - - Orchestral Harp - Program #46. - - - Program #47. - - - String Ensemble 1 - Program #48. - - - String Ensemble 2 - Program #49. - - - SynthStrings 1 - Program #50. - - - SynthStrings 2 - Program #51. - - - Choir Aahs - Program #52. - - - Voice Oohs - Program #53. - - - Synth Voice - Program #54. - - - Orchestra Hit - Program #55. - - - Program #56. - - - Program #57. - - - Program #58. - - - Muted Trumpet - Program #59. - - - French Horn - Program #60. - - - Brass Section - Program #61. - - - SynthBrass 1 - Program #62. - - - SynthBrass 2 - Program #63. - - - Soprano Sax - Program #64. - - - Alto Sax - Program #65. - - - Tenor Sax - Program #66. - - - Baritone Sax - Program #67. - - - Program #68. - - - English Horn - Program #69. - - - Program #70. - - - Program #71. - - - Program #72. - - - Program #73. - - - Program #74. - - - Pan Flute - Program #75. - - - Blown Bottle - Program #76. - - - Program #77. - - - Program #78. - - - Program #79. - - - Lead 1 (square) - Program #80. - - - Lead 2 (sawtooth) - Program #81. - - - Lead 3 (calliope) - Program #82. - - - Lead 4 (chiff) - Program #83. - - - Lead 5 (charang) - Program #84. - - - Lead 6 (voice) - Program #85. - - - Lead 7 (fifths) - Program #86. - - - Lead 8 (bass + lead) - Program #87. - - - Pad 1 (new age) - Program #88. - - - Pad 2 (warm) - Program #89. - - - Pad 3 (polysynth) - Program #90. - - - Pad 4 (choir) - Program #91. - - - Pad 5 (bowed) - Program #92. - - - Pad 6 (metallic) - Program #93. - - - Pad 7 (halo) - Program #94. - - - Pad 8 (sweep) - Program #95. - - - FX 1 (rain) - Program #96. - - - FX 2 (soundtrack) - Program #97. - - - FX 3 (crystal) - Program #98. - - - FX 4 (atmosphere) - Program #99. - - - FX 5 (brightness) - Program #100. - - - FX 6 (goblins) - Program #101. - - - FX 7 (echoes) - Program #102. - - - FX 8 (sci-fi) - Program #103. - - - Program #104. - - - Program #105. - - - Program #106. - - - Program #107. - - - Program #108. - - - Program #109. - - - Program #110. - - - Program #111. - - - Tinkle Bell - Program #112. - - - Program #113. - - - Steel Drums - Program #114. - - - Program #115. - - - Taiko Drum - Program #116. - - - Melodic Tom - Program #117. - - - Synth Drum - Program #118. - - - Reverse Cymbal - Program #119. - - - Guitar Fret Noise - Program #120. - - - Breath Noise - Program #121. - - - Program #122. - - - Bird Tweet - Program #123. - - - Telephone Ring - Program #124. - - - Program #125. - - - Program #126. - - - Program #127. - - - Acoustic Bass Drum - Key #35. - - - Bass Drum 1 - Key #36. - - - Side Stick - Key #37. - - - Acoustic Snare - Key #38. - - - Hand Clap - Key #39. - - - Electric Snare - Key #40. - - - Low Floor Tom - Key #41. - - - Closed Hi Hat - Key #42. - - - High Floor Tom - Key #43. - - - Pedal Hi-Hat - Key #44. - - - Low Tom - Key #45. - - - Open Hi-Hat - Key #46. - - - Low-Mid Tom - Key #47. - - - Hi-Mid Tom - Key #48. - - - Crash Cymbal 1 - Key #49. - - - High Tom - Key #50. - - - Ride Cymbal 1 - Key #51. - - - Chinese Cymbal - Key #52. - - - Ride Bell - Key #53. - - - Key #54. - - - Splash Cymbal - Key #55. - - - Key #56. - - - Crash Cymbal 2 - Key #57. - - - Key #58. - - - Ride Cymbal 2 - Key #59. - - - Hi Bongo - Key #60. - - - Low Bongo - Key #61. - - - Mute Hi Conga - Key #62. - - - Open Hi Conga - Key #63. - - - Low Conga - Key #64. - - - High Timbale - Key #65. - - - Low Timbale - Key #66. - - - High Agogo - Key #67. - - - Low Agogo - Key #68. - - - Key #69. - - - Key #70. - - - Short Whistle - Key #71. - - - Long Whistle - Key #72. - - - Short Guiro - Key #73. - - - Long Guiro - Key #74. - - - Key #75. - - - Hi Wood Block - Key #76. - - - Low Wood Block - Key #77. - - - Mute Cuica - Key #78. - - - Open Cuica - Key #79. - - - Mute Triangle - Key #80. - - - Open Triangle - Key #81. - - - - -

Instrument names are taken from the list at http://www.midi.org/techspecs/gm1sound.php.

-

MEI uses 0-based program numbers.

-

Percussion sounds are available when the MIDI channel is set to "10".

-
-
- Generic MIDI value. One-based values must be followed by a lower-case letter "o". - - - 0|([1-9]|[1-9][0-9]|1([0-1][0-9]|2[0-7]))o?|128o - - - - data.MIDIVALUE or data.NCName values. - - - - - data.MIDIVALUE or data.PERCENT.LIMITED values. - - - - - Modes. - - - - Major mode. - - - Minor mode. - - - Dorian mode. - - - Phrygian mode. - - - Lydian mode. - - - Mixolydian mode. - - - Aeolian mode. - - - Locrian mode. - - - - - Bibliographic relationship values based on MODS version 3.4. - - - - Temporal predecessor of the resource. - - - Temporal successor to the resource. - - - Original form of the resource. - - - Parent containing the resource. - - - Intellectual or physical component of the resource. - - - Version of the resource's intellectual content not changed enough to be a different - work. - - - Version of the resource in a different physical format. - - - Published bibliographic description, review, abstract, or index of the resource's - content. - - - Cited or referred to in the resource. - - - - - Maxima-long relationship values. - - - 2 - 3 - - - - Long-breve relationship values. - - - 2 - 3 - - - - Music font family. - - - - - "Convenience" datatype that permits combining enumerated values with a user-supplied - name. - - - - - "Convenience" datatype that permits combining enumerated values with user-supplied - values. - - - - - Non-staff location. - - - - At the foot of the page. - - - At the top of the page. - - - At the left of the page. - - - At the right of the page. - - - On the opposite, i.e. facing, page. - - - On the other side of the leaf. - - - At the end of this division; e.g., chapter, volume, etc. - - - Within a line text; i.e., an insertion. - - - Between the lines of text, less exact than "sub" or "super". - - - Above a line of text, more exact than "intra(linear)". Do not confuse with - superscript rendition. - - - Below a line of text, more exact than "intra(linear)". Do not confuse with subscript - rendition. - - - In a predefined space; i.e., that left by an earlier scribe. - - - Obscures original text; e.g., via overstrike, addition of new writing surface - material, etc. - - - - - Notation type and subtype - - - - Common Music Notation. - - - Mensural notation. - - - Black mensural notation. - - - White mensural notation. - - - Neumatic notation. - - - - Tablature notation. - - - - - Captures any notehead "modifiers"; that is, symbols added to the notehead, such as - slashes, lines, text, and enclosures, etc. - - - - - Enumerated note head modifier values. - - - - Slash (upper right to lower left). - - - Backslash (upper left to lower right). - - - Vertical line. - - - Horizontal line. - - - Center dot. - - - Enclosing parentheses. - - - Enclosing square brackets. - - - Enclosing box. - - - Enclosing circle. - - - Enclosing "fences". - - - - - Captures text rendered in the center of the notehead. - - - centertext\((A|B|C|D|E|F|G)(f|♭|n|♮|s|♯)?\) - - centertext\(H(s|♯)?\) - - - - Oct attribute values. The default values conform to Acoustical Society of America - representation. Read, p. 44. - - - 9 - - - - The amount of octave displacement; that is, '8' (as in '8va' for 1 octave), '15' (for 2 - octaves), or rarely '22' (for 3 octaves). - - - 8|15|22 - - - - Rotation or reflection of base symbol values. - - - reversed|90CW|90CCW - - - - For musical material designated to appear on another staff, the location of the staff - relative to the current one; i.e., the staff above or the staff below. - - - - The staff immediately above. - - - The staff immediately below. - - - - - The number of panels per page. - - - 1 - 2 - - - - Positive decimal number plus '%', i.e., [0-9]+(\.?[0-9]*)?\%. - - - [0-9]+(\.?[0-9]*)?% - - - - Positive decimal number between 0 and 100, followed by a percent sign "%". - - - (([0-9]|[1-9][0-9])(\.[0-9]+)?|100)% - - - - Positive decimal number between -100 and 100, followed by a percent sign "%". - - - (\+|-)?(([0-9]|[1-9][0-9])(\.[0-9]+)?|100)% - - - - Page scale factor; a percentage of the values in page.height and page.width. - - - - - Pclass (pitch class) attribute values. - - - 11 - - - - The pitch names (gamut) used within a single octave. The default values conform to - Acoustical Society of America representation. - - - [a-g] - - - - Gestural pitch names need an additional value for when the notated pitch is not to be - sounded. - - - [a-g]|none - - - - Pnum (pitch number, e.g. MIDI) attribute values. - - - - - Location information. - - - - - - - Other values not permitted when 'above', 'below', 'between' or 'within' is - present. - - - - - Semibreve-minim relationship values. - - - 2 - 3 - - - - General-purpose relationships - - - - - Rotation. - - - - - Rotation term. - - - - No rotation. - - - Rotated 180 degrees. - - - Rotated 270 degrees clockwise. - - - Rotated 45 degrees clockwise. - - - Rotated 315 degrees clockwise. - - - Rotated 135 degrees clockwise. - - - Rotated 225 degrees clockwise. - - - - - Scale degree values. - - - (\^|v)?[1-7](\+|\-)? - - - - The number of slashes to be rendered for tremolandi. - - - 1 - 6 - - - - i=initial, m=medial, t=terminal. Number is used to match endpoints of the slur when slurs - are nested or overlap. - - - [i|m|t][1-6] - - - - - - - - - - - Items that may be printed above, below, or between staves. - - - - - Items in all repertoires that may be printed near a staff. - - - - Accidentals. - - - Annotations. - - - Articulations. - - - Directives. - - - Dynamics. - - - Harmony indications. - - - Ornaments. - - - - - Spoken text. - - - Stage directions. - - - Tempo markings. - - - - - Staff location. The value '0' indicates the bottom line of the current staff; positive - values are used for positions above the bottom line and negative values for the positions - below. For example, in treble clef, 1 = F4, 2 = G4, 3 = A4, etc. and -1 = D4, -2 = C4, and so - on. - - - - - Location of musical material relative to a staff. - - - - - - - The @staff - attribute must contain 2 numerically-adjacent integer values. - - - - Staves and - are not adjacent. - - - - - Location of symbol relative to a staff. - - - - Above the staff. - - - Below the staff. - - - - - Location of symbol relative to a staff. - - - - Between staves. - - - Within/on the staff. - - - - - Stem direction. - - - - - Common stem directions. - - - - Stem points upwards. - - - Stem points downwards. - - - - - Additional stem directions. - - - - Stem points left. - - - Stem points right. - - - Stem points up and right. - - - Stem points down and right. - - - Stem points up and left. - - - Stem points down and left. - - - - - Stem modification. - - - - No modifications to stem. - - - 1 slash through stem. - - - 2 slashes through stem. - - - 3 slashes through stem. - - - 4 slashes through stem. - - - 5 slashes through stem. - - - 6 slashes through stem. - - - X placed on stem. - - - Z placed on stem. - - - - - Position of a note's stem relative to the head of the note. - - - - Stem attached to left side of note head. - - - Stem attached to right side of note head. - - - Stem is originates from center of note head. - - - - - In string tablature, the number of the string to be played, i.e., [1-9]+. - - - - - Temperament or tuning system. - - - - Equal or 12-tone temperament. - - - Just intonation. - - - Meantone intonation. - - - Pythagorean tuning. - - - - - Beats (meter signature denominator) per minute, e.g. 120. - - - - - Breve-semibreve relationship values. - - - 2 - 3 - - - - Closed list of text rendition values. - - - - Surrounded by single quotes. - - - Surrounded by double quotes. - - - Italicized (slanted to right). - - - Oblique (slanted to left). - - - Small capitals. - - - Relative font weight. - - - Relative font weight. - - - Relative font weight. - - - Enclosed in box. - - - Enclosed in ellipse/circle. - - - Enclosed in diamond. - - - Enclosed in triangle. - - - Struck through by '\' (back slash). - - - Struck through by '/' (forward slash). - - - Struck through by '-'; may be qualified to indicate multiple parallel lines, e.g. - line-through(2). - - - Not rendered, invisible. - - - Line above the text; may be qualified to indicate multiple parallel lines, e.g. - overline(3). - - - Use for deleted text fully or partially obscured by other text (such as 'XXXXX') or - musical symbols (such as notes, rests, etc.). - - - Struck through by '-'; equivalent to line-through; may be qualified to indicate - multiple parallel lines, e.g. strike(3). - - - Subscript. - - - Superscript. - - - Use for added text or musical symbols that fully or partially obscure text from an - earlier writing stage. - - - Underlined; may be qualified to indicate multiple parallel lines, e.g. - underline(2). - - - Crossed-out; equivalent to 'bslash' (\) plus 'fslash' (/); that is, a hand-written - 'X'; may be qualified to indicate multiple parallel lines, e.g. x-through(2). - - - Left-to-right (BIDI embed). - - - Right-to-left (BIDI embed). - - - Left-to-right (BIDI override). - - - Right-to-left (BIDI override). - - - - - Parameterized text rendition values. - - - (underline|overline|line-through|strike|x-through)\(\d+\) - - (letter-spacing|line-height)\((\+|-)?\d+(\.\d+)?%?\) - - - - Text rendition values. - - - - - Tie attribute values: initial, medial, terminal. - - - [i|m|t] - - - - A positive or negative offset from the value given in the tstamp attribute in terms of - musical time, i.e., beats[.fractional beat part]. - - - - - Tuplet attribute values: initial, medial, terminal. - - - [i|m|t][1-6] - - - - A Uniform Resource Identifier, see [RFC2396]. - - - - - Data values for attributes that capture vertical alignment. - - - - Top aligned. - - - Middle aligned. - - - Bottom aligned. - - - Baseline aligned. - - - - - A single "word" that contains only letters, digits, punctuation characters, or symbols. It - cannot contain whitespace. - - - (\p{L}|\p{N}|\p{P}|\p{S})* - - - - Attributes that provide for classification of notation. - - - Contains classification of the notation contained or described by the element bearing - this attribute. - - - - - - Provides any sub-classification of the notation contained or described by the element, - additional to that given by its notationtype attribute. - - - - - - - An element with a notationsubtype attribute must have - a notationtype attribute. - - - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - - - - Analytical domain attributes. - - Analytical domain attributes. - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - - - - - Indicates to what degree the harmonic label is supported by the notation. - - - The notation contains all the notes necessary for the harmonic label, e.g., the - notes "D F♯ A" for the harmonic label "D". - - - The harmonic label relies on notes implied, but not actually present, in the - notation, e.g., the notes "D F♯ C" for the harmonic label "D7". The note "A" is - missing from the notation, but can be implied. - - - - - - Attributes describing the harmonic function of a single pitch. - - - Captures scale degree information using Humdrum **deg syntax -- an optional indicator - of melodic approach (^ = ascending approach, v = descending approach), a scale degree - value (1 = tonic ... 7 = leading tone), and an optional indication of chromatic - alteration, "1", "v7", "^1", or "v5+", for example. The amount of chromatic alternation is - not indicated. - - - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Attributes that describe harmonic intervals. - - - Encodes the harmonic interval between pitches occurring at the same time. - - - - - - - Attributes that provide for description of intervallic content. - - - Encodes the melodic interval from the previous pitch. The value may be a general - directional indication (u, d, s, etc.), an indication of diatonic interval direction, - quality, and size, or a precise numeric value in half steps. - - - - - - - Analytical domain attributes. - - Analytical domain attributes. - - - - - - - Indicates major, minor, or other tonality. - - - - - - - Used by staffDef and scoreDef to provide default values for attributes in the analytical - domain that are related to key signatures. - - - Contains an accidental for the tonic key, if one is required, e.g., if key.pname - equals 'c' and key.accid equals 's', then a tonic of C# is indicated. - - - - - - Indicates major, minor, or other tonality. - - - - - - Holds the pitch name of the tonic key, e.g. 'c' for the key of C. - - - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - - - - Attributes describing melodic function. - - - Describes melodic function using Humdrum **embel syntax. - - - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes in the CMN repertoire. - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes in the CMN repertoire. Use the n attribute to explicitly - encode this measure's position in a string of measures containing only mRest elements. - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - - - - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - - - - - - - - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - - - - Attributes that describe pitch class. - - - Holds pitch class information. - - - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - - - - Analytical domain attributes. - - Analytical domain attributes. - - - - - Analytical domain attributes. - - Attributes that specify pitch using sol-fa. - - - Contains sol-fa designation, e.g., do, re, mi, etc., in either a fixed or movable Do - system. - - - - - - - Analytical domain attributes. - - Analytical domain attributes. - - - - - Analytical domain attributes. - - Analytical domain attributes. - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - - - - Analytical domain attributes. - - Analytical domain attributes. - - Analytical domain attributes. - - Logical, that is, written, duration attribute values for the CMN repertoire. - - - - Quadruple whole note. - - - Double whole note. - - - Whole note. - - - Half note. - - - Quarter note. - - - 8th note. - - - 16th note. - - - 32nd note. - - - 64th note. - - - 128th note. - - - 256th note. - - - 512th note. - - - 1024th note. - - - 2048th note. - - - - - Items in the CMN repertoire that may be printed near a staff. - - - - Beams. - - - - - Bend indications. - - - Brackets, e.g., for transcribed ligatures. - - - Breath marks. - - - Copy marks. - - - Fermatas. - - - Fingerings. - - - - - Hairpin dynamics. - - - Harp pedals. - - - Laissez vibrer indications, sometimes called "open ties". - - - Mordents. - - - Octaviation marks. - - - Piano pedal marks. - - - Rehearsal marks. - - - - - Ties. - - - Trills. - - - Tuplets. - - - - - Turns. - - - - - Logical domain attributes. - - - - - - - Describes the direction in which an arpeggio is to be performed. - - - Lowest to highest pitch. - - - Highest to lowest pitch. - - - Non-arpeggiated style (usually rendered with a preceding bracket instead of a wavy - line). - - - - - - Logical domain attributes. - - - - - - Attributes indicating cross-staff beaming. - - - In the case of cross-staff beams, the beam.with attribute is used to indicate which - staff the beam is connected to; that is, the staff above or the staff below. - - - - - - - Used by layerDef, staffDef, and scoreDef to provide default values for attributes in the - logical domain related to beaming. - - - Provides an example of how automated beaming (including secondary beams) is to be - performed. - - - - - - Indicates whether automatically-drawn beams should include rests shorter than a - quarter note duration. - - - - - - -

The beam.group attribute can be used to set a default beaming pattern to be used - when no beaming is indicated at the event level. beam.group must contain a - comma-separated list of time values that add up to a measure, e.g., in 4/4 time '4,4,4,4' - indicates each quarter note worth of shorter notes would be beamed together. Parentheses can - be used to indicate sub-groupings of secondary beams. For example, '(4.,4.,4.)' in 9/8 meter - indicates one outer beam per measure with secondary beams broken at each dotted quarter - duration, while a measure of 16th notes in 4/4 with beam.group equal to - '(4,4),(4,4)' will result in a primary beam covering all the notes and secondary beams for - each group of 4 notes. This beaming "directive" can be overridden by using beam elements. If neither beam elements or the - beam.group attribute is used, then no beaming is rendered. Beaming can be - explicitly 'turned off' by setting beam.group to an empty string.

-
-
- Attributes that indicate whether an event lies under a beam. - - - Indicates that this event is "under a beam". - - - - - - - Attributes that record the visual rendition of beams. - - - Captures whether a beam is "feathered" and in which direction. - - - (accelerando) indicates that the secondary beams get progressively closer together - toward the end of the beam. - - - (mixed acc and rit) for beams that are "feathered" in both directions. - - - (ritardando) means that the secondary beams become progressively more distant - toward the end of the beam. - - - (normal) indicates that the secondary beams are equidistant along the course of - the beam. - - - - - Records the placement of the beam relative to the events it affects. - - - - - - - Stem direction must be specified for all notes and chords under the - beam. - Opposing stem directions are required for a beam with @place="mixed". - - - Opposing stem directions are required for a beam with @place="mixed". - - - - - - Indicates presence of slash through the beam. - - - - - - Records the slope of the beam. - - - - - - - Attributes that capture information about secondary beaming. - - - Presence of this attribute indicates that the secondary beam should be broken - following this note/chord. The value of the attribute records the number of beams which - should remain unbroken. - - - - - - - Logical domain attributes. - - - - - - - - - Logical domain attributes. - - - - - - Indicates the performed duration represented by the beatRpt symbol; expressed in time - signature denominator units. - - - \d+(\.\d+)? - - - - - - Logical domain attributes. - - - - - - - - Logical domain attributes. - - - - - - - - Logical domain attributes. - - - - - - - - - - Logical domain attributes. - - - - - - - - - Indicates whether the tremolo is measured or unmeasured. - - - Measured tremolo. - - - Unmeasured tremolo. - - - - - - Analytical domain attributes in the CMN repertoire. - - - - - - - - - - - Gestural domain attributes for CMN features. - - Logical domain attributes in the CMN repertoire. - - - - - Visual domain attributes for chord. The slur, slur.dir, slur.rend, tie, tie.dir, and - tie.rend attributes here are "syntactic sugar" for these attributes on each of the chord's - individual notes. The values here apply to all the notes in the chord. If some notes are - slurred or tied while others aren't, then the individual note attributes must be used. - - - - - Attributes that indicate how to render the staff lines of the measure containing an - element belonging to this attribute class. - - - "Cut-out" style. - - - The staff lines should not be drawn. - - - - - - Analytical domain attributes. - - Gestural domain attributes. - - Logical domain attributes. - - Visual domain attributes. - - - - - - - - - Attributes that indicate whether to render a repeat symbol or the source material to which - it refers. - - - Indicates whether to render a repeat symbol or the source material to which it refers. - A value of 'true' renders the source material, while 'false' displays the repeat - symbol. - - - - - - - Logical domain attributes. - - - - - - Logical domain attributes. - - - - - - - - Describes the style of the tremolo. - - - Measured tremolo. - - - Unmeasured tremolo. - - - - - - Attributes that indicate whether an event participates in a glissando. - - - Indicates that this element participates in a glissando. If visual information about - the glissando needs to be recorded, then a gliss element should be - employed instead. - - - - - - - Logical domain attributes. - - - - - - - - Attributes that mark a note or chord as a "grace", how it should "steal" time, and how - much time should be allotted to the grace note/chord. - - - Marks a note or chord as a "grace" (without a definite performed duration) and records - from which other note/chord it should "steal" time. - - - - - - Records the amount of time to be "stolen" from a non-grace note/chord. - - - - - - - Analytical domain attributes. - - Gestural domain attributes. - - Logical domain attributes. - - - - - - - Records whether the grace note group is attached to the following event or to the - preceding one. The usual name for the latter is "Nachschlag". - - - Attached to the preceding event. - - - Attached to the following event. - - - Attachment is ambiguous. - - - - - - Visual domain attributes. - - - - - Logical domain attributes. - - - - - - - - - Captures the visual rendition and function of the hairpin; that is, whether it - indicates an increase or a decrease in volume. - - - Crescendo; i.e., louder. - - - Diminuendo; i.e., softer. - - - - - Indicates that the hairpin starts from or ends in silence. Often rendered as a small - circle attached to the closed end of the hairpin. See Gould, p. 108. - - - - - - - Logical domain attributes. - - - - - - Logical domain attributes. The pedal setting, i.e., flat, natural, or sharp, for each - diatonic pitch name is indicated by the seven letter-named attributes. - - - - - - - Indicates the pedal setting for the harp's C strings. - n - - - Flat. - - - Natural. - - - Sharp. - - - - - Indicates the pedal setting for the harp's D strings. - n - - - Flat. - - - Natural. - - - Sharp. - - - - - Indicates the pedal setting for the harp's E strings. - n - - - Flat. - - - Natural. - - - Sharp. - - - - - Indicates the pedal setting for the harp's F strings. - n - - - Flat. - - - Natural. - - - Sharp. - - - - - Indicates the pedal setting for the harp's G strings. - n - - - Flat. - - - Natural. - - - Sharp. - - - - - Indicates the pedal setting for the harp's A strings. - n - - - Flat. - - - Natural. - - - Sharp. - - - - - Indicates the pedal setting for the harp's B strings. - n - - - Flat. - - - Natural. - - - Sharp. - - - - - - Logical domain attributes. - - - - - Logical domain attributes. - - - - - - - Attributes that indicate the presence of an l.v. (laissez vibrer) marking attached to a - feature. If visual information about the lv sign needs to be recorded, then an lv element should be employed. - - - Indicates the attachment of an l.v. (laissez vibrer) sign to this element. - - - - - - - Logical domain attributes. The n attribute contains a name or number associated with the - measure (Read, p. 445). Often, this is an integer, but not always. For example, some measures, - especially incomplete measures or those under an ending mark, may have labels that contain an - integer plus a suffix, such as '12a'. Measures may even have labels, especially in editorial - or analytical uses of MEI, that are entirely non-numeric strings. Measure numbers may be - machine-generated instead of encoding them in the markup. However, an explicit measure number - should restart numbering with the given value. The join attribute may be used to indicate - another measure which metrically completes the current, incomplete one. - - - - - - - Indicates the visual rendition of the left bar line. It is present here only for - facilitation of translation from legacy encodings which use it. Usually, it can be safely - ignored. - - - - - - Indicates the function of the right bar line and is structurally important. - - - - - - - Logical domain attributes. - - - Function of the meter signature group. - - - Meter signatures apply to alternating measures. - - - Meter signatures are interchangeable, e.g. 3/4 and 6/8. - - - Meter signatures with different unit values are used to express a complex metrical - pattern that is not expressible using traditional means, such as 2/4+1/8. - - - - - - Logical domain attributes. - - - - - - - Logical domain attributes. - - - - - Logical domain attributes. - - - - - Logical domain attributes in the CMN repertoire. - - - - - - Logical domain attributes. - - - - - - Logical domain attributes. - - - - - - Analytical domain attributes in the CMN repertoire. - - - - - - - - - - - - - Logical domain attributes. - - - - - Visual domain attributes. - - - - - Attributes that record numbers to be displayed with a feature. - - - Records a number or count accompanying a notational feature. - - - - - - - Attributes that record the placement and visibility of numbers that accompany a bowed - tremolo or tuplet. - - - States where the tuplet number will be placed in relation to the note heads. - - - - - - Determines if the tuplet number is visible. - - - - - - - Logical domain attributes. - - - - - - - - - - Indicates whether the octave displacement should be performed simultaneously with the - written notes, i.e., "coll' ottava". Unlike other octave signs which are indicated by - broken lines, coll' ottava typically uses an unbroken line or a series of longer broken - lines, ending with a short vertical stroke. See Read, p. 47-48. - - - Coll' ottava (with the octave). - - - - - - Logical domain attributes. - - Logical domain attributes. - - - - - - - - Records the position of the piano damper pedal. - - - Depress the pedal. - - - Release the pedal. - - - Half pedal. - - - Release then immediately depress the pedal. - - - - - Indicates the function of the depressed pedal, but not necessarily the text associated - with its use. Use the dir element for such text. - - - - - - The sustain pedal, also referred to as the "damper" pedal, allows the piano - strings to vibrate sympathetically with the struck strings. It is the right-most and - the most frequently used pedal on modern pianos. - - - The soft pedal, sometimes called the "una corda", "piano", or "half-blow" pedal, - reduces the volume and modifies the timbre of the piano. On the modern piano, it is - the left-most pedal. - - - The sostenuto or tone-sustaining pedal allows notes already undamped to continue - to ring while other notes are damped normally; that is, on their release by the - fingers. This is usually the center pedal of the modern piano. - - - The silent or practice pedal mutes the volume of the piano so that one may - practice quietly. It is sometimes a replacement for the sostenuto pedal, especially on - an upright or vertical instrument. - - - - - - Visual domain attributes. - - - - - - Used by scoreDef and staffDef to provide default description of piano pedal - rendition. - - - Determines whether piano pedal marks should be rendered as lines or as terms. - - - Continuous line with start and end positions rendered by vertical bars and bounces - shown by upward-pointing "blips". - - - Pedal down and half pedal rendered with "Ped.", pedal up rendered by "*", pedal - "bounce" rendered with "* Ped.". - - - Pedal up and down indications same as with "pedstar", but bounce is rendered with - "Ped." only. - - - - - - Logical domain attributes. - - - - - - - - - - Attributes used by scoreDef and staffDef to provide default information about rehearsal - numbers/letters. - - - Describes the enclosing shape for rehearsal marks. - - - Enclosed by box. - - - Enclosed by circle. - - - No enclosing shape. - - - - - - Analytical domain attributes in the CMN repertoire. - - - - - - - Logical domain attributes in the CMN repertoire. - - Visual domain attributes. - - - - - Logical domain attributes. - - - - - Visual domain attributes. - - - - - - - - - - Determines whether to display guitar chord grids. - - - - - - - Logical domain attributes. - - - - - - - - Attributes that describe the rendition of slurs. - - - - - - - - - - - - - - Analytical domain attributes in the CMN repertoire. - - - - - - - Logical domain attributes for staffDef in the CMN repertoire. - - - - - Visual domain attributes for staffDef in the CMN repertoire. - - - - - - - - - Attributes that describe the properties of stemmed features; that is, chords and - notes. - - - Contains an indication of which staff a note or chord that logically belongs to the - current staff should be visually placed on; that is, the one above or the one - below. - - - - - - - Logical domain attributes. - - - - - - - Attributes that describe the rendition of ties. - - - - - - - - - - - - - - Attributes that describe measured tremolandi. - - - The performed duration of an individual note in a measured tremolo. - - - - - - - Logical domain attributes. - - - - - - - - - Logical domain attributes. - - - - - - - - - - Groups control events that appear in CMN. - - - - - - - Groups events that appear in CMN. - - - - - Groups events that completely fill a CMN measure. - - - - - Groups notated events that may appear at the layer level in CMN. - - - - - Groups CMN measure-like elements. - - - - - Groups elements that may appear within a CMN measure. - - Groups elements that function like ossia. - - - - - - Groups elements that may appear as part of a section. - - - - (arpeggiation) – Indicates that the notes of a chord are to be performed successively - rather than simultaneously, usually from lowest to highest. Sometimes called a "roll". - - - - - - - - - - -

The modern arpeggiation symbol is a vertical wavy line preceding the chord. When the notes - of the chord are to be performed from highest to lowest, an arrowhead may be added to the - lower end of the line. Even though it is redundant, an arrowhead is sometimes added to the - upper end of the line for the sake of consistency or when the direction of successive - arpeggios alternates. In music for keyboard instruments, sometimes a distinction is made - between a single arpeggio in which both hands play successively and simultaneous arpeggios - in two hands. In the case of the former, multiple values may be required in the - staff and layer attributes. Arpeggios that do not cross staves, but - still involve more than one layer require multiple values for the layer - attribute.

-
An instruction to begin the next section or movement of a composition without - pause. - - - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - -

As a specialized directive, attacca is a control element. That is, it - can be linked via its attributes to other events. The starting point of the attacca - directive may be indicated by either a startid, tstamp, - tstamp.ges, or tstamp.real attribute, while the ending point may be - recorded by either a dur, dur.ges, endid, or - tstamp2 attribute. It is a semantic error not to specify a starting point - attribute.

-
A container for a series of explicitly beamed events that begins and ends entirely within - a measure. - - - - - - - - - - - - - A beam without a copyof attribute must have at least 2 note, rest, chord, or space - descendants. - - - -

For beams that cross the bar line, use the beamSpan element. - Secondary beams may be broken explicitly using the breaksec attribute on the - notes or chords under the beam. Automated beaming, as opposed to explicitly marked beams, - may be indicated for an entire score, part or section by using the beam.group and - beam.rests attributes on these elements.

-
(beam span) – Alternative element for explicitly encoding beams, particularly those which - extend across bar lines. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - Must have one of the attributes: - dur, dur.ges, endid, or tstamp2. - - - -

The starting point of the beam may be indicated by either a startid, - tstamp, tstamp.ges, or tstamp.real attribute, while the - ending point may be recorded by either a dur, dur.ges, - endid, or tstamp2 attribute. It is a semantic error not to specify one - starting and one ending type of attribute.

-
(beat repeat) – An indication that material on a preceding beat should be repeated. - - - - - - - - - - - - -

beatRpt may also be used in guitar or rhythm parts to indicate where - chord changes occur. When these parts require durations longer or shorter than a beat; - however, note elements with appropriately-shaped note heads should be - employed.

-
A variation in pitch (often micro-tonal) upwards or downwards during the course of a - note. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - Must have one of the attributes: - dur, dur.ges, endid, or tstamp2. - - - Marks a sequence of notational events grouped by a bracket. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - Must have one of the attributes: - dur, dur.ges, endid, or tstamp2. - - - - Describes the function of the bracketed event sequence. - - - - - - Represents coloration in the mensural notation source material. - - - Marks a sequence which does not match the current meter. - - - Represents a ligature in the mensural notation source material. - - - -

Text that interrupts the bracket used to mark the event group may be captured as the - content of bracketSpan. The starting point of the group/bracket may be - indicated by either a startid, tstamp, tstamp.ges, or - tstamp.real attribute, while the ending point may be recorded by either a - dur, dur.ges, endid, or tstamp2 attribute. It is - a semantic error not to specify one starting and one ending type of attribute.

-
(breath mark) – An indication of a point at which the performer on an instrument requiring - breath (including the voice) may breathe. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - -

This element may also indicate a short pause or break for instruments *not* requiring - breath. In such cases, it functions as a guide to phrasing. The starting point of the breath - mark may be indicated by either a startid, tstamp, - tstamp.ges, or tstamp.real attribute. It is a semantic error not to - specify a starting point attribute.

-

Since the breath mark does not disrupt the normal tempo of a performance, it has no - directly encode-able duration.

-

The default value for place for a breath mark is "above". Unless indicated by - other attributes, a breath mark will be rendered as a comma-like symbol above the top line - of the staff.

-
(bowed tremolo) – A rapid alternation on a single pitch or chord. - - - - - - - - - - An indication placed over a note or rest to indicate that it should be held longer than - its written value. May also occur over a bar line to indicate the end of a phrase or section. - Sometimes called a 'hold' or 'pause'. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - -

The shape attribute may be used to record whether the fermata is curved, square, - or triangular, while form may be used to capture whether the fermata is - "upright", i.e., has the curve or bracket above the dot, or inverted, i.e., has the curve or - bracket below the dot. Other visual forms of a fermata may be indicated via the - altsym attribute. The starting point of the fermata may be indicated by either a - startid, tstamp, tstamp.ges, or tstamp.real - attribute. It is a semantic error not to specify a starting point attribute.

-
(fingered tremolo) – A rapid alternation between a pair of notes (or chords or perhaps - between a note and a chord) that are (usually) farther apart than a major second. - - - - - - - - - - (glissando) – A continuous or sliding movement from one pitch to another, usually - indicated by a straight or wavy line. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - Must have one of the attributes: - dur, dur.ges, endid, or tstamp2. - - - -

Commonly also called a 'slide'. The term 'glissando' is frequently used to indicate both - the case where distinct intermediate pitches are produced (as on the piano) and the case - where they are not (as on the trombone), though the latter is sometimes referred to as - 'portamento'. The visual appearance of the indicating line may be recorded in the - lform and lwidth attributes. The starting point of the glissando may - be indicated by either a startid, tstamp, tstamp.ges, or - tstamp.real attribute, while the ending point may be recorded by either a - dur, dur.ges, endid, or tstamp2 attribute. It is - a semantic error not to specify one starting and one ending type of attribute.

-
A container for a sequence of grace notes. - - - - - - - - - - - - - A graceGrp without a copyof attribute must have at least 2 note, rest, chord, or space - descendants. - - - - - - The grace attribute is not allowed on - descendants of a graceGrp with a grace attribute. - - - Indicates continuous dynamics expressed on the score as wedge-shaped graphics, e.g. < - and >. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - Must have one of the attributes: - dur, dur.ges, endid, or tstamp2. - - - -

The hairpin element is used for graphical, i.e., - crescendo and diminuendo, dynamic markings. For instantaneous or continuous - textual dynamics, such as 'p', 'mf', or 'cres. poco a poco', the dynam element should be used. The starting point of the hairpin marking - may be indicated by either a startid, tstamp, tstamp.ges, - or tstamp.real attribute, while the ending point may be recorded by either a - dur, dur.ges, endid, or tstamp2 attribute. It is - a semantic error not to specify one starting and one ending type of attribute. MIDI values - associated with the graphical dynamic sign may be recorded in the val and - val2 attributes.

-
(half-measure repeat) – A half-measure repeat in any meter. - - - - - - - - - - (harp pedal) – Harp pedal diagram. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - -

The starting point of the harp pedal diagram may be indicated by either a - tstamp, tstamp.ges, tstamp.real or startid - attribute. It is a semantic error not to specify a starting point attribute.

-
A "tie-like" indication that a note should ring beyond its written duration. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - Must have one of the attributes: - dur, dur.ges, endid, or tstamp2. - - - - - - The visual attributes of the lv element (@bezier, @bulge, @curvedir, - @lform, @lwidth, @ho, @startho, @endho, @to, @startto, @endto, @vo, @startvo, @endvo, - @x, @y, @x2, and @y2) will be overridden by visual attributes of the contained curve - elements. - - - -

The lv element captures the graphical, "tie-like" symbol. Any associated text, such as - "l.v.", must be captured using a dir element.

-
Unit of musical time consisting of a fixed number of note values of a given type, as - determined by the prevailing meter, and delimited in musical notation by bar lines. - - - - - - - - - - - - - - -

In MEI, the measure element is a grouping mechanism for events and - control events. Pointing attributes make it possible to connect this element to other - internal or external entities, such as media objects or annotations. The width - attribute may be used to capture the width of the measure for interchange with music - printing systems that utilize this information for printing.

-
(meter signature) – Written meter signature. - - - - - - - - - - (meter signature group) – Used to capture alternating, interchanging, and mixed meter - signatures. - - - - - - - - - - - - - meterSigGrp must have at least 2 child - meterSig elements. - - - (measure number) – Designation, name, or label for a measure, often but not always - consisting of digits. Use this element when the n attribute on measure does not adequately capture the appearance or placement of the measure - number/label. - - - - - - - - - - -

mNum uses a subset of model.textPhraseLike.limited.

-
(measure rest) – Complete measure rest in any meter. - - - - - - - - - - -

Automatically-generated numbering of consecutive measures of rest may be controlled via the - multi.number attribute on the scoreDef or staffDef elements.

-
(measure repeat) – An indication that the previous measure should be repeated. - - - - - - - - - - -

The automated numbering of consecutive measures of rest may be controlled via the - multi.number attribute on the scoreDef or staffDef elements.

-
(2-measure repeat) – An indication that the previous two measures should be - repeated. - - - - - - - - - - (measure space) – A measure containing only empty space in any meter. - - - - - - - - - - -

The automated numbering of consecutive measures of space may be controlled via the - multi.number attribute on the scoreDef or staffDef elements.

-
(multiple rest) – Multiple measures of rest compressed into a single symbol, frequently - found in performer parts. - - - - - - - - - - (multiple repeat) – Multiple repeated measures. - - - - - - - - - - -

In modern publishing practice, repeats of more than two measures should be written out - using repeat signs. This element, however, is provided for handling non-standard practices - often found in manuscript. The num attribute records the number of measures to be - repeated.

-
An indication that a passage should be performed one or more octaves above or below its - written pitch. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - Must have one of the attributes: - dur, dur.ges, endid, or tstamp2. - - - -

The dis and dis.place attributes record the amount and direction of - displacement, respectively. The lform and lwidth attributes capture - the appearance of the continuation line associated with the octave displacement. The - starting point of the octave displacement may be indicated by either a startid, - tstamp, tstamp.ges, or tstamp.real attribute, while the - ending point may be recorded by either a dur, dur.ges, - endid, or tstamp2 attribute. It is a semantic error not to specify one - starting and one ending type of attribute. Also, note that the dur attribute is - not required because the octave displacement can be visually instantaneous.

-
(ossia layer) – A layer that contains an alternative to material in another layer. - - - - - - - - - - - - - - - Captures original notation and a differently notated version *present in - the source being transcribed*. - - - - - - - - - - - - - - In a measure, ossia - may only contain staff and oStaff elements. - - - In a staff, ossia - may only contain layer and oLayer elements. - - - - -

The alternative material in an ossia often provides a simpler, easier-to-perform option, - while at other times the alternate material provides indications of performance practice, - such as ornamentation. Often an ossia is rendered above the main staff on a reduced-size - staff. Sometimes the alternate material occurs on the same staff as the primary text, but in - a separate layer. In this case, the alternative material is often rendered in small-sized - notation.

-
(ossia staff) – A staff that holds an alternative passage which may be played instead of - the original material. - - - - - - - - - - - - - - - Piano pedal mark. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - -

The starting point of the pedal mark may be indicated by either a startid, - tstamp, tstamp.ges, or tstamp.real attribute. It is a - semantic error not to specify one of these attributes.

-
(rehearsal mark) – In an orchestral score and its corresponding parts, a mark indicating a - convenient point from which to resume rehearsal after a break. - - - - - - - - - - - -

It may also be called a "rehearsal figure", or when numbers are used instead of letters, a - "rehearsal number". See Read, p. 443. reh uses a subset of - model.textPhraseLike.limited.

-
Indication of 1) a "unified melodic idea" or 2) performance technique. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - Must have one of the attributes: - dur, dur.ges, endid, or tstamp2. - - - - - - The visual attributes of the slur (@bezier, @bulge, @curvedir, @lform, - @lwidth, @ho, @startho, @endho, @to, @startto, @endto, @vo, @startvo, @endvo, @x, @y, - @x2, and @y2) will be overridden by visual attributes of the contained curve - elements. - - - -

Historically, the term "slur" indicated two notes performed legato, while the term "phrase" - was used for a "unified melodic idea". Nowadays, however, "slur" often has the same meaning - as "phrase" (See Read, p. 265-266), since the visual rendition of the two concepts is the - same. MEI provides two distinct elements so that those users wishing to maintain a - distinction for historical reasons may do so. If the user does not want to maintain the - distinction, then the more generic slur element should be employed. - The starting point of the phrase/slur may be indicated by either a startid, - tstamp, tstamp.ges, or tstamp.real attribute, while the - ending point may be recorded by either a dur, dur.ges, - endid, or tstamp2 attribute. It is a semantic error not to specify one - starting and one ending type of attribute. Either place, bulge, or - bezier attributes may be used to record the curvature of the phrase/slur. The slur and tie elements may be used instead of the - slur.* and tie.* attributes provided on chord and note elements when 1) they are required by software, or 2) multiple, alternative slurs - are needed.

-
An indication that two notes of the same pitch form a single note with their combined - rhythmic values. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - Must have one of the attributes: - dur, dur.ges, endid, or tstamp2. - - - - - - The visual attributes of the tie (@bezier, @bulge, @curvedir, @lform, - @lwidth, @ho, @startho, @endho, @to, @startto, @endto, @vo, @startvo, @endvo, @x, @y, - @x2, and @y2) will be overridden by visual attributes of the contained curve - elements. - - - -

Most often, a tie is rendered as a curved line connecting the two notes. See Read, p. - 110-111, 122.

-
A group of notes with "irregular" (sometimes called "irrational") rhythmic values, for - example, three notes in the time normally occupied by two or nine in the time of five. - - - - - - - - - - - - - A tuplet without a copyof attribute must have at least 2 note, rest, or chord - descendants. - - - -

The beam sub-element is allowed so that custom beaming may be - indicated, e.g., a septuplet may be divided into a group of three plus a group of four - notes. See Read, p. 187-215. The tuplet element may also used for - bowed tremolo (Read, p. 394) and double, triple, or flutter tonguing (Read, p. 348-349); - that is, for repetition of the same pitch. In the case of irrational durations, such as such - as two quarter notes in the time of five 8th notes in a measure of 5/8 time, decimal values - may be used in the dur.ges attribute. For example, the dur.ges - attribute would take the value "2.5" if the midi.div attribute's value was "1". - The num and numbase attributes may be used for explicit labelling of a - tuplet, such as, '3' with an 8th-note triplet, '3:2' over a quarter-note triplet, etc. The - rendering of the ratio, however, is dependent on the num.format attribute found - in the att.vis.tuplet attribute class.

-
(tuplet span) – Alternative element for encoding tuplets, especially useful for tuplets - that extend across bar lines. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - Must have one of the attributes: - dur, dur.ges, endid, or tstamp2. - - - -

The starting point of the tuplet may be indicated by either a startid, - tstamp, tstamp.ges, or tstamp.real attribute, while the - ending point may be recorded by either a dur, dur.ges, - endid, or tstamp2 attribute. It is a semantic error not to specify one - starting and one ending type of attribute.

-
- CMN ornam attribute values: A = appogiatura (upper neighbor); a = acciaccatura (lower - neighbor); b = bebung; I = ascending slide; i = descending slide; k = delayed turn; K = 5-note - turn; m = mordent (alternation with lower neighbor); M = inverted mordent (alternation with - upper neighbor); N = Nachschlag (upper neighbor); n = Nachschlag (lower neighbor); S = turn; s - = inverted turn; t = trill commencing on auxiliary note; T = trill commencing on principal - note; O = generic / unspecified ornament. - - - [A|a|b|I|i|K|k|M|m|N|n|S|s|T|t|O]|(A|a|S|s|K|k)?(T|t|M|m)(I|i|S|s)? - - - - Logical domain attributes. - - - - - - - - Records semantic meaning, i.e., intended performance, of the mordent. The - altsym, glyph.name, or glyph.num attributes may be used - to specify the appropriate symbol. - - - Starts with the written note, followed by its lower neighbor, with a return to the - written note. In modern practice, this is called an "inverted mordent" and indicated - by a short wavy line with a vertical line through it. - - - Starts with the written note, followed by its upper neighbor, with a return to the - principal note. In modern practice, the symbol lacks the vertical line used for the - inverted form. - - - - - When set to 'true', a double or long mordent, sometimes called a "pincé double", - consisting of 5 notes, is indicated. - - - - - - - Accidentals associated with ornaments. - - - Records the written accidental associated with an upper neighboring note. - - - - - - Records the written accidental associated with a lower neighboring note. - - - - - - - Attributes for marking the presence of an ornament. - - - Indicates that this element has an attached ornament. If visual information about the - ornament is needed, then one of the elements that represents an ornament (mordent, trill, - or turn) should be employed. - - - - - - - Logical domain attributes. - - - - - - - - - Logical domain attributes. - - - - - - - - When set to 'true', the turn begins on the second half of the beat. - - - - - - Records meaning; i.e., intended performance, of the turn. The altsym, - glyph.name, or glyph.num attributes may be used to specify the - appropriate symbol. - - - Begins on the note below the written note. - - - Begins on the note above the written note. - - - - - - Groups CMN ornament elements. - - - - An ornament indicating rapid alternation of the main note with a secondary note, usually a - step below, but sometimes a step above. - - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - -

The starting point of the mordent may be indicated by either a startid, - tstamp, tstamp.ges, or tstamp.real attribute. It is a - semantic error not to specify one of these attributes.

-
Rapid alternation of a note with another (usually at the interval of a second - above). - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - -

The interval between the main and auxiliary notes is usually understood to be diatonic - unless altered by an accidental. The starting note of the trill; i.e., the written one or - the ornamenting one, and the speed of alternation depends on performance practice. The - starting point of the trill may be indicated by either a startid, - tstamp, tstamp.ges, or tstamp.real attribute, while the - ending point may be recorded by either a dur, dur.ges, - endid, or tstamp2 attribute. It is a semantic error not to specify a - starting point attribute.

-
An ornament consisting of four notes — the upper neighbor of the written note, the written - note, the lower neighbor, and the written note. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - -

See Read, p. 246-247. Whether the turn is accented or unaccented may be inferred from the - timestamp — accented turns occur directly on the affected beat, unaccented ones do not.

-
(MEI corpus) – A group of related MEI documents, consisting of a header for the group, and - one or more mei elements, each with its own complete header. - - - - - - - -

This element is modelled on the teiCorpus element in the Text Encoding Initiative (TEI) - standard. The MEI instances making up the corpus may be related in a number of ways, for - example, by composer, by similar instrumentation, by holding institution, etc. This - element's name should not be changed in order to assure an absolute minimum level of MEI - compliance.

-
- Attributes common to all elements representing variant readings. - - - - - - - - Classifies the cause for the variant reading, according to any appropriate typology of - possible origins. - - - - - - - Logical domain attributes. - - Groups elements that contain a critical apparatus entry. - - Groups elements that may appear as part of a textual or musical variant. - - Groups elements that may appear as part of a musical variant. - - - - - Groups elements that may appear as part of a textual variant. - - - - (apparatus) – Contains one or more alternative encodings. - - - - - - - -

The alternatives provided in lem and/or rdg - sub-elements may be thought of as exclusive or as parallel. The type attribute - may contain any convenient descriptive word, describing the extent of the variation (e.g. - note, phrase, measure, etc.), its text-critical significance (e.g. significant, accidental, - unclear), or the nature of the variation or the principles required to understand it (e.g. - lectio difficilior, usus auctoris, etc.).

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(lemma) – Contains the lemma, or base text, of a textual variation. - - - - - - - - - - - -

The lem element may also be used, under some circumstances, to record - the base text of the source edition, to mark the readings of a base witness, to indicate the - preference of an editor or encoder for a particular reading, or to make clear, in cases of - ambiguity, precisely which portion of the main text the variation applies to. Those who - prefer to work without the notion of a base text may prefer not to use it at all. An integer - indicating the position of this reading in a sequence, when there is reason to presume a - sequence of the variant readings, may be captured in the seq attribute.

-

In no case should lem contain elements that would not otherwise be - permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, lem - should only contain those elements allowed within verse.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(reading) – Contains a single reading within a textual variation. - - - - - - - - - - - -

Since a reading can be a multi-measure section, the scoreDef element - is allowed so that a reading may have its own meta-data without incurring the overhead of - child section elements. The app sub-element is - permitted in order to allow nested sub-variants.

-
-

In no case should rdg contain elements that would not otherwise be - permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, rdg - should only contain those elements allowed within verse.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
- Logical domain attributes. - - - - - - - Logical domain attributes. - - - - - - - Groups elements containing stage directions in performance texts. - - - - - (speech) – Contains an individual speech in a performance text. - - - - - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - - - - Must not have any of the attributes: startid, endid, tstamp, tstamp2, tstamp.ges, - tstamp.real, startho, endho, to, startto, endto, staff, layer, place, or - plist. - - - -

In a musical context sp must have a start-type attribute when it's - not a descendant of sp. In a textual content sp - must NOT have any musical attributes.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(stage direction) – Contains any kind of stage direction within a dramatic text or - fragment. - - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - - - - Must not have any of the attributes: startid, endid, tstamp, tstamp2, tstamp.ges, - tstamp.real, startho, endho, to, startto, endto, staff, layer, place, or - plist. - - - -

In a musical context stageDir must have a start-type attribute when - it's not a descendant of sp. In a textual content stageDir must NOT have any musical attributes.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
- Attributes for the identification of a causative agent. - - - Signifies the causative agent of damage, illegibility, or other loss of original - text. - - - - - - - Logical domain attributes. - - - - - - - - - - - - Attributes describing the nature of an encoded scholarly intervention or - interpretation. - - - - - - Analytical domain attributes. - - Gestural domain attributes. - - - - - Logical domain attributes. - - - - - - - - - Visual domain attributes. - - - - - Attributes that identify the reason why an editorial feature is used. - - - Holds a short phrase describing the reason for missing textual material (gap), why - material is supplied (supplied), or why transcription is difficult (unclear). - - - - - - - Attributes for elements encoding authorial or scribal intervention when transcribing - manuscript or similar sources. - - - - - - - - Groups elements that may appear as part of the content of a choice element. - - Groups elements for editorial interventions that may be useful both in transcribing and in - authoring processes. - - - - - - Groups elements that may appear as part of editorial and transcription elements. - - Groups elements that may appear as part of editorial and transcription elements in music - notation. - - - - - Groups elements that may appear as part of editorial and transcription elements in - prose. - - - - - Groups elements used for editorial transcription of pre-existing source materials. - - - - (abbreviation) – A generic element for 1) a shortened form of a word, including an acronym - or 2) a shorthand notation. - - - - - - - - - - Records the expansion of a text abbreviation. - - - - -

In no case should abbr contain elements that would not otherwise be - permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, abbr should only contain those elements allowed within verse.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
(addition) – Marks an addition to the text. - - - - - - - - - - - Location of the addition. - - - - -

The add element contains material inserted by an author, scribe, - annotator, or corrector. The agent responsible for the addition may be encoded using the - hand attribute, while the resp attribute records the editor or - transcriber responsible for identifying the hand of the addition. The cert - attribute signifies the degree of certainty ascribed to the identification of the hand of - the addition. The editor(s) responsible for asserting this particular reading may be - recorded in the resp attribute. The value of resp must point to one or more - identifiers declared in the document header.

-

In no case should add contain elements that would not otherwise be - permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, add - should only contain those elements allowed within verse.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Groups a number of alternative encodings for the same point in a text. - - - - - -

Because the children of a choice element all represent alternative - ways of encoding the same sequence, it is natural to think of them as mutually exclusive. - However, there may be cases where a full representation of a text requires the alternative - encodings to be considered as parallel. Note also that choice elements - may be recursively nested.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(correction) – Contains the correct form of an apparent erroneous passage. - - - - - - - - - - -

The cert attribute signifies the degree of certainty ascribed to correction. The - resp attribute contains an ID reference to an element containing the name of the - editor or transcriber responsible for suggesting the correction held as the content of the - corr element. If the correction was made in the source, resp should be - used to identify the hand of the corrector. The value of resp must point to one or more - identifiers declared in the document header.

-

In no case should corr contain elements that would not otherwise be - permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, corr should only contain those elements allowed within verse.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(copy/colla parte mark) – A verbal or graphical indication to copy musical material - written elsewhere. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real - Must have one of the attributes: - dur, dur.ges, endid, or tstamp2 - - - - - a. b. c. d. e. f. g. - - - - unis: - - - - in 8va - - -

Typical examples are colla parte instructions (such as "col Basso") or - other indications intended to result in filling gaps in the score with material written - elsewhere. It is recommended to capture the position of the indication itself with the - attributes tstamp and staff. The area to be filled should contain space or mSpace elements. The material to be used to - fill the gap can be identified by the attributes origin.tstamp, - origin.tstamp2, origin.staff, and origin.layer. If - origin.tstamp2 is not provided, a duration similar to that of the local omission - (as encoded in the combination of tstamp and tstamp2) is assumed. Any - missing @origin.* attributes are assumed to take the same values as information associated - with the cpMark. For example, when only the origin.staff attribute is provided, - it is assumed that the referenced part comes from a different staff in the same measure. If - a different measure is provided by origin.tstamp, but no origin.staff - is given, then it is assumed that the material is to be taken from the same staff.

-

Textual instructions are encoded as text content of the cpMark, while graphical - instructions may use the altsym, facs, or extsym - attributes.

-
Contains an area of damage to the physical medium. - - - - - - - - - - - Records the degree of damage. - - - - -

In no case should damage contain elements that would not otherwise be - permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, damage should only contain those elements allowed within verse.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(deletion) – Contains information deleted, marked as deleted, or otherwise indicated as - superfluous or spurious in the copy text by an author, scribe, annotator, or corrector. - - - - - - - - - - - -

The resp attribute contains an ID reference to an element containing the name of - the editor or transcriber responsible for identifying the hand of the deletion. The - cert attribute signifies the degree of certainty ascribed to the identification - of the hand of the deletion. The hand of the agent which made the deletion should be pointed - to using the hand attribute. The rend attribute may be used to record - the method used to make the deletion (overstrike, strike[through], etc.).

-

In no case should del contain elements that would not otherwise be - permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, del - should only contain those elements allowed within verse.

-
-

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
(expansion) – Contains the expansion of an abbreviation. - - - - - - - - - - - Captures the abbreviated form of the text. - - - - -

In no case should expan contain elements that would not otherwise be - permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, expan should only contain those elements allowed within verse.

-
-

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
Indicates a point where material has been omitted in a transcription, whether as part of - sampling practice or for editorial reasons described in the MEI header. - - - - - - - - - -

When material is omitted because it is illegible or inaudible, unclear should be used instead. Similarly, use damage if the - omission is due to damage and del if the omission is because the - material is marked as deleted, or otherwise indicated as superfluous or spurious in the copy - text by an author, scribe, annotator, or corrector. An indication of how much material has - been omitted from the transcription may be recorded in the extent attribute. The - unit attribute names the unit used for describing the extent of the gap. The - reason attribute gives the reason for omission. Sample values include 'sampling', - 'irrelevant', 'cancelled'. The resp attribute contains an ID reference to an - element containing the name of the editor, transcriber or encoder responsible for the - decision not to provide any transcription of the material and hence the application of the - gap tag. The hand attribute signifies the hand which made - the deletion in the case of text omitted from the transcription because of deliberate - deletion by an identifiable hand. The cert attribute signifies the degree of - certainty ascribed to the identification of the extent of the missing material.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Marks the beginning of a passage written in a new hand, or of a change in the scribe, - writing style, ink or character of the document hand. - - - - - - - - - Describes the character of the new hand. - - - - - Identifies the new hand. The value must contain the ID of a hand element given - elsewhere in the document. - - - - - - - @new attribute should - have content. - The value in @new should correspond to the @xml:id attribute of a hand - element. - - - - - Identifies the old hand. The value must contain the ID of a hand element given - elsewhere in the document. - - - - - - - @old attribute should - have content. - The value in @old should correspond to the @xml:id attribute of a hand - element. - - - - -

The character attribute describes characteristics of the hand, particularly - those related to the quality of the writing, e.g., 'shaky', 'thick', regular'. A description - of the tint or type of ink, e.g. 'brown' or the writing medium, e.g. 'pencil', may be placed - in the medium attribute. The new hand may be identified using the new - attribute, while the previous hand may be recorded in the old attribute. The - resp attribute contains an ID reference to an element containing the name of the - editor or transcriber responsible for identifying the change of hand. The cert - attribute signifies the degree of certainty ascribed to the identification of the new - hand.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
A graphical or textual statement with additional / explanatory information about the - musical text. The textual consequences of this intervention are encoded independently via - other means; that is, with elements such as <add>, <del>, etc. - - - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real - - - - Describes the purpose of the metaMark. - - - - - - confirmation of a previous textual decision; i.e., cancellation of a deleted - passage in a different writing medium. - - - denoted material is to be inserted in the musical text. - - - denoted material is no longer part of the musical text. - - - denoted material is replaced, either by the musical text pointed at with the - @target attribute or the musical content of the metaMark element itself. - - - attempt to clarify a potentially illegible or otherwise unclear part of the - musical text. - - - marks a section of the musical text which is to be considered further. - - - marks a section of the musical text as an investigation of the consequences of - certain compositional decisions or potential alternatives. - - - declares a formerly cancelled part of the musical text as valid again. - - - clarification of the reading order of the musical text. - - - -

This element is used to encode explicit metatexts as - defined by the Beethovens Werkstatt project.

-
(original) – Contains material which is marked as following the original, rather than - being normalized or corrected. - - - - - - - - - - -

This element will often be combined with a regularized form within a choice element. The - editor(s) responsible for asserting that the material is original may be recorded in the - resp attribute. The value of resp must point to one or more identifiers declared - in the document header. The cert attribute signifies the degree of certainty - ascribed to the transcription of the original text.

-

In no case should orig contain elements that would not otherwise be - permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, orig should only contain those elements allowed within verse.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(regularization) – Contains material which has been regularized or normalized in some - sense. - - - - - - - - - - -

It is possible to identify the individual responsible for the regularization, and, using - the choice and orig elements, to provide both - original and regularized readings. The editor(s) responsible for asserting the regularized - material may be recorded in the resp attribute. The value of resp must - point to one or more identifiers declared in the document header. The cert - attribute signifies the degree of certainty ascribed to the regularized reading.

-

In no case should reg contain elements that would not otherwise be - permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, reg - should only contain those elements allowed within verse.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Indicates restoration of material to an earlier state by cancellation of an editorial or - authorial marking or instruction. - - - - - - - - - - - Provides a description of the means of restoration, 'stet' or 'strike-down', for - example. - - - - -

In no case should restore contain elements that would not otherwise - be permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, restore should only contain those elements allowed within verse.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains apparently incorrect or inaccurate material. - - - - - - - - - - -

A correction for the apparent error may be given in an accompanying child or sibling corr element.

-

In no case should sic contain elements that would not otherwise be - permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, sic - should only contain those elements allowed within verse.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(substitution) – Groups transcriptional elements when the combination is to be regarded as - a single intervention in the text. - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains material supplied by the transcriber or editor for any reason. - - - - - - - - - - - -

When the presumed loss of text arises from an identifiable cause, agent signifies the - causative agent. When the presumed loss of text arises from action (partial deletion, etc.) - assignable to an identifiable hand, the hand attribute signifies the hand - responsible for the action. The reason attribute indicates why the text has to be - supplied, e.g. 'overbinding', 'faded ink', 'lost folio', 'omitted in original', etc. The - source attribute contains the source of the supplied text. The editor(s) - responsible for supplied material may be recorded in the resp attribute. The - value of resp must point to one or more identifiers declared in the document header. The - cert attribute signifies the degree of certainty ascribed to the supplied - material.

-

In no case should supplied contain elements that would not otherwise - be permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, supplied should only contain those elements allowed within verse.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains material that cannot be transcribed with certainty because it is illegible or - inaudible in the source. - - - - - - - - - - - - - -

Where the difficulty in transcription arises from an identifiable cause, the - agent attribute signifies the causative agent. The cert attribute - signifies the degree of certainty ascribed to the transcription of the text contained within - the unclear element. Where the difficulty in transcription arises from - action (partial deletion, etc.) assignable to an identifiable hand, the hand - attribute signifies the hand responsible for the action. The reason attribute - indicates why the material is difficult to transcribe. The resp attribute - indicates the individual responsible for the transcription of the word, phrase, or passage - contained with the unclear element. The value of resp must - point to one or more identifiers declared in the document header.

-

In no case should unclear contain elements that would not otherwise - be permitted to occur within the parent of its own app ancestor. For - example, when used as a descendent of verse, unclear should only contain those elements allowed within verse.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
- Attributes used to associate MEI features with corresponding glyphs in an - externally-defined standard such as SMuFL. - - - A name or label associated with the controlled vocabulary from which the value of - glyph.name or glyph.num is taken. - - - - - - Standard Music Font Layout. - - - - - Glyph name. - - - - - - - @glyph.name attribute - should have content. - - - - - - Numeric glyph reference in hexadecimal notation, e.g. "#xE000" or "U+E000". N.B. SMuFL - version 1.18 uses the range U+E000 - U+ECBF. - - - - - - - SMuFL version 1.18 uses the range U+E000 - U+ECBF. - - - - - - The web-accessible location of the controlled vocabulary from which the value of - glyph.name or glyph.num is taken. - - - - - - - Attributes that associate a feature corresponding with all or part of an image. - - - Permits the current element to reference a facsimile surface or image zone which - corresponds to it. - - - - - - - @facs attribute should - have content. - Each value in @facs should correspond to the @xml:id attribute of a surface or zone - element. - - - - - - Contains a representation of a written source in the form of a set of images rather than - as transcribed or encoded text. - - - - - - - -

The graphic element is provided within facsimile for association of - the facsimile with graphic files capable of representing multiple pages, such as TIFF or PDF - formats. When more than one graphic element is used, each must represent the same material. - When each page is represented by a different graphic, use a surface - element for each page.

-

The decls attribute may be used to link the collection of images with a - particular source described in the header.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Defines a writing surface in terms of a rectangular coordinate space, optionally grouping - one or more graphic representations of that space, and rectangular zones of interest within - it. - - - - - - - - - - -

Scalable Vector Graphics (SVG) markup may be used when allowed by the graphicLike - model.

-

The startid attribute may be used to hold a reference to the first feature - occurring on this surface.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Defines an area of interest within a surface or graphic file. - - - - - - - -

Scalable Vector Graphics (SVG) markup may be used when allowed by the graphicLike - model.

-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
- Attributes shared by table cells. - - - The number of columns spanned by this cell. - - - - - - The number of rows spanned by this cell. - - - - - - - Groups elements that provide a brief prose description of the appearance or content of a - graphic figure. - - Groups elements representing or containing graphic information such as an illustration or - figure. - - - - - Groups elements that indicate the location of an inline graphic, illustration, or - figure. - - Groups table-like elements. - - - - - (figure) – Groups elements representing or containing graphic information such as an - illustration or figure. - - - - - - - - - -

This element is modelled on the figure element in the Text Encoding Initiative (TEI) - standard.

-
(figure description) – Contains a brief prose description of the appearance or content of - a graphic figure, for use when documenting an image without displaying it. - - - - - - -

Best practice suggests the use of controlled vocabulary for figure descriptions. Don't - confuse this entity with a figure caption. A caption is text primarily intended for display - with an illustration. It may or may not function as a description of the illustration.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Indicates the location of an inline graphic. - - - - - - - - - - - - - - - Graphic child of zone should not have - children. - - - Graphic should have either a - startid attribute or ulx and uly attributes. - - - Graphic should not have @ulx or @uly - attributes. - Graphic should not have @ho or @vo - attributes. - - - - Indicates the upper-left corner x coordinate. - - - - - Indicates the upper-left corner y coordinate. - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains text displayed in tabular form. - - - - - - - - - - -

This element is modelled on elements in the Encoded Archival Description (EAD), Text - Encoding Initiative (TEI), and HTML standards.

-
(table data) – Designates a table cell that contains data as opposed to a cell that - contains column or row heading information. - - - - - - - - -

The colspan and rowspan attributes record tabular display rendering - information.

-
-

This element is modelled on an element in the HTML standard.

-
(table header) – Designates a table cell containing column or row heading information as - opposed to one containing data. - - - - - - - - -

The colspan and rowspan attributes record tabular display rendering - information.

-
-

This element is modelled on an element in the HTML standard.

-
(table row) – A formatting element that contains one or more cells (intersection of a row - and a column) in a table. - - - - - - - -

More precise rendition of the table and its cells can be specified in a style sheet.

-
-

This element is modelled on an element in the HTML standard.

-
- Logical domain attributes. - - - - - - - - Logical domain attributes. - - - - - - - - - - - alternation of fingers. - - - combination of fingers. - - - substitution of fingers. - - - - - - Groups elements that capture performance instructions regarding the use of the fingers of - the hand (or a subset of them). - - - - finger – An individual finger in a fingering indication. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - - - - - The stack element is not allowed as a - descendant of fing. - - - (finger group)– A group of individual fingers in a fingering indication. - - - - - - - - - - - - - At least 2 fing or fingGrp - elements are required. - - - - - - - When @tstamp or @startid is - present on fingGrp, its child elements cannot have a @tstamp or @startid - attribute. - - - When @tstamp or @startid is not present on fingGrp, each of its child elements must - have a @tstamp or @startid attribute. - - - - - Relationships between FRBR entities. - - - - Target is an abridgement, condensation, or expurgation of the current entity. - - - Reciprocal relationship of hasAbridgement. - - - Target is an adaptation, paraphrase, free translation, variation (music), - harmonization (music), or fantasy (music) of the current entity. - - - Reciprocal relationship of hasAdaptation. - - - Target is an alternate format or simultaneously released edition of the current - entity. - - - Reciprocal relationship of hasAlternate. - - - Target is an arrangement (music) of the current entity. - - - Reciprocal relationship of hasArrangement. - - - Target is a cadenza, libretto, choreography, ending for unfinished work, incidental - music, or musical setting of a text of the current entity. - - - Reciprocal relationship of hasComplement. - - - Target is a physical embodiment of the current abstract entity; describes the - expression-to-manifestation relationship. - - - Reciprocal relationship of hasEmbodiment. - - - Target is an exemplar of the class of things represented by the current entity; - describes the manifestation-to-item relationship. - - - Reciprocal relationship of hasExamplar. - - - Target is a parody, imitation, or travesty of the current entity. - - - Reciprocal relationship of hasImitation. - - - Target is a chapter, section, part, etc.; volume of a multivolume manifestation; - volume/issue of serial; intellectual part of a multi-part work; illustration for a text; - sound aspect of a film; soundtrack for a film on separate medium; soundtrack for a film - embedded in film; monograph in a series; physical component of a particular copy; the - binding of a book of the current entity. - - - Reciprocal relationship of hasPart. - - - Target is a realization of the current entity; describes the work-to-expression - relationship. - - - Reciprocal relationship of hasRealization. - - - Target has been reconfigured: bound with, split into, extracted from the current - entity. - - - Reciprocal relationship of hasReconfiguration. - - - Target is a reproduction, microreproduction, macroreproduction, reprint, - photo-offset reprint, or facsimile of the current entity. - - - Reciprocal relationship of hasReproduction. - - - Target is a revised edition, enlarged edition, or new state (graphic) of the current - entity. - - - Reciprocal relationship of hasRevision. - - - Target is a sequel or succeeding work of the current entity. - - - Reciprocal relationship of hasSuccessor. - - - Target is a digest or abstract of the current entity. - - - Reciprocal relationship of hasSummarization. - - - Target is an index, concordance, teacher's guide, gloss, supplement, or appendix of - the current entity. - - - Reciprocal relationship of hasSupplement. - - - Target is a dramatization, novelization, versification, or screenplay of the current - entity. - - - Reciprocal relationship of hasTransformation. - - - Target is a literal translation or transcription (music) of the current - entity. - - - Reciprocal relationship of hasTranslation. - - - - - Collects FRBR expression-like elements. - - Collects FRBR item-like elements. - - Collects FRBR manifestation-like elements. - Intellectual or artistic realization of a work. - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The perfDuration element captures the intended duration - of the expression, while extent records scope of the expression in - other terms, such as number of pages, measures, etc.

-
Gathers bibliographic expression entities. - - - - - Single instance or exemplar of a source/manifestation. - - - - - - - - - - - - - - - - - - - - Gathers bibliographic item entities. - - - - - A bibliographic description of a physical embodiment of an expression of a work. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Item children are not permitted when @singleton - equals "true". - - - - - - - A container for the descriptions of physical embodiments of an expression of a - work. - - - - - - Attributes that pertain to a genetic state. - - - - @state attribute should - have content. - The value in @state should correspond to the @xml:id attribute of a genState - element. - - - - - - The @instant attribute is syntactic sugar for classifying a scribal intervention as an - ad-hoc modification; that is, one which does not interrupt the writing process. - - unknown - - - - Points to the genetic state that results from this modification. - - - - - - (genetic description) - Bundles information about the textual development of a - work. - - - - - - - When set to "true" the child elements are known to be in chronological order. When set - to "false" or when not provided, the order of child elements is unknown. - - - - -

The development of a work can be traced in one or more sources.

-

When the genDesc element is nested, the inner element describes a - group of processes with unknown chronological order inside a larger set of processes with - known order, or vice versa.

-

The decls attribute may be used to link the genetic description with a - particular work described in the header.

-
Describes a distinctive state in the textual development of a work. - - - - - - - - - - - -

Any scribal modifications encoded with elements, such as add, del, etc., which refer to a genState element, are regarded as the - operations that need to be implemented to reach this state; that is, they precede this - state.

-

When nested inside a genDesc element with ordered set to - "false", information regarding the chronological order of states may be provided using the - next, prev, follows and precedes attributes.

-

The date can be used to identify when the current state was - achieved.

-
- Gestural domain attributes. - - - - - Attributes for capturing momentary pitch inflection in the gestural domain. - - - Records the performed pitch inflection. - - - - - - - The value of @accid.ges should - not duplicate the value of @accid. - - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - - - - Attributes describing the method of performance. - - - Records performed articulation that differs from the written value. - - - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - - - - - Records the amount of detuning. The decimal values should be rendered as a fraction - (or an integer plus a fraction) along with the bend symbol. - - - - - - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - - - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - - Indicates that the performance of the next musical division should begin immediately - following this one. - - - - - - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - Attributes that record performed duration that differs from a feature's written - duration. - - - Records performed duration information that differs from the written duration. - - - - - - Number of dots required for a gestural duration when different from that of the - written duration. - - - - - - Duration as a count of units provided in the time signature denominator. - - - \d+(\.\d+)? - - - - - Duration recorded as pulses-per-quarter note, e.g. MIDI clicks or MusicXML - divisions. - - - - - - Duration in seconds, e.g. '1.732'. - - - \d+(\.\d+)? - - - - - Duration as an optionally dotted Humdrum *recip value. - - - \d+(\.)* - - - - - - Gestural domain attributes. - - - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - - - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - Gestural domain attributes. - - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - - - - Gestural domain attributes. - - Attributes for describing the performed components of a line. - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - - - - Gestural domain attributes. - - Gestural domain attributes. The tstamp.ges and tstamp.real attributes encode the onset - time of the measure. In reality, this is usually the same as the onset time of the first event - in the measure. - - - - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - - - - - - - - - - Records performed octave information that differs from the written value. - - - - - - Contains a performed pitch name that differs from the written value. - - - - - - Holds a pitch-to-number mapping, a base-40 or MIDI note number, for example. - - - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - - - - - - - - - When the @extremis attribute is used, - the @pname.ges and @oct.ges attributes are not allowed. - - - - - - Indicates an extreme, indefinite performed pitch. - - - Highest note the performer can play. - - - Lowest note the performer can play. - - - -

On a wind instrument, the "highest note possible" depends on the player's abilities. On - a string instrument, the "lowest note possible" depends on how much a string is - de-tuned; that is, loosened using the tuning peg. Use of the pname and - oct or ploc and oloc or loc attributes is - necessary to record the written pitch and octave of the symbol for this note.

-
-
- - Records performed octave information that differs from the written value. - - - - - - Contains a performed pitch name that differs from the written value. - - - - - - Holds a pitch-to-number mapping, a base-40 or MIDI note number, for example. - - - - -
-
- Gestural domain attributes. - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes for scoreDef. The values set in these attributes act as - score-wide defaults for attributes that are not set in descendant elements. For example, the - grace attribute value here applies to all the grace attribute values in the score (or, more - accurately, until the next scoreDef element) without having to - individually set each note's grace attribute value. The midi.* attributes function as default - values when creating sounding output. The tune.* attributes provide the capability of - recording a tuning reference pitch. - - - - - - - - - Holds the pitch name of a tuning reference pitch. - - - - - - Holds a value for cycles per second, i.e., Hertz, for a tuning reference pitch. - - - - - - Provides an indication of the tuning system, 'just', for example. - - - - - - - Gestural domain attributes. - - - Indicates that the performance of the next section should begin immediately following - this one. - - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - - - - - Attributes that locate a sound source within 3-D space. - - - The lateral or left-to-right plane. - - - - -

A value of 0, 360, or -360 is directly in front of the listener, while a value of 180 - or -180 is directly behind.

-
-
- - The above-to-below axis. - - - - -

A value of 0, 360, or -360 is directly above the listener, while a value of 180 or -180 - is directly below.

-
-
-
-
- Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - Gestural domain attributes for staffDef in the CMN repertoire. - - - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - Attributes that record a performed (as opposed to notated) time stamp. - - - Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], - as expressed in the written time signature. - - - - - - Records the onset time in terms of ISO time. - - - - - - - Attributes that record a performed (as opposed to notated) time stamp for the end of an - event. - - - Encodes the ending point of an event, i.e., a count of measures plus a beat location - in the ending measure. - - - - - - Records the ending point of an event in terms of ISO time. - - - - - - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - - - - Gestural domain attributes. - - - - - - Gestural domain attributes. - - Gestural domain attributes. - - Gestural domain attributes. - - Logical domain attributes. - - - - - - Logical domain attributes. - - - - - - Logical domain attributes. - - - - - - - - Logical domain attributes. - - - - - - - - - Contains a reference to a chordDef element elsewhere in the - document. - - - - - - - @chordref attribute - should have content. - The value in @chordref should correspond to the @xml:id attribute of a chordDef - element. - - - - - - - Groups elements that group playable chord definitions. - - Groups harmonic elements that function as control events; that is, those events that - modify or otherwise depend on the existence of notated events. - - - - - Groups elements that record figured bass. - - Groups elements that represent single figured bass elements. - - Groups elements that record indications of harmony. - - - - (chord definition) – Chord tablature definition. - - - - - - - - - -

An xml:id attribute, while not required by the schema, is needed so that harm elements can reference a particular chord definition. The - pos (position) attribute is provided in order to create displayable chord - tablature grids. chordMember sub-elements record the individual - pitches of the chord. barre sub-elements may be used when a single - finger is used to stop multiple strings.

-
An individual pitch in a chord defined by a chordDef element. - - - - - - - - -

The string, fret, and fing attributes are provided in - order to create displayable chord tablature grids. The inth (harmonic interval) - attribute may be used to facilitate automated performance of a chord. It gives the number of - 1/2 steps above the bass. Of course, for the bass note itself, inth should be set - to '0'.

-
Chord/tablature look-up table. - - - - - -

A chordTable may be shared between MEI instances through the use of an external parsed - entity containing the look-up table to be shared.

-
(figure) – Single element of a figured bass indication. - - - - - - - - - - (figured bass) – Symbols added to a bass line that indicate harmony. Used to improvise a - chordal accompaniment. Sometimes called Generalbass, thoroughbass, or basso continuo. - - - - - - (harmony) – An indication of harmony, e.g., chord names, tablature grids, harmonic - analysis, figured bass. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - - Groups elements that may appear as part of a description of the availability of and access - to a bibliographic item. - - - - - Groups manifestation- and item-specific elements that may appear as part of a - bibliographic description. - - - - - - - - - Attributes that link a bifolium element with a surface - element. - - - A reference to a surface element positioned on the outer recto - side of a (folded) sheet. - - - - - - A reference to a surface element positioned on the inner verso - side of a (folded) sheet. - - - - - - A reference to a surface element positioned on the inner recto - side of a (folded) sheet. - - - - - - A reference to a surface element positioned on the outer verso - side of a (folded) sheet. - - - - - - - Attributes that link a folium element with a surface element. - - - A reference to a surface element positioned on the recto side of - the sheet. - - - - - - A reference to a surface element positioned on the verso side of - the sheet. - - - - - - - Attributes that define the characteristics and components of the bibliographic - description. - - - - - Language material. - - - Notated music. - - - Manuscript notated music. - - - Non-manuscript cartographic material. - - - Manuscript cartographic material. - - - Projected medium. - - - Nonmusical sound recording. - - - Musical sound recording. - - - Two-dimensional nonprojectable graphic. - - - Computer file. - - - Kit. - - - Mixed materials. - - - Three-dimensional artifact or naturally occurring object. - - - Manuscript language material. - - - - - -

The recordtype attribute may be used to determine the appropriateness and - validity of certain data elements in the description.

-

- - Code Descriptions - - Use for non-manuscript language material, including microforms and electronic - resources that are basically textual in nature, whether they are reproductions from - print or originally produced. - - Use for printed, microform, or electronic notated music. - - Use for manuscript notated music or a microform of manuscript music. - - Use for non-manuscript cartographic material or a microform of non-manuscript - cartographic material. - - Use for manuscript cartographic material or a microform of manuscript cartographic - material. - - Use for motion pictures, videorecordings (including digital video), filmstrips, - slide, transparencies or material specifically designed for projection. - - Use for recordings of nonmusical sounds (e.g., speech). - - Use for musical sound recording (e.g., phonodiscs, compact discs, or cassette - tapes. - - Use for two-dimensional nonprojectable graphics such as, activity cards, charts, - collages, computer graphics, digital pictures, drawings, duplication masters, flash - cards, paintings, photo CDs, photomechanical reproductions, photonegatives, photoprints, - pictures, postcards, posters, prints, spirit masters, study prints, technical drawings, - transparency masters, and reproductions of any of these. - - Use for computer software (including programs, games, fonts), numeric data, - computer-oriented multimedia, online systems or services. Other classes of electronic - resources are coded for their most significant aspect (e.g. language material, graphic, - cartographic material, sound, music, moving image). In case of doubt or if the most - significant aspect cannot be determined, consider the item a computer file. - - Use for a mixture of various components issued as a unit and intended primarily for - instructional purposes where no one item is the predominant component of the kit. - Examples are packages of assorted materials, such as a set of school social studies - curriculum material (books, workbooks, guides, activities, etc.), or packages of - educational test materials (tests, answer sheets, scoring guides, score charts, - interpretative manuals, etc.). - - Use for materials in two or more forms that are usually related by virtue of their - having been accumulated by or about a person or body. Includes archival fonds and - manuscript collections of mixed forms of materials, such as text, photographs, and sound - recordings. Intended primary purpose is other than for instructional purposes (i.e., - materials coded as "o"). - - Includes man-made objects such as models, dioramas, games, puzzles, simulations, - sculptures and other three-dimensional art works, exhibits, machines, clothing, toys, - and stitchery. Also includes naturally occurring objects such as, microscope specimens - (or representations of them) and other specimens mounted for viewing. - - This category is applied to items for language material in handwriting, typescript, - or computer printout including printed materials completed by hand or by keyboard or a - microform of these categories. At the time it is created, this material is usually - intended, either implicitly or explicitly, to exist as a single instance. Examples - include marked or corrected galley and page proofs, manuscript books, legal papers, and - unpublished theses and dissertations. - -

-
-
- Attributes that describe correction and normalization methods. - - - Indicates the method employed to mark corrections and normalizations. - - - Corrections and normalizations made silently. - - - Corrections and normalizations indicated using elements. - - - - - - Collects bifoliumlike elements. - - Groups elements that may appear as part of a description of the editorial process applied - to the encoding of notation. - - Groups elements that may be used to provide a structured description of an event. - - Collects foliumlike elements. - - Groups elements that may appear as part of auxiliary material preceding or following the - text proper. - - Groups elements dealing with modifications of document pages. - - Groups elements that may appear as part of the physical description of a bibliographic - item. - - Groups elements that may appear as part of the publication statement for a bibliographic - item. - - Groups elements that assist in the identification of a work. - - Collects work-like elements. - Container for intellectual or physical component parts of a bibliographic entity. - - - - - - - - Only child elements of the same name as the parent of the componentList are - allowed. - - - - - - When any child - element has a comptype attribute, it is recommended that comptype appear on all child - elements. - - - -

The child elements of this element are treated as components of the bibliographic entity - containing the componentList. Although this is an implicit way of - expressing FRBR's hasPart and isPartOf relationships, it avoids this terminology in order to - prevent confusion with musical terminology. Work, expression, and item components must be - the same type as the parent of componentList: work children are - allowed within work, etc. Manifestations; i.e., sources, may have - either source or itemcomponents as required to - accommodate composite sources (those containing multiple sources) or multi-part sources - (those made up of several physical items.

-
(access restriction) – Describes the conditions that affect the accessibility of - material. - - - - - - - - -

May indicate the nature of restrictions or the lack of restrictions. Do not confuse this - element with useRestrict (usage restrictions), which captures - information about limitations on the use of material, such as those - afforded by copyright.

-
-

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
Records information concerning the process by which an item was acquired by the holding - institution. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(alternative identifier) – May contain a bibliographic identifier that does not fit within - the meiHead element's id attribute, for example because the identifier does not fit the - definition of an XML id or because multiple identifiers are needed. - - - - - -

One or the other of altId or the id attribute on mei is required when applicable.

-
(application information) – Groups information about applications which have acted upon - the MEI file. - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Provides information about an application which has acted upon the current - document. - - - - - - - Supplies a version number for an application, independent of its identifier or display - name. - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Documents the usage of a specific attribute of the element. - - - - - - - - @context attribute should - contain an XPath expression. - - - - Name of the attribute. - - - - - Circumstances in which the element appears, an XPath expression. - - - - Defines the class of user for which the work is intended, as defined by age group (e.g., - children, young adults, adults, etc.), educational level (e.g., primary, secondary, etc.), or - other categorization. - - - - - - - Groups elements that describe the availability of and access to a bibliographic item, - including an MEI-encoded document. - - - - - - - - -

When used within the fileDesc element, availability indicates access to the MEI-encoded document itself.

-
-

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
Describes a folded sheet of paper. - - - - - - - - Contains the primary statement of responsibility given for a work on its title - page. - - - - - - - - (capture mode) – The means used to record notation, sound, or images in the production of - a source/manifestation (e.g., analogue, acoustic, electric, digital, optical etc.). - - - - - - - - (carrier form) – The specific class of material to which the physical carrier of the - source/manifestation belongs (e.g., sound cassette, videodisc, microfilm cartridge, - transparency, etc.). The carrier for a manifestation comprising multiple physical components - may include more than one form (e.g., a filmstrip with an accompanying booklet, a separate - sound disc carrying the sound track for a film, etc.). - - - - - - - - Contains an individual descriptive category in a user-defined taxonomy, possibly nested - within a superordinate category. - - - - - - - - - - - - - - To be addressable, the category element must - have an xml:id attribute. - - - (category relationship) – Contains the name of a related category. - - - - - - - - - - - - Provides a description of the relationship between the current and the target - categories. - - - Category to which the current category is hierarchically subordinate. - - - Category which is hierarchically subordinate to the current category. - - - Category that is associatively but not hierarchically linked to the current - category. - - - Non-preferred category; often a synonym or near-synonym for the preferred category - label. - - - Individual change within the revision description. - - - - - - - - - - - The date of the change must be recorded in an - isodate attribute or date element. - It is recommended that the agent responsible for the change be recorded - in a resp attribute or in a name, corpName, or persName element in the respStmt - element. - - - -

Additions, deletions, and significant recoding should be noted, but not correction of minor - typographical errors. It is recommended that revisions should be entered in reverse - chronological order, with the most recent change first. The - resp attribute contains a pointer to an element containing info about the - person/entity responsible for change. The edition element can be used - to designate an MEI encoding that has been so substantively changed that it constitutes a - new version that supersedes earlier versions.

-
-

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
(change description) – Description of a revision of the MEI file. - - - - - - Groups information which describes the nature or topic of an entity. - - - - - - -

Although the use of names and terms from locally controlled vocabularies is possible, best - practice suggests that terms should come from standard national or international - vocabularies whenever they are available in order to enable searches in systems that include - multiple MEI documents, or MEI documents and bibliographic records from many - institutions.

-
Groups information which describes the nature or topic of an entity. - - - - - - - -

Although the use of names and terms from locally controlled vocabularies is possible, best - practice suggests that terms should come from standard national or international - vocabularies whenever they are available in order to enable searches in systems that include - multiple MEI documents, or MEI documents and bibliographic records from many - institutions.

-
The physical condition of an item, particularly any variances between the physical make-up - of the item and that of other copies of the same item (e.g., missing pages or plates, - brittleness, faded images, etc.). - - - - - - - -

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
Contains a single entry within a content description element. - - - - - - List of the material contained within a resource. - - - - - - - - - - - When labels - are used, usually each content item has one. - - - - - -

A suitable tone ; Left hand colouring ; Rhythm and accent ; Tempo ; - Flexibility ; Ornaments

-
-
-
- - - Contents - Sonata in D major, op. V, no. 1 / - Corelli - Sonata in G minor / Purcell (with Robert Donington, - gamba) - Forlane from Concert royal no. 3 / - Couperin - - - - - - - -

Use this element to provide an enumeration of the contents of a bibliographic entity, like - that often found in a table of contents. When a detailed bibliographic description of - included material is desired, use the componentList element - instead.

-
The historical, social, intellectual, artistic, or other context within which the work was - originally conceived (e.g., the 17th century restoration of the monarchy in England, the - aesthetic movement of the late 19th century, etc.) or the historical, social, intellectual, - artistic, or other context within which the expression was realized. - - - - - - - States how and under what circumstances corrections have been made in the text. - - - - - - - - - - - Indicates the degree of correction applied to the text. - - - The text has been thoroughly checked and proofread. - - - The text has been checked at least once. - - - The text has not been checked. - - - The correction status of the text is unknown. - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
A cutout is a section of a document sheet that has been removed and is now missing. - - - - - - - - - - - Describes the position of the cutout on the parent folium / bifolium. - - - removed from outer recto side of bifolium. - - - removed from inner verso side of bifolium. - - - removed from inner recto side of bifolium. - - - removed from outer verso side of bifolium. - - - removed from recto side of folium. - - - removed from verso side of folium. - - - - Describes the method of removing the cutout. - - - - - - section is cleanly cut by a knife, scissor or other sharp blade. - - - section is ripped off the page, leaving a rough edge. - - - -

The dimensions (@width, @height) of the parent element (e.g. folium) - indicate the size of the bounding box of the remaining part of the page. That is, if the - complete lower half of a page has been cut, the @width and @height attributes describe the - remaining upper half. If, in contrast, only the lower right quarter of the page has been - cut, these attributes still indicate the size of the full page (assuming that the removed - section was a regular rectangle).

-
-

The dimensions (@width, @height) on cutout itself are only to be used - when there is a "gap" in the manuscript that allows to specify the dimensions of that - missing part. In this case, the bounding box dimensions are given, together with @x and @y - to indicate the upper left point on the original page. If, however, the removed section is - available by itself, then a corresponding folium (or bifolium) should be placed inside the cutout element, and should - provide it's own dimensions using @width and @height there. In this case, @width and @height - on cutout is expendable.

-
Contains a dedicatory statement. - - - - - - - - -

This element uses a variant of the content model provided by - macro.struc-unstrucContent.

-
(domains declaration) – Indicates which domains are included in the encoding. - - - - - - - - - - - - - - - (edition statement) – Container for meta-data pertaining to a particular edition of the - material being described. - - - - - - - -

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
(editorial declaration) – Used to provide details of editorial principles and practices - applied during the encoding of musical text. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(encoding description) – Documents the relationship between an electronic file and the - source or sources from which it was derived as well as applications used in the - encoding/editing process. - - - - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(exhibition history) – A record of public exhibitions, including dates, venues, - etc. - - - - - - - -

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
(extended metadata) – Provides a container element for non-MEI metadata formats. - - - - - - (file characteristics) – Standards or schemes used to encode the file (e.g., ASCII, SGML, - etc.), physical characteristics of the file (e.g., recording density, parity, blocking, etc.), - and other characteristics that have a bearing on how the file can be processed. - - - - - - - (file description) – Contains a full bibliographic description of the MEI file. - - - - - - - - - - - -

Extent in this context represents file size.

-
-

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
Contains a string that uniquely identifies an item, such as those constructed by combining - groups of characters transcribed from specified pages of a printed item or a file's - checksum. - - - - - - - - Describes the order of folia and bifolia making up the text block of a manuscript or - print. - - - - - -

The purpose of foliaDesc is to transcribe the addition and removal of - pages as part of physical modifications to a document. Missing pages may be indicated using - the gap element. The folium and bifolium children describe the physical order of surface - elements provided elsewhere.

-
Describes a single leaf of paper. - - - - - - - - -

When the exact folium setup can't be identified, it is advised to use folium elements only (and not guess about the presence of bifoliums in the document).

-
Defines a distinct scribe or handwriting style. - - - - - - - - - Marks this hand as the first one of the document. - - - - -

The initial attribute indicates whether this is the first or main hand of the - document. The medium attribute describes the writing medium, e.g., 'pencil', or - the tint or type of ink, e.g. 'brown'. The resp attribute contains an ID - reference to an element containing the name of the editor or transcriber responsible for - identifying the hand. The characteristics of the hand, particularly those related to the - quality of the writing, such as 'shaky', 'thick', etc. may be described within the content - of the hand element.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Container for one or more hand elements. - - - - - - - - - - When labels are used, - usually each hand has one. - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Provides a container for information about the history of a resource other than the - circumstances of its creation. - - - - - - - - - The acquisition and provenance - elements are not permitted in the work or expression context. - - - -

To facilitate efficient data interchange, basic information about the circumstances - surrounding the creation of bibliographic resources should be recorded within the creation element, while the record of ownership and custody should be - captured within the history element.

-
Incipit coded in a non-XML, plain text format, such as Plaine & Easie Code. - - - - - - - - - - - incipCode must have a form or mimetype - attribute. - - - - Form of the encoded incipit. - - - - - - Plaine & Easie Code. - - - Humdrum Kern format. - - - Parsons code. - - - Opening words of a musical composition. - - - - - - - - - An inscription added to an item, such as a bookplate, a note designating the item as a - gift, and/or the author's signature. - - - - - - - Describes the scope of any analytic or interpretive information added to the transcription - of the music. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Key captures information about tonal center and mode. - - - - - - - - - Indicates major, minor, or other tonality. - - - - -

This element is used exclusively within bibliographic descriptions. Do not confuse this - element with keySig, which is used within the body of an MEI file to - record this data.

-
Description of a language used in the document. - - - - - - - -

A textual element may be related to this element by setting its xml:lang - attribute, which normally takes the form of a code drawn from a coded list, such as - ISO639-2b, to the same value as this element's codedval attribute. The name and web location - of the authorizing list may be encoded in the auth attribute and the - auth.uri attribute, respectively.

-
-

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
(language usage) – Groups elements describing the languages, sub-languages, dialects, - etc., represented within the encoded resource. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(MEI header) – Supplies the descriptive and declarative metadata prefixed to every - MEI-conformant text. - - - - - - - - - - - - - - - - - - - The meiHead type attribute can have the value 'music' - only when the document element is "mei". - - - The meiHead type attribute can have the value - 'corpus' only when the document element is "meiCorpus". - - - The meiHead type attribute can have the value - 'independent' only when the document element is "meiHead". - - - - Specifies the kind of document to which the header is attached, for example whether it - is a corpus or individual text. - - - Header is attached to a music document. - - - Header is attached to a corpus. - - - Header is independent; i.e., not attached to either a music or a corpus - document. - - - -

In order to encourage uniformity in the provision of metadata across document types, this - element is modelled on an element in the Text Encoding Initiative (TEI) standard. This - information is often essential in a machine-readable environment. Five sub-elements must be - encoded in the following order: altId(optional), fileDesc(required), encodingDesc(optional), workList(optional), and revisionDesc(optional). These elements - and their sub-elements provide: a unique identifier for the MEI file, bibliographic - information about the MEI file and its sources, information about the encoding process, - information about the creation of the work being encoded, and statements regarding - significant revisions of the file. The xml:lang attribute may be used to indicate - the language in which the metadata content of the header is provided.

-
Captures information about mensuration within bibliographic descriptions. - - - - - - - - Captures information about the time signature within bibliographic descriptions. - - - - - - - - -

This element is used exclusively within bibliographic descriptions. Do not confuse meter with the meterSig or meterSigGrp or attributes used by staffDef and scoreDef to record this data within the - body of an MEI file.

-
Supplies the formal name of the namespace to which the elements documented by its children - belong. - - - - - - - Formal namespace identifier; that is, a uniform resource identifier (URI). - - - - - Prefix associated with the formal identifier. - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Indicates the extent of normalization or regularization of the original source carried out - in converting it to electronic form. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(notes statement)– Collects any notes providing information about a text additional to - that recorded in other parts of the bibliographic description. - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(other distinguishing characteristic) – Any characteristic that serves to differentiate a - work or expression from another. - - - - - - Describes a physical writing surface attached to the original document. - - - - - - - - - - - - The allowed positions of a patch depend on its parent element. - A patch element must contain either a folium - or a bifolium element. - - - - Describes the position of the patch on the parent folium / bifolium. - - - patch attached to outer recto side of bifolium. - - - patch attached to inner verso side of bifolium. - - - patch attached to inner recto side of bifolium. - - - patch attached to outer verso side of bifolium. - - - patch attached to recto side of folium. - - - patch attached to verso side of folium. - - - - Describes the method of attachment of the patch. - - - - - - patch is glued on surface beneath. - - - patch is sewn on surface beneath. - - - patch is pinned to the surface beneath. - - - patch is taped on surface beneath using an adhesive strip. - - - patch is attached on surface beneath using a staple. - - - -

A patch must always contain a folium or bifolium element. The @x and @y attributes are used to position the patch on its - parent surface by indicating the upper left corner of the patch. The size of the patch is - encoded using the @height and @width attributes on the child folium (or bifolium).

-
(performance duration) – Used to express the duration of performance of printed or - manuscript music or the playing time for a sound recording, videorecording, etc. - - - - - - - - - - - Holds a W3C duration value, e.g., "PT2H34M45.67S". - - - - -

- (performance medium) – Indicates the number and character of the performing forces used in - a musical composition. - - - - - - - - - - -

Arrangements are coded for the medium of the work being described, not for the original - medium.

-
(performance resource) – Name of an instrument on which a performer plays, a performer's - voice range, or a standard performing ensemble designation. - - - - - - - - - Indicates the number of performers. - - - - - Marks this instrument or vocal part as a soloist. Do not use this attribute for a solo - instrument which is not accompanied. - - - - Several instrumental or vocal resources treated as a group. - - - - - - - - - - Indicates the number of performers. - - - - -

The function of instrumentalists or vocalists is represented by the choice of perfRes and perfResList child elements. Arrangements - are coded for the medium of the work being described, not for the original medium.

-
(physical description) – Container for information about the appearance, construction, or - handling of physical materials, such as their dimension, quantity, color, style, and technique - of creation. - - - - - - - -

Dedicatory text and title page features may also be encoded here when they are not - transcribed as part of the front or back matter; i.e., when they are considered to be - meta-data rather than a transcription.

-
-

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
(physical medium) – Records the physical materials used in the source, such as ink and - paper. - - - - - - - - -

All materials may be described in a single physMedium element or - multiple elements may be used, one for each medium.

-
-

This element is modelled on elements in the Encoded Archival Description (EAD) standard. It - has the same function as the material element in the Text Encoding Initiative (TEI) - standard.

-
(plate number) – Designation assigned to a resource by a music publisher, usually printed - at the bottom of each page, and sometimes appearing also on the title page. - - - - - - - - - -

While it is often called a "plate number", it does not always contain numbers. The - facs attribute may be used to record the location of the plate number in a - facsimile image.

-
Playing speed for a sound recording is the speed at which the carrier must be operated to - produce the sound intended (e.g., 33 1/3 rpm, 19 cm/s, etc.). - - - - - - - The cost of access to a bibliographic item. - - - - - - - - - Numeric value capturing a cost. Can only be interpreted in combination with the - currency attribute. - - - [0-9]+\.[0-9]{2} - - - - Monetary unit. - - - - -

Best practice suggests the use of controlled vocabulary for the currency attribute, such as - the ISO 4217 list of currency designators.

-
(project description) – Project-level meta-data describing the aim or purpose for which - the electronic file was encoded, funding agencies, etc. together with any other relevant - information concerning the process by which it was assembled or collected. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
The record of ownership or custodianship of an item. - - - - - - - -

This element is modelled on elements in the Encoded Archival Description (EAD) and Text - Encoding Initiative (TEI) standards.

-
(publication statement) – Container for information regarding the publication or - distribution of a bibliographic item, including the publisher's name and address, the date of - publication, and other relevant details. - - - - - - -

When an item is unpublished, use only the unpub sub-element.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(revision description) – Container for information about alterations that have been made - to an MEI file. - - - - - - -

It is recommended that changes be recorded in reverse chronological order, with the most - recent alteration first.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(sampling declaration) – Contains a prose description of the rationale and methods used in - sampling texts in the creation of a corpus or collection. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Describes the type of score used to represent a musical composition (e.g., short score, - full score, condensed score, close score, etc.). - - - - - - - - Describes the principles according to which the musical text has been segmented, for - example into movements, sections, etc. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(series statement) – Groups information about the series, if any, to which a publication - belongs. - - - - - - - - -

The title sub-element records the series title, the respStmt element records the person or group responsible for the series, and the identifier element contains a series identifier. The contents element should be used when it is necessary to enumerate the content of the - series, but not describe each component. The seriesStmt element is - provided within seriesStmt for the description of a sub-series.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(sound channels) – Reflects the number of apparent sound channels in the playback of a - recording (monaural, stereophonic, quadraphonic, etc.). - - - - - - - - - Records the channel configuration in numeric form. - - - - -

The number of apparent playback channels can differ from the number of physical channels of - the recording medium, i.e., 2-track monophonic recordings. In this example, the soundChan - element should record the fact that there is a single output channel, while the trackConfig element should capture the existence of two physical tracks. - This element is analogous to MARC field 344 subfield g.

-
A bibliographic description of a source used in the creation of the electronic - file. - - - - - - - - - - - - - - - - @target attribute should - have content. - Each value in @target should correspond to the @xml:id attribute of a source or - manifestation element or be an external URI. - - - -

This element contains, or references via its target attribute, a description of - a source used in the creation of the electronic file. For description of a physical - embodiment of an expression of a work use the manifestation - element.

-

The data attribute may be used to reference one or more musical features found - in the content of this particular source.

-
-

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
(source description) – A container for the descriptions of the source(s) used in the - creation of the electronic file. - - - - - -

This element is recommended where the MEI file is a transcription of existing music, but is - not required when the data is originally created in MEI form.

-
(special reproduction characteristic) – The equalization system, noise reduction system, - etc. used in making the recording (e.g., NAB, DBX, Dolby, etc.). - - - - - - - - (standard values) – Specifies the format used when standardized date or number values are - supplied. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(system requirements) – System requirements for using the electronic item. - - - - - - - (tagging declaration) – Provides detailed information about the tagging applied to a - document. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Documents the usage of a specific element within the document. - - - - - - - - - @context attribute should - contain an XPath expression. - - - - Name of the element. - - - - - Circumstances in which the element appears, an XPath expression. - - - - - Number of occurrences in the defined context. - - - - - Number of occurrences in the defined context that have an xml:id - attribute. - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Defines a typology either implicitly, by means of a bibliographic citation, or explicitly - by a structured taxonomy. - - - - - - - - Collection of text phrases which describe a resource. - - - - - - - - - - When labels are used, - usually each term has one. - - - -

An external taxonomy from which all the descendant term elements are - drawn may be referred to using the target attribute.

-
(title statement) – Container for title and responsibility meta-data. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(track configuration) – Number of physical/input tracks on a sound medium (e.g., eight - track, twelve track). - - - - - - - - - Records the track configuration in numeric form. - - - - -

The number of apparent playback channels can differ from the number of physical channels of - the recording medium, i.e., 2-track monophonic recordings. In this example, the trackConfig - element should record the fact that there are two physical tracks on the sound medium, while - the soundChan element should be used to state that there is a single - output channel. This element may be mapped to MARC field 344 subfield e or subfield f as - appropriate.

-
(treatment history) – A record of the treatment the item has undergone (e.g., - de-acidification, restoration, etc.). - - - - - - - -

Treatment history may also comprise details of the treatment process (e.g., chemical - solutions used, techniques applied, etc.), the date the treatment was applied, etc.

-
-

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
(treatment scheduled) – Scheduled treatment, e.g. de-acidification, restoration, etc., for - an item. - - - - - - - -

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
(unpublished) – Used to explicitly indicate that a bibliographic resource is - unpublished. - - - - - - -

A short phrase indicating the nature of or the reason for the unpublished status may be - given as the element's content.

-
(usage restrictions) – Container for information about the conditions that affect use of a - bibliographic item after access has been granted. - - - - - - - - -

useRestrict may indicate limitations imposed by an owner, - repository, or legal statute (for example, copyright law) regarding the reproduction, - publication, or quotation of the item. It may also indicate the absence of restrictions, - such as when rights have been ceded to the public domain. Do not confuse this element with - the accessRestrict element, which holds information about conditions - affecting the availability of the material.

-
-

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
Contains a description of a watermark or similar device. - - - - - - - - - -

The facs attribute may be used to record the location of the watermark in a - facsimile image.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Provides a detailed description of a work — a distinct intellectual or artistic creation — - specifically its history, language use, and high-level musical attributes (e.g., key, tempo, - meter, medium of performance, and intended duration). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The perfDuration element captures the intended duration - of the work.

-
(work list) – Grouping mechanism for information describing non-bibliographic aspects of a - text. - - - - - - - Logical domain attributes. - - - - - - - Logical domain attributes. The n attribute should be used for verse numbers. Numbers need - not be consecutive; they may also be expressed as ranges, e.g. 2-3,6. - - Logical domain attributes. The n attribute should be used for verse numbers. Numbers need - not be consecutive; they may also be expressed as ranges, e.g. 2-3,6. - - Logical domain attributes. The n attribute should be used for repetition numbers. Numbers - need not be consecutive; they may also be expressed as ranges, e.g. 2-3,6. - - Groups elements that contain a lyric verse. - - - - - - Recurring lyrics, especially at the end of each verse or stanza of a poem or song lyrics; - a chorus. - - - - - - - - - - - - - -

The lb element is allowed here in order to facilitate karaoke - applications. The func attribute on lb may be used to - distinguish true line endings from those of line groups for these applications.

-
Division of a poem or song lyrics, sometimes having a fixed length, meter or rhyme scheme; - a stanza. - - - - - - - - - - - - - - - -

The lb element is allowed here in order to facilitate karaoke - applications. The func attribute on lb may be used to - distinguish true line endings from those of line groups for these applications.

-
Sung text for a specific iteration of a repeated section of music. - - - - - - - - - - - - - - -

The volta element is intended for those cases where the musical notation is repeated, but - the accompanying lyrics are not.

-
- Logical, that is, written, duration attribute values for the mensural repertoire. - - - - Two or three times as long as a longa. - - - Two or three times as long as a brevis. - - - Two times as long as a semibreve. - - - Half or one-third as long as a breve/brevis. - - - Half or one-third as long as a semibreve/semibrevis. - - - Half or one-third as long as a minima. - - - Half or one-third as long as a semiminima. - - - Half or one-third as long as a fusa. - - - - - Items in the Mensural repertoire that may be printed near a staff. - - - - Ligatures. - - - - - Logical domain attributes. - - - Provides an indication of the function of the ligature. - - - - - - - Used by staffDef and scoreDef to provide default values for attributes in the logical - domain related to mensuration. The tempus, prolatio, modusmaior, and modusminor attributes - (from the att.mensural.shared class) specify the relationship between the four principle - levels of note value, i.e., the long, breve, semibreve and minim, in mensural notation. - Modusminor describes the long-breve relationship, while tempus describes the breve-semibreve, - and prolatio the semibreve-minim relationship, respectively. Modusmaior is for the maxima-long - relationship. The proport.* attributes describe augmentation or diminution of the normal value - of the notes in mensural notation. - - - - - - Determines if a dot is to be added to the base symbol. - - - - - - The base symbol in the mensuration sign/time signature of mensural notation. - - - - - - Indicates the number lines added to the mensuration sign. For example, one slash is - added for what we now call 'alla breve'. - - - - - - Together, proport.num and proport.numbase specify a proportional change as a ratio, - e.g., 1:3. Proport.num is for the first value in the ratio. - - - - - - Together, proport.num and proport.numbase specify a proportional change as a ratio, - e.g., 1:3. Proport.numbase is for the second value in the ratio. - - - - - - - Shared attributes in the mensural repertoire. - - - Describes the maxima-long relationship. - - - - - - Describes the long-breve relationship. - - - - - - Describes the semibreve-minim relationship. - - - - - - Describes the breve-semibreve relationship. - - - - - - - Analytical domain attributes in the Mensural repertoire. - - - Indicates this element's participation in a ligature. - - - - - - - - Gestural domain attributes. - - - - - Logical domain attributes in the Mensural repertoire. - - Logical domain attributes. These attributes describe augmentation or diminution of the - normal value of the notes in mensural notation as a ratio. - - - - - Gestural domain attributes. - - - - - Visual domain attributes. - - - States how many spaces are covered by the rest. - - - - - - - Logical domain attributes for a score in the mensural repertoire. The values set in these - attributes act as score-wide defaults for attributes that are not set in descendant - elements. - - - - - Visual domain attributes for scoreDef in the mensural repertoire. - - - - - Logical domain attributes for staffDef in the mensural repertoire. - - - - - Visual domain attributes for the mensural repertoire. - - - - - Groups event elements that occur in the mensural repertoire. - - - - - Groups notated events that may appear at the layer level in the mensural - repertoire. - - - - - Groups elements that may appear as part of a section in the mensural repertoire. - - - - - Groups elements that may appear in the declaration of staff features. - - - - - Groups elements that are components of a staff in the mensural repertoire. - - - - A mensural notation symbol that combines two or more notes into a single sign. - - - - - - - - - - -

The rhythmic meaning of the components of a ligature is typically contextual, not absolute; - therefore, an interpretative duration may be encoded on each of the components using either - the dur.ges attribute or the num and numbase attribute - pair. The ligature element should not be used for - brackets in modern notation that indicate notes that were part of a ligature in the original - source.

-
(mensuration) – Collects information about the metrical relationship between a note value - and the next smaller value; that is, either triple or duple. - - - - - - - - - - - -

The mensur element is provided for the encoding of mensural notation. - The slash attribute indicates the number lines added to the mensuration sign. For - example, one slash is added for what we now call 'alla breve'.

-
(proportion) – Description of note duration as arithmetic ratio. - - - - - - - - - - - -

The proport element is provided for the encoding of mensural notation. It allows the - description of note durations as arithmetic ratios. While mensuration refers to the normal - relationships between note durations, proportion affects the relations of the note durations - to the tactus.

-
- Attributes that record MIDI channel information. - - - Records a MIDI channel value. - - - - - - Specifies the 'on' part of the duty cycle as a percentage of a note's duration. - - - - - - Sets the MIDI port value. - - - - - - Sets the MIDI track. - - - - - - - Logical domain attributes. - - Attributes which identify a MIDI instrument. - - - Provides a way of pointing to a MIDI instrument definition. It must contain the ID of - an instrDef element elsewhere in the document. - - - - - - - @instr attribute - should have content. - The value in @instr should correspond to the @xml:id attribute of an instrDef - element. - - - - - - - Attributes common to MIDI events. - - - - - - - - - Logical domain attributes. - - - - - - - Attributes that record MIDI instrument information. - - - - Only one of @midi.instrname and @midi.instrnum - allowed. - - - - - - - Only one of @midi.patchname and @midi.patchnum - allowed. - - - - - - Captures the General MIDI instrument number. Use an integer for a 0-based value. An - integer preceded by "in" indicates a 1-based value. - - - - - - Provides a General MIDI label for the MIDI instrument. - - - - - - Sets the instrument's position in a stereo field. MIDI values of 0 and 1 both pan - left, 127 or 128 pans right, and 63 or 64 pans to the center. Positve percentage values - pan to the right, negative ones to the left. 0% is centered. - - - - - - Records a non-General MIDI patch/instrument name. - - - - - - Records a non-General MIDI patch/instrument number. - - - - - - Sets the instrument's volume. - - - - - - - Attributes that record MIDI numbers. - - - MIDI number in the range set by data.MIDIVALUE. - - - - - - - Attributes that record MIDI tempo information. - - - Captures the number of *quarter notes* per minute. In MIDI, a beat is always defined - as a quarter note, *not the numerator of the time signature or the metronomic - indication*. - - - - - - Records the number of microseconds per *quarter note*. In MIDI, a beat is always - defined as a quarter note, *not the numerator of the time signature or the metronomic - indication*. At 120 quarter notes per minute, each quarter note will last 500,000 - microseconds. - - - - - - - Attributes that record MIDI values. - - - MIDI number. - - - - - - - Attributes that record terminal MIDI values. - - - MIDI number. - - - - - - - MIDI attributes pertaining to key velocity. - - - MIDI Note-on/off velocity. - - - - - - - Attributes that record time-base information. - - - Indicates the number of pulses (sometimes referred to as ticks or divisions) per - quarter note. Unlike MIDI, MEI permits different values for a score and individual - staves. - - - - - - - Groups elements which group MIDI-like elements. - - - - - - (control change) – MIDI parameter/control change. - - - - - - - -

The num attribute specifies a MIDI parameter number, while val - contains the parameter value. Each must fall in the range 0-127.

-
(channel) – MIDI channel assignment. - - - - - - MIDI number in the range set by data.MIDICHANNEL. - - - - (channel pressure) – MIDI channel pressure/after touch. - - - - - - -

The value of the num attribute must be in the range 0-127.

-
MIDI cue point. - - - - - - Arbitrary MIDI data in hexadecimal form. - - - - - -

The element's content must be wrapped in a CDATA section to avoid parsing errors.

-
(instrument definition) – MIDI instrument declaration. - - - - - - - - - -

This element provides a starting or default instrument declaration for a staff, a group of - staves, or a layer. Following scoreDef, staffDef, layerDef, or MIDI prog elements may then - change the instrument as necessary.

-
(instrument group) – Collects MIDI instrument definitions. - - - - MIDI marker meta-event. - - - - - - MIDI text meta-event. - - - - - - Container for elements that contain information useful when generating MIDI output. - - - - - - - - - -

The label attribute can be used to differentiate between multiple MIDI data - streams, e.g. quantized/unquantized, straight/swing, ornamented/as notated, etc.

-
MIDI note-off event. - - - - - - MIDI note-on event. - - - - - - MIDI port. - - - - - - (program) – MIDI program change. - - - - - - (sequence number) – MIDI sequence number. - - - - - - Number in the range 0-65535. - - - 65535 - - - (track name) – MIDI track/sequence name. - - - - - - (velocity) – MIDI Note-on/off velocity. - - - - - - - Indicates whether this is note-on or note-off velocity data. - - - Note-on velocity. - - - Note-off velocity. - - - - Attributes that express the relationship between a component and its host. - - - - - - - The comptype attribute may occur on - only when it is a descendant of a - componentList. - - - - - - A physical and logical part of entity. - - - A physical, but not logical component of the entity, usually included as part of - the binding process. - - - A logical component of the entity physically held elsewhere. - - - - - - Groups elements that may appear inline when the msdesc module is active. - - - - Holds a description of any additional material bound with an item, such as - non-contemporaneous documents or fragments. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(addition description) – Provides a description of significant additions found within an - item, such as marginalia or other annotations. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(binding) – Contains a description of one binding, i.e. type of covering, boards, etc. - applied to an item. - - - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(binding description) – Describes the present and former bindings of an item. - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Describes the system used to ensure correct ordering of the quires making up an item, - typically by means of annotations at the foot of the page. - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Records a description of how the leaves or bifolia of an item are physically - arranged. - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains a statement providing information regarding the date, place, agency, or reason - for production of the item. - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(decoration description) – Contains a description of the decoration of an item. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(decoration note) – Contains a description of one or more decorative features of an - item. - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains the explicit of a manuscript item; that is, the closing words of the text proper, - exclusive of any rubric or colophon which might follow it. - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Describes the numbering system or systems used to count the leaves or pages in a - codex. - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains a heraldic formula or phrase, typically found as part of a blazon, coat of arms, - etc. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Describes how text is laid out on the page, including information about any ruling, - pricking, or other evidence of page-preparation techniques. - - - - - - - Specifies the number of columns per page. - - - - -

A single number indicates that all pages have this number of columns. Two numbers mean - that the number of columns per page varies between the values supplied.

-
-
- Specifies the number of ruled text lines per column. - - - - -

A single number indicates that all columns have this number of ruled lines. Two - numbers mean that the number of text lines per column varies between the values - supplied.

-
-
- Specifies the number of written text lines per column. - - - - -

A single number indicates that all columns have this number of written text lines. Two - numbers mean that the number of text lines per column varies between the values - supplied.

-
-
- Specifies the number of ruled staves per column. - - - - -

A single number indicates that all columns have this number of ruled staves. Two - numbers mean that the number of ruled staves per column varies between the values - supplied.

-
-
- Specifies the number of written staves per column. - - - - -

A single number indicates that all columns have this number of written staves. Two - numbers mean that the number of written staves per column varies between the values - supplied.

-
-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(layout description) – Collects layout descriptions. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Defines a location within a manuscript or manuscript component, usually as a (possibly - discontinuous) sequence of folio references. - - - - - - - - Identifies the foliation scheme in terms of which the location is being specified by - pointing to some foliation element defining it, or to some other equivalent - resource. - - - - - Specifies the starting point of the location in a normalized form. - - - - - Specifies the end-point of the location in a normalized form. - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(locus group) – Groups locations which together form a distinct but discontinuous item - within a manuscript or manuscript part, according to a specific foliation. - - - - - - - - Identifies the foliation scheme in terms of which the location is being specified by - pointing to some foliation element defining it, or to some other equivalent - resource. - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains a string of words through which a manuscript signals the beginning or end of a - text division, often with an assertion as to its author and title, which is in some way set - off from the text itself, usually in red ink, or by use of different size or type of script, - or some other such visual device. - - - - - - - - - - - Signals beginning of a text division. - - - Makrs the end of a text division. - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(script description) – Contains a description of the letters or characters used in an - autographic item. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(script note) – Describes a particular script distinguished within the description of an - autographic item. - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
A single seal or similar attachment. - - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(seal description) – Describes the seals or similar external attachments applied to an - item. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(second folio) – Marks the word or words taken from a fixed point in a codex (typically - the beginning of the second leaf) in order to provide a unique identifier for the item. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Provides a description of the leaf or quire signatures found within a codex. - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains a word or phrase describing an official mark indicating ownership, genuineness, - validity, etc. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Provides a description of the physical support material of a written item. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(support description) – Groups elements describing the physical support material of an - item. - - - - - - - - Short, project-defined name for the material composing the majority of the - support. - - - - - - Paper. - - - Parchment. - - - Mixed materials. - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(type description) – Contains a description of the typefaces or other aspects of the - printing of a printed source. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(type note) – Describes a particular font or other significant typographic feature of a - printed resource. - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
- Groups elements used as part of a physical address. - - - - - Groups elements which form part of a geographic name. - - - - - Groups elements which contain names of individuals or corporate bodies. - - - - - - Groups geographic name elements. - - - - - - Groups elements that serve as stylistic labels. - - - - - Groups place name elements. - - - - - Groups elements which form part of a personal name. - (additional name) – Contains an additional name component, such as a nickname, epithet, or - alias, or any other descriptive phrase used within a personal name. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains the name of a geopolitical unit consisting of two or more nation states or - countries. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(corporate name) – Identifies an organization or group of people that acts as a single - entity. - - - - - - - - - - -

Examples of corporate entities include names of associations, institutions, business firms, - non-profit enterprises, governments, government agencies, projects, programs, religious - bodies, churches, conferences, athletic contests, exhibitions, expeditions, fairs, and - ships. Usually, secondary name parts are encoded in corpName - sub-elements. The name of the list from which a controlled value is taken may be recorded - using the auth attribute.

-
-

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
Contains the name of a geopolitical unit, such as a nation, country, colony, or - commonwealth, larger than or administratively superior to a region and smaller than a - bloc. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains the name of any kind of subdivision of a settlement, such as a parish, ward, or - other administrative or geographic unit. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(family name) – Contains a family (inherited) name, as opposed to a given, baptismal, or - nick name. - - - - - - - - - - Contains a forename, given or baptismal name. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(generational name component) – Contains a name component used to distinguish otherwise - similar names on the basis of the relative ages or generations of the persons named. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(geographical feature name) – Contains a common noun identifying a geographical - feature. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(geographic name) – The proper noun designation for a place, natural feature, or political - jurisdiction. - - - - - - - - - - -

Examples include Black Forest; Baltimore, Maryland; and Quartier Latin, Paris. Geographic - name parts can be encoded using geogName sub-elements. For greater - specificity, however, use district, settlement, - region, country, and bloc - sub-elements. The name of the list from which a controlled value is taken, such as the - Thesaurus of Geographic Names (TGN), may be recorded using the auth - attribute.

-
-

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
(name link) – Contains a connecting phrase or link used within a name but not regarded as - part of it, such as "van der" or "of", "from", etc. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(period name) – A label that describes a period of time, such as 'Baroque' or '3rd Style - period'. - - - - - - - - - - -

The name of the list from which a controlled value is taken may be recorded using the - auth attribute.

-
(personal name) – Designation for an individual, including any or all of that individual's - forenames, surnames, honorific titles, and added names. - - - - - - - - - - -

Parts of a personal name may be captured using persName sub-elements. - For greater specificity, however, use foreName, famName, genName, addName, genName, - nameLink, and roleName elements. The name of the list from which a controlled value for - persName is taken may be recorded using the auth attribute.

-
-

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
(postal box or post office box) contains a number or other identifier for some postal - delivery point other than a street address. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(postal code) contains a numerical or alphanumeric code used as part of a postal address - to simplify sorting or delivery of mail. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains the name of an administrative unit such as a state, province, or county, larger - than a settlement, but smaller than a country. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(role name) – Contains a name component which indicates that the referent has a particular - role or position in society, such as an official title or rank. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains the name of a settlement such as a city, town, or village identified as a single - geopolitical or administrative unit. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
full street address including any name or number identifying a building as well as the - name of the street or route on which it is located. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(style name) – A label for a characteristic style of writing or performance, such as - 'bebop' or 'rock-n-roll'. - - - - - - - - - - -

Do not confuse this element with the periodName element. The name of - the list from which a controlled value is taken may be recorded using the auth - attribute.

-
- Items in the Neume repertoire that may be printed near a staff. - - Logical domain attributes. - - - - - - - - - - - Logical domain attributes. - - - - - - - - - - - Logical domain attributes. - - Logical domain attributes. - - - - - - - - - - Captures written octave information. - - - 9 - - unknown - - - - - Contains a written pitch name. - - - [a-g]|unknown - - - - - - Attributes that record visual details of neume notation. - - - - - - - - - Connection to the previous component within the same neume; this attribute should not - be used for the first component of a neume. - - - Gapped; not connected. - - - Looped. - - - Extended. - - - - - Records direction of curvature. - - - Anti-clockwise curvature. - - - Clockwise curvature. - - - - - Pen stroke has an extension; specific to Hispanic notation. - - - - - - Indicates participation in a ligature. - - - - - - Length of the pen stroke relative to the previous component within the same neume; - this attribute should not be used for the first component of a neume. - - - Longer. - - - Shorter. - - - - - Direction of the initial direction for an s-shaped pen stroke; i.e., "w" for the - standard letter S, "e" for its mirror image, "s" for the letter S turned 90-degrees - anti-clockwise, and "n" for its mirror image. - - - - - - Direction of the pen stroke. - - - - - - - Logical domain attributes. - - - - - - - - - Logical domain attributes. - - - - - - - - - Logical domain attributes. - - Logical domain attributes. - - Logical domain attributes. - - - - - - - - - - - Logical domain attributes. - - Logical domain attributes. - - - - - Groups event elements that occur in the neume repertoire. - - - - - - Groups notated events that may appear at the layer level in the neume repertoire. - - - - - Groups elements that modify neume components. - - Groups elements that modify neume-like features. - - Groups elements that may occur within a neume. - - Groups elements that may appear as part of a section in the neume repertoire. - - - - - Groups elements that are components of a staff in the neume repertoire. - - - - - Groups elements that accommodate neumed text. - - - - - Groups elements that may appear as part of the content of a syllable. - Episema. - - - - - - - - Hispanic tick. - - - - - - - - - - Liquescent. - - - - - - - - Sign representing a single pitched event, although the exact pitch may not be - known. - - - - - - - - - - - - - - - - Designation which characterizes the element in some sense, using any convenient - classification scheme or typology that employs single-token labels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Collection of one or more neume components. - - - - - - - - - - Sign representing one or more musical pitches. - - - - - - - - - - - - - - - - Designation which characterizes the element in some sense, using any convenient - classification scheme or typology that employs single-token labels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Oriscus. - - - - - - - - Quilisma. - - - - - - - - Significantive letter(s). - - - - - - - - - - Strophicus. - - - - - - - - Neume notation can be thought of as "neumed text". Therefore, the syllable element - provides high-level organization in this repertoire. - - - - - - - - - - - Temporal alignment attributes. - - - - @when attribute should - have content. - A - value in @when should correspond to the @xml:id attribute of a when - element. - - - - - - Indicates the point of occurrence of this feature along a time line. Its value must be - the ID of a when element elsewhere in the document. - - - - - - (audio/video file) – References an external digital audio or video file. - - - - - - - - - - - - An avFile child of clip cannot have - children. - - - -

This element is analogous to the graphic element in the figtable - module.

-
Defines a time segment of interest within a recording or within a digital audio or video - file. - - - - - - - - - - - - When @begin or @end - is used, @betype should appear on clip or one of its ancestors. - - - -

This element is analogous to the zone element in the facsimile - module.

-
A presentation of one or more musical works. - - - - - - -

The decls attribute may be used to link the collection with a particular source - described in the header. This element is analogous to the facsimile - element in the facsimile module.

-
A recorded performance. - - - - - - - - - - - - - When @begin or @end is used, @betype should be - present. - - - -

The startid attribute may be used to hold a reference to the first feature - occurring in this performance. This element is analogous to the surface element in the facsimile module.

-
Indicates a point in time either absolutely (using the absolute attribute), or relative to - another when element (using the since, interval and inttype attributes). - - - - - - - - @since must be present when @interval is used. - The value in @since should correspond to the @xml:id attribute of a when - element. - - - When @interval contains an integer value, - @inttype cannot be 'time'. - - - When @interval contains a time value, @inttype must - be 'time'. - - - - - - When @absolute is - present, @abstype should be present or @betype should be present on an - ancestor. - - - - Provides an absolute value for the time point. - - - - - Specifies the time interval between this time point and the one designated by the - since attribute. This attribute can only be interpreted meaningfully in conjunction with - the inttype attribute. - - - - 1 - - - - - - Specifies the kind of values used in the absolute attribute. - - - - - Specifies the kind of values used in the interval attribute. - - - - - Identifies the reference point for determining the time of the current when element, - which is obtained by adding the interval to the time of the reference point. The value - should be the ID of another when element within the same parent element. If the since - attribute is omitted and the absolute attribute is not specified, then the reference point - is understood to be the immediately preceding when element. - - - - - - - @since attribute - should have content. - The value in @since should correspond to the @xml:id attribute of a when - element. - - - - -

The data attribute may be used to reference one or more features that occur at - this point in time.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
- Groups elements used for purposes of location and reference. - - - - (pointer) – Defines a traversible pointer to another location, using only attributes to - describe the destination. - - - - - - - - - -

Unlike the ref element, ptr cannot contain text - or sub-elements to describe the referenced object.

-
-

This element is modelled on elements in the Encoded Archival Description (EAD) and Text - Encoding Initiative (TEI) standards.

-
(reference) – Defines a traversible reference to another location. May contain text and - sub-elements that describe the destination. - - - - - - - - - - -

Unlike the ptr element, ref may contain text - and sub-elements to describe the destination.

-
-

This element is modelled on elements in the Encoded Archival Description (EAD) and TEI - standards.

-
- Permits any XML elements except those from the MEI or SVG namespace. - - - - - - - - - - - - - - - - Groups elements that contain meta-data about a single page. - - - - - - - Groups elements that may appear as part of the music element. - - - - - - - Provides a choice between structured and unstructured/mixed content. - - - - - Groups elements that may appear as part of a bibliographic title. - - - - - Datatypes for values in begin, end, abstype and inttype attributes. - - - - Bytes. - - - Synchronized Multimedia Integration Language. - - - MIDI clicks. - - - MIDI machine code. - - - MIDI time code. - - - SMPTE 25 EBU. - - - SMPTE 24 Film Sync. - - - SMPTE 30 Drop. - - - SMPTE 30 Non-Drop. - - - SMPTE 29.97 Drop. - - - SMPTE 29.97 Non-Drop. - - - AES Time-code character format. - - - ISO 24-hour time format: HH:MM:SS.ss. - - - - - Logical domain attributes. - - - - - - - Records the function of an accidental. - - - Cautionary accidental. - - - Editorial accidental. - - - - - - Attributes for capturing momentary pitch inflection. - - - Captures a written accidental. - - - - - - - Analytical domain attributes. - - - - - Gestural domain attributes. - - Logical domain attributes. - - Visual domain attributes. - - Logical domain attributes. - - - - - - - - Analytical domain attributes. - - Gestural domain attributes. - - Visual domain attributes. - - - - - - Logical domain attributes for annot. Values for the type attribute can be taken from any - convenient typology of annotation suitable to the work in hand; e.g. annotation, gloss, - citation, digression, preliminary, temporary, etc. - - - - - - - - - - - - - Logical domain attributes. - - - - - - Attributes for capturing the written signs that describe the method of performance. - - - Encodes the written articulation(s). Articulations are normally encoded in order from - the note head outward; that is, away from the stem. See additional notes at att.vis.note. - Only articulations should be encoded in the artic attribute; for example, fingerings - should be encoded using the fing element. - - - - - - - Logical domain attributes. - - - - - - - - Indicates the next section or movement to be performed. - - - - - - - @target attribute - should have content. - The value in @target should correspond to the @xml:id attribute of a section or - mdiv element. - - - - - - - Attributes that describe the intended audience. - - - The intended audience. - - - Internal use only. - - - Available to all audiences. - - - - - - Attributes that record the number of dots of augmentation. - - - Records the number of augmentation dots required by a written dotted duration. - - - - - - - An element with a dots attribute must also have a dur - attribute. - - - - - - -

The dots attribute records the number of augmentation dots necessary to - represent a non-power-of-two duration. This is usually, but not always, the number of dots - displayed. For example, a note with this attribute will result in displayed dots, while a - glissando will not.

-
-
- Attributes that describe the source of a controlled value. - - - - - - A name or label associated with a controlled vocabulary or other authoritative source - for this element or its content. - - - - - - A web-accessible location of the controlled vocabulary or other authoritative source - of identification or definition for this element or its content. This attribute may - contain a complete URI or a partial URI which is completed by the value of the codedval - attribute. - - - - - - - Logical domain attributes. - - - - - - Records the appearance and usually the function of the bar line. - - - - - - - Attributes that capture the placement of bar lines. - - - States the length of barlines in virtual units. The value must be greater than 0 and - is typically equal to 2 times (the number of staff lines - 1); e.g., a value of '8' for a - 5-line staff. - - - 0 - - - -

This attribute is ignored if the value of the bar.style attribute is "mensur".

-
-
- - Records the method of barring. - - - - - - - "mensur" not allowed in this - context. - - - - - - Denotes the staff location of bar lines, if the length is non-standard; that is, not - equal to 2 times (the number of staff lines - 1). - - - - -

The location may include staff lines, the spaces between the lines, and the spaces - directly above and below the staff. The value ranges between 0 (just below the staff) to - 2 * number of staff lines (directly above the staff). For example, on a 5-line staff the - lines would be numbered 1, 3, 5, 7, and 9 while the spaces would be numbered 0, 2, 4, 6, - 8, and 10. So, a value of '9' puts the bar line through the top line of the staff.

-

This attribute is ignored if the value of the bar.style attribute is "mensur".

-
-
-
-
- Attributes that form the basis of the att.common class. - - - - - - - Provides a base URI reference with which applications can resolve relative URI - references into absolute URI references. - - - - - - - Bibliographic attributes. - - - Contains a reference to a field or element in another descriptive encoding system to - which this MEI element is comparable. - - - - - - -

Mapping elements from one system to another via analog may help a repository - harvest selected data from the MEI file to build a basic catalog record. The encoding system - from which fields are taken must be specified. When possible, subfields as well as fields - should be specified, e.g., subfields within MARC fields.

-
-
- Logical domain attributes. - - - - - - - - - Attributes that indicate the calendar system of a date or other datable element. - - - Indicates the calendar system to which a date belongs, for example, Gregorian, Julian, - Roman, Mosaic, Revolutionary, Islamic, etc. - - - - - - - Attributes that can be used to associate a representation such as a name or title with - canonical information about the object being named or referenced. - - - A value that represents or identifies other data. Often, it is a primary key in the - database or a unique value in the coded list identified by the auth or - auth.uri attributes. - - - - - - - Logical domain attributes for chord. The artic, dots, and dur attributes encode the - written articulations, augmentation dots, and duration values. The beam, fermata, lv, slur, - syl, tie, and tuplet attributes may be used to indicate the attachment of these things to this - chord. If visual information about these things needs to be recorded, then either the elements - corresponding to these attributes or the attributes available in the att.vis.chord class - should be employed. - - - - - - - - - - - Attributes which can be used to classify features. - - - Contains one or more URIs which denote classification terms that apply to the entity - bearing this attribute. - - - - - - - The value in @class must either correspond to the @xml:id attribute of a category - element or be an external URL. - - - - - - - Logical domain attributes. - - - - - - - - - Records the function of the clef. A "cautionary" clef does not change the following - pitches. - - - - - - - Used by staffDef and scoreDef to provide default values for attributes in the logical - domain related to clefs. - - - - An 'F', 'C', or 'G' clef requires that its position be - specified. - - - A TAB or percussion clef requires that the number of lines be - specified. - - - - - - Encodes a value for the clef symbol. - - - - - - Contains a default value for the position of the clef. The value must be in the range - between 1 and the number of lines on the staff. The numbering of lines starts with the - lowest line of the staff. - - - - - - Records the amount of octave displacement to be applied to the clef. - - - - - - Records the direction of octave displacement to be applied to the clef. - - - - - - - Logical domain attributes. - - Attributes that record the shape of a clef. - - - - When @shape is present, @line must also be - specified. - - - - - - Describes a clef's shape. - - - - - - - Visual color attributes. - - - Used to indicate visual appearance. Do not confuse this with the musical term 'color' - as used in pre-CMN notation. - - - - - - - Indication of coloration. - - - Indicates this feature is 'colored'; that is, it is a participant in a change in - rhythmic values. In mensural notation, coloration is indicated by colored notes (red, - black, etc.) where void notes would otherwise occur. In CMN, coloration is indicated by an - inverse color; that is, the note head is void when it would otherwise be filled and vice - versa. - - - - - - - Attributes common to many elements. - - - - - - - - - - Attributes shared by events which rely on other events for their existence. For example, a - slur/phrase marking must be drawn between or over a group of notes. The slur is therefore a - control event. - - - - - - - - - - - - This attribute class records the position of a feature within a two-dimensional coordinate - system. - - - Indicates the upper-left corner x coordinate. - - - - - - Indicates the upper-left corner y coordinate. - - - - - - Indicates the lower-right corner x coordinate. - - - - - - Indicates the lower-left corner x coordinate. - - - - - - - Attributes that describe "cue-ness". - - - - - - - - - Attributes that describe curvature. - - - Records the placement of Bezier control points as a series of pairs of space-separated - values; e.g., 19 45 -32 118. - - - - - - Describes a curve as one or more pairs of values with respect to an imaginary line - connecting the starting and ending points of the curve. The first value captures a - distance to the left (positive value) or right (negative value) of the line, expressed in - virtual units. The second value of each pair represents a point along the line, expressed - as a percentage of the line's length. N.B. An MEI virtual unit (VU) is half the distance - between adjacent staff lines. - - - - - - Describes a curve with a generic term indicating the direction of curvature. - - - Upward curve. - - - Downward curve. - - - A "meandering" curve, both above and below the items it pertains to. - - - - - - Attributes that record the visual rendition of curves. - - - Describes the line style of a curve. - - - - - - Width of a curved line. - - - - - - - Logical domain attributes. - - - - - - Encodes the target note when its pitch differs from the pitch at which the custos - appears. - - - - - - - @target attribute - should have content. - The value in @target should correspond to the @xml:id attribute of a note - element. - - - - - - - Attributes common to dates. - - - Contains the end point of a date range in standard ISO form. - - - - - - Provides the value of a textual date in standard ISO form. - - - - - - Contains an upper boundary for an uncertain date in standard ISO form. - - - - - - Contains a lower boundary, in standard ISO form, for an uncertain date. - - - - - - Contains the starting point of a date range in standard ISO form. - - - - - - - Attributes for linking metadata to data. - - - Used to link metadata elements to one or more data-containing elements. - - - - - - - @data attribute should - have content. - The value in @data should correspond to the @xml:id attribute of a descendant of - the music element. - - - - - - - Logical domain attributes. - - - - - Provides attributes for elements which may be associated with particular contextual - elements within the header. - - - Identifies one or more metadata elements (other than classification terms) within the - header, which are understood to apply to the element bearing this attribute and its - content. - - - - - - - @decls attribute - should have content. - Each value in @decls should correspond to the @xml:id attribute of an element - within the metadata header. - No value in @decls should correspond to the @xml:id attribute of a classification - term. Use @class for this purpose. - - - - - - - Attributes that capture the dimensions of an entity. - - - - - - Logical domain attributes. - - - - - - - - Attributes that describe distance from the staff. - - - Records the default distance from the staff for dynamic marks. - - - - - - Records the default distance from the staff of harmonic indications, such as guitar - chord grids or functional labels. - - - - - - Determines how far from the staff to render text elements. - - - - - - - Logical domain attributes. - - - - - - Records the function of the dot. - - - Augmentation dot. - - - Dot of division. - - - - - - Attributes that permit total duration to be represented by multiple values. - - - When a duration cannot be represented as a single power-of-two value, multiple - space-separated values that add up to the total duration may be used. - - - - - - - Attributes that provide a durational default value. - - - Contains a default duration in those situations when the first note, rest, chord, etc. - in a measure does not have a duration specified. - - - - - - Along with numbase.default, describes the default duration as a ratio. num.default is - the first value in the ratio. - - - - - - Along with num.default, describes the default duration as a ratio. numbase.default is - the second value in the ratio. - - - - - - - Attributes that express duration in musical terms. - - - Records the duration of a feature using the relative durational values provided by the - data.DURATION datatype. - - - - - - - Attributes that describe duration as a ratio. - - - Along with numbase, describes duration as a ratio. num is the first value in the - ratio, while numbase is the second. - - - - - - Along with num, describes duration as a ratio. num is the first value in the ratio, - while numbase is the second. - - - - - - - Logical domain attributes. - - - - - - - - Attributes that capture characters used to enclose symbols having a cautionary or - editorial function. - - - Records the characters often used to mark accidentals, articulations, and sometimes - notes as having a cautionary or editorial function. For an example of cautionary - accidentals enclosed in parentheses, see Read, p. 131, ex. 9-14. - - - - - - - Logical domain attributes. - - - - - Attributes that record ending style information - - - Describes where ending marks should be displayed. - - - Ending rendered only above top staff. - - - Ending rendered above staves that have bar lines drawn across them. - - - Endings rendered above staff groups. - - - - - - Attributes that apply to all written events, e.g., note, chord, rest, etc. - - - - - - - - - Attributes describing the support for and the certainty of an assertion. - - - Signifies the degree of certainty or precision associated with a feature. - - - - - - Indicates the nature of the evidence supporting the reliability or accuracy of the - intervention or interpretation. - - - - - - There is evidence within the document to support the intervention. - - - There is evidence outside the document to support the intervention. - - - The assertion has been made by the editor, cataloguer, or scholar on the basis of - their expertise. - - - - - - Attributes that describe extension symbols, typically lines. Members of this class are - also typically members of the att.lineRend class. - - - - - - Indicates the presence of an extension symbol, typically a line. - - - - - - - Provides attributes for describing the size of an entity. - - - - - - - Captures a measurement, count, or description. When extent contains a numeric value, - use the unit attribute to indicate the measurement unit. - - - - - - - The @unit attribute is - recommended. - - - Separation into value (@extent) and unit - (@unit) is recommended. - - - - - - - Attributes indicating the attachment of a fermata to the feature. - - - Indicates the attachment of a fermata to this element. If visual information about the - fermata needs to be recorded, then a fermata element should be - employed instead. - - - - - - - Attributes that deal with string filing characteristics. - - - Holds the number of initial characters (such as those constituting an article or - preposition) that should not be used for sorting a title or name. - - - - - - - Logical domain attributes. - - - - - - - Indicates the nesting level of staff grouping symbols. - - - - - - - Attributes which identify a document hand. - - - Signifies the hand responsible for an action. The value must be the ID of a hand element declared in the header. - - - - - - - @hand attribute should - have content. - Each value in @hand should correspond to the @xml:id attribute of a hand - element. - - - - - - - Attributes that describe vertical size. - - - Measurement of the vertical dimension of an entity. - - - - - - - Attributes that record horizontal alignment. - - - Records horizontal alignment. - - - - - - - Attributes that uniquely identify an element. - - - - Regularizes the naming of an element and thus facilitates building links between it - and other resources. Each id attribute within a document must have a unique value. - - - - - - - Attributes which record the type of an electronic resource. - - - Specifies the applicable MIME (multimedia internet mail extension) type. The value - should be a valid MIME media type defined by the Internet Engineering Task Force in RFC - 2046. - - - - - - - Attributes indicating that elements are semantically linked; that is, while the parts are - encoded separately, together they may be thought of as a single intellectual object. - - - Used for linking visually separate entities that form a single logical entity, for - example, multiple slurs broken across a system break that form a single musical phrase. - Also used to indicate a measure which metrically completes the current one. Record the - identifiers of the separately encoded components, excluding the one carrying the - attribute. - - - - - - - @join attribute should - have content. - Each - value in @join should correspond to the @xml:id attribute of an - element. - - - - - - - Logical domain attributes. - - - - - - Logical domain attributes. - - - Written key signature. - - - - - - -

Mixed key signatures, e.g. those consisting of a mixture of flats and sharps (Read, p. 143, - ex. 9-39), and key signatures with unorthodox placement of the accidentals (Read, p. 141) - can be encoded using the keySig element.

-
-
- Used by staffDef and scoreDef to provide default values for attributes in the logical - domain that are related to key signatures. - - - Written key signature. - - - - - - -

Mixed key signatures, e.g. those consisting of a mixture of flats and sharps (Read, p. 143, - ex. 9-39), and key signatures with unorthodox placement of the accidentals (Read, p. 141) - can be encoded using the keySig element.

-
-
- - - Captures text to be used to generate a label for the element to which it's attached, a - "tool tip" or prefatory text, for example. Should not be used to record document - content. - - - - -

label is used to provide a display label for an element's contents, for - example in the form of a "tool tip" or as the "name" when the element's contents are - treated as the "value" in a "name-value pair". Unlike n, label may - contain space characters.

-

Don't confuse this attribute with the label element, which - records document content.

-
-
-
-
- Language attributes common to text elements. - - - - Identifies the language of the element's content. The values for this attribute are - language 'tags' as defined in BCP 47. All language tags that make use of private use - sub-tags must be documented in a corresponding language element in the MEI header whose id - attribute is the same as the language tag's value. - - - - - - Specifies the transliteration technique used. - - - - -

There is no standard list of transliteration schemes.

-
-
-
- -

BCP 47 is described at https://tools.ietf.org/html/bcp47. The IANA Subtag Registry, from which BCP 47 - language tags are constructed, may be found at www.iana.org/assignments/language-subtag-registry. A tool for locating subtags and - validating language tags is available at https://r12a.github.io/apps/subtags.

-
-
- Logical domain attributes. - - - - - - Provides a mechanism for linking the layer to a layerDef element. - - - - - - - @def attribute should - have content. - The value in @def should correspond to the @xml:id attribute of a layerDef - element. - - - - - - - Logical domain attributes. - - - - - - - - Attributes that identify the layer to which a feature applies. - - - Identifies the layer to which a feature applies. - - - - - - - Attributes for identifying the staff line with which a feature is associated. - - - Indicates the line upon which a feature stands. The value must be in the range between - 1 and the number of lines on the staff. The numbering of lines starts with the lowest line - of the staff. - - - - - - - Attributes that record the visual rendition of lines. - - - - - - - Symbol rendered at end of line. - - - - - - Holds the relative size of the line-end symbol. - - - - - - Symbol rendered at start of line. - - - - - - Holds the relative size of the line-start symbol. - - - - - - - Attributes that record the basic visual rendition of lines. - - - Describes the line style of a line. - - - - - - - Describes the number of segments into which a dashed or dotted line may be divided, or - the number of "peaks" of a wavy line; a pair of space-separated values (minimum and - maximum, respectively) provides a range between which a rendering system-supplied value - may fall, while a single value indicates a fixed amount of space; that is, the minimum and - maximum values are equal. - - - 2 - - - - - - @lform attribute - matching "dashed", "dotted", or "wavy" required. - - - - - - Width of a line. - - - - - - - - Attributes that specify element-to-element relationships. - - - Points to an element of which the current element is a copy. - - - - - - - An - element with a copyof attribute can only have comment or processing instruction - descendents. - - - - - - - @copyof attribute - should have content. - The - value in @copyof should correspond to the @xml:id attribute of an - element. - - - - - - Used to point to other elements that correspond to this one in a generic - fashion. - - - - - - - @corresp attribute - should have content. - Each - value in @corresp should correspond to the @xml:id attribute of an - element. - - - - - - points to one or more events in a user-defined collection that are known to be - predecessors of the current element. - - - - - - - @follows attribute - should have content. - Each - value in @follows must correspond to the @xml:id attribute of an - element. - - - - - - Used to point to the next event(s) in a user-defined collection. - - - - - - - @next attribute should - have content. - Each - value in @next should correspond to the @xml:id attribute of an - element. - - - - - - Points to one or more events in a user-defined collection that are known to be - successors of the current element. - - - - - - - @precedes attribute - should have content. - Each - value in @precedes must correspond to the @xml:id attribute of an - element. - - - - - - Points to the previous event(s) in a user-defined collection. - - - - - - - @prev attribute should - have content. - Each - value in @prev should correspond to the @xml:id attribute of an - element. - - - - - - Points to an element that is the same as the current element but is not a literal copy - of the current element. - - - - - - - @sameas attribute - should have content. - Each - value in @sameas should correspond to the @xml:id attribute of an - element. - - - - - - Points to elements that are synchronous with the current element. - - - - - - - @synch attribute - should have content. - Each - value in @synch should correspond to the @xml:id attribute of an - element. - - - - - - - Attributes that describe default typography of lyrics. - - - Describes the alignment of lyric syllables associated with a note or chord. - - - - - - Sets the font family default value for lyrics. - - - - - - Sets the font name default value for lyrics. - - - - - - Sets the default font size value for lyrics. - - - - - - Sets the default font style value for lyrics. - - - - - - Sets the default font weight value for lyrics. - - - - - - - Attributes that record the unit of measurement in which a value is expressed. - - - Indicates the unit of measurement. - - - - - - Byte. - - - Character. - - - Centimeter. - - - Degree. - - - Inch. - - - Serial issue. - - - Foot. - - - Meter. - - - Millimeter. - - - Page. - - - Pica. - - - Point. - - - Pixel. - - - Radian. - - - Record. - - - Serial volume. - - - MEI virtual unit. - - - - - - Attributes pertaining to measure numbers - - - Indicates whether measure numbers should be displayed. - - - - - - - Attributes that establish the boundaries of a media object. - - - Specifies a point where the relevant content begins. A numerical value must be less - and a time value must be earlier than that given by the end attribute. - - - - - - Specifies a point where the relevant content ends. If not specified, the end of the - content is assumed to be the end point. A numerical value must be greater and a time value - must be later than that given by the begin attribute. - - - - - - Type of values used in the begin/end attributes. The begin and end attributes can only - be interpreted meaningfully in conjunction with this attribute. - - - - - - - Attributes describing a writing medium, such as pencil or ink. - - - Describes the writing medium. - - - - - - - Attributes that record the version of MEI in use. - - - Specifies a generic MEI version label. - 4.0.1 - - - First release of MEI 4 - - - Bugfix Release 4.0.1 - - - - - - Logical domain attributes. - - - - - - - - Specifies whether a dot is to be added to the base symbol. - - - - - - The base symbol in the mensuration sign/time signature of mensural notation. - - - - - - - Attributes that provide information about a structure's conformance to the prevailing - meter. - - - Indicates the relationship between the content of a staff or layer and the prevailing - meter. - - - Complete; i.e., conformant with the prevailing meter. - - - Incomplete; i.e., not enough beats. - - - Overfull; i.e., too many beats. - - - - - - Attributes that provide information about a measure's conformance to the prevailing - meter. - - - Indicates the relationship between the content of a measure and the prevailing - meter. - - - - - - Indicates whether or not a bar line is "controlling"; that is, if it indicates a point - of alignment across all the parts. Bar lines within a score are usually controlling; that - is, they "line up". Bar lines within parts may or may not be controlling. When applied to - measure, this attribute indicates the nature of the right barline - but not the left. - - - - - - - Logical domain attributes. - - - Captures the number of beats in a measure, that is, the top number of the meter - signature. It must contain a decimal number or an additive expression that evaluates to a - decimal number, such as 2+3. - - - \d+(\.\d+)?(\s*\+\s*\d+(\.\d+)?)* - - - - - Indicates the use of a meter symbol instead of a numeric meter signature, that is, 'C' - for common time or 'C' with a slash for cut time. - - - - - - Contains the number indicating the beat unit, that is, the bottom number of the meter - signature. - - - - - - - Used by staffDef and scoreDef to provide default values for attributes in the logical - domain related to meter signature. - - - Captures the number of beats in a measure, that is, the top number of the meter - signature. It must contain a decimal number or an additive expression that evaluates to a - decimal number, such as 2+3. - - - \d+(\.\d+)?(\s*\+\s*\d+(\.\d+)?)* - - - - - Contains the number indicating the beat unit, that is, the bottom number of the meter - signature. - - - - - - Indicates the use of a meter symbol instead of a numeric meter signature, that is, 'C' - for common time or 'C' with a slash for cut time. - - - - - - - Attributes that record tempo in terms of beats per minute. - - - Used to describe tempo in terms of beats (often the meter signature denominator) per - minute, ala M.M. (Maezel's Metronome). Do not confuse this attribute with midi.bpm or - midi.mspb. In MIDI, a beat is always defined as a quarter note, *not the numerator of the - time signature or the metronomic indication*. - - - - - - Captures the metronomic unit. - - - - - - Records the number of augmentation dots required by a dotted metronome unit. - - - - - - - Attributes that indicate programmatic numbering. - - - Indicates whether programmatically calculated counts of multiple measures of rest - (mRest) and whole measure repeats (mRpt) in parts should be rendered. - - - - - - - Attributes shared by names. - - - - - - - - Used to record a pointer to the regularized form of the name elsewhere in the - document. - - - - - - - @nymref attribute - should have content. - The - value in @nymref should correspond to the @xml:id attribute of an - element. - - - - - - Used to specify further information about the entity referenced by this name, for - example, the occupation of a person or the status of a place. - - - - -

When applicable, values from the MARC relator term list (http://www.loc.gov/marc/relators/relaterm.html) or code list (http://www.loc.gov/marc/relators/relacode.html) are recommended for - role.

-
-
-
-
- Attributes used to supply an integer number designation for an element. - - - Provides a numeric designation that indicates an element's position in a sequence of - similar elements. Its value must be a non-negative integer. - - - - - - - Attributes used to supply a number-like designation for an element. - - - Provides a number-like designation that indicates an element's position in a sequence - of similar elements. May not contain space characters. - - - - - - - Attributes that capture music font name and size. - - - Sets the default music font name. - - - - - - Sets the default music font size. - - - - - - - Logical domain attributes. - - - - - - - - - - - - Attributes pertaining to the notehead part of a note. - - - Provides a way of pointing to a user-defined symbol. It must contain a reference to an - ID of a symbolDef element elsewhere in the document. - - - - - - - @head.altsym attribute - should have content. - The value in @head.altsym should correspond to the @xml:id attribute of a symbolDef - element. - - - - - - A name or label associated with the controlled vocabulary from which a numerical value - of head.shape is taken. - - - - - - - When - @head.auth matches 'smufl', @head.shape must contain a numeric glyph reference in - hexadecimal notation, e.g. "#xE000" or "U+E000". - - - - - - Standard Music Font Layout. - - - - - Captures the overall color of a notehead. - - - - - - Describes how/if the notehead is filled. - - - - - - Captures the fill color of a notehead if different from the overall note color. - - - - - - Records any additional symbols applied to the notehead. - - - - - - Describes rotation applied to the basic notehead shape. A positive value rotates the - notehead in a counter-clockwise fashion, while negative values produce clockwise - rotation. - - - - - - Used to override the head shape normally used for the given duration. - - - - - - - SMuFL version 1.18 uses the range U+E000 - U+ECBF. - - - - - - Indicates if a feature should be rendered when the notation is presented graphically - or sounded when it is presented in an aural form. - - - - - - - Attributes that record written octave. - - - Captures written octave information. - - - - - - - Attributes that record a default value for octave. - - - Contains a default octave specification for use when the first note, rest, chord, etc. - in a measure does not have an octave value specified. - - - - - - - Attributes describing the amount and direction of octave displacement. - - - Records the amount of octave displacement. - - - - - - Records the direction of octave displacement. - - - - - - - Attributes that record placement of notes on a single-line staff. - - - Determines the placement of notes on a 1-line staff. A value of 'true' places all - notes on the line, while a value of 'false' places stems-up notes above the line and - stems-down notes below the line. - - - - - - - Attributes pertaining to layout optimization. - - - Indicates whether staves without notes, rests, etc. should be displayed. When the - value is 'true', empty staves are displayed. - - - - - - - Attributes that identify the layer associated with a distant feature. - - - identifies the layer on which referenced notation occurs. - - - - - - - Attributes for identifying the staff associated with a distant feature. - - - signifies the staff on which referenced notation occurs. Defaults to the same value as - the local staff. Mandatory when applicable. - - - - - - - Attributes recording the identifiers of the first and last elements of a sequence of - distant elements. - - - indicates the first element in a sequence of events. - - - - - - indicates the final element in a sequence of events. - - - - - - - Attributes that identify a musical range in terms of musical time. - - - encodes the starting point of musical material in terms of musical time, i.e., a - (potentially negative) count of measures plus a beat location. - - - - - - encodes the ending point of musical material in terms of musical time, i.e., a count - of measures plus a beat location. The values are relative to the measure identified by - origin.tstamp. - - - - - - - When @origin.tstamp2 is used @origin.tstamp must - also be present. - - - - - - - Logical domain attributes. - - - - - - - - - Logical domain attributes. - - - - - - Attributes that record page-level layout information. - - - Specifies the height of the page; may be expressed in real-world units or staff - steps. - - - - - - Describes the width of the page; may be expressed in real-world units or staff - steps. - - - - - - Indicates the amount of whitespace at the top of a page. - - - - - - Indicates the amount of whitespace at the bottom of a page. - - - - - - Indicates the amount of whitespace at the left side of a page. - - - - - - Indicates the amount of whitespace at the right side of a page. - - - - - - Indicates the number of logical pages to be rendered on a single physical page. - - - - - - Indicates how the page should be scaled when rendered. - - - - - - - Logical domain attributes. - - Attributes for identifying the part in which the current feature appears. - - - Indicates the part in which the current feature should appear. Use '%all' when the - feature should occur in every part. - - - (%all|#[\i][\c]+) - - - - - - '%all' cannot be mixed with other - values. - - - - - - Signifies the part staff on which a notated feature occurs. Use '%all' when the - feature should occur on every staff. - - - (%all|\d+(-\d+)?) - - - - - - '%all' cannot be mixed with other - values. - - - - - - - Logical domain attributes. - - Logical domain attributes. - - - - - Logical domain attributes. - - - - - - - - Attributes that record written pitch name. - - - Contains a written pitch name. - - - - - - - Attributes that record written pitch name and octave number. - - - - - - Attributes capturing placement information. - - - Captures the placement of the item with respect to the staff with which it is - associated. - - - - - - - Attributes listing the active participants in a user-defined collection. - - - When the target attribute is present, plist identifies the active participants; that - is, those entities pointed "from", in a relationship with the specified target(s). When - the target attribute is not present, it identifies participants in a mutual - relationship. - - - - - - - @plist attribute - should have content. - Each - value in @plist should correspond to the @xml:id attribute of an - element. - - - - - - - Attributes common to all pointing/linking elements. - - - - Defines whether a link occurs automatically or must be requested by the user. - - - Load the target resource(s) immediately. - - - Load the target resource(s) upon user request. - - - Do not permit loading of the target resource(s). - - - Behavior other than allowed by the other values of this attribute. - - - - - - Characterization of the relationship between resources. The value of the role - attribute must be a URI. - - - - - - - Defines how a remote resource is rendered. - - - Open in a new window. - - - Load the referenced resource in the same window. - - - Embed the referenced resource at the point of the link. - - - Do not permit traversal to the referenced resource. - - - Behavior other than permitted by the other values of this attribute. - - - - - Identifies passive participants in a relationship; that is, the entities pointed - "to". - - - - - - Characterization of target resource(s) using any convenient classification scheme or - typology. - - - - - - - - - - Attributes that specify a measurement in numerical terms. - - - - - - - Numeric value capturing a measurement or count. Can only be interpreted in combination - with the unit attribute. - - - 0 - - - - - - Groups attributes that describe a numerical range. - - - Gives a minimum estimated value for an approximate measurement. - - - - - - Gives a maximum estimated value for an approximate measurement. - - - - - - Where the measurement summarizes more than one observation or a range of values, - supplies the minimum value observed. - - - - - - Where the measurement summarizes more than one observation or a range of values, - supplies the maximum value observed. - - - - - - Specifies the degree of statistical confidence (between zero and one) that a value - falls within the range specified by min and max, or the proportion of observed values that - fall within that range. - - - - - - - The attributes @min and @max are required when - @confidence is present. - - - - - - - Attributes capturing information regarding responsibility for some aspect of the text's - creation, transcription, editing, or encoding. - - - Indicates the agent(s) responsible for some aspect of the text's transcription, - editing, or encoding. Its value must point to one or more identifiers declared in the - document header. - - - - - - - @resp attribute should - have content. - The value in @resp should correspond to the @xml:id attribute of an element within - the metadata header. - - - - - - - Logical domain attributes. - - - - - - - - - Logical domain attributes. - - - - - Attributes that describe relative size. - - - Scale factor to be applied to the feature to make it the desired display size. - - - - - - - Logical domain attributes. - - Logical domain attributes for scoreDef in the CMN repertoire. The values set in these - attributes act as score-wide defaults for attributes that are not set in descendant - elements. - - - - - - - - - - - - Logical domain attributes. - - - - - Attributes that describe order within a collection of features. - - - Used to assign a sequence number related to the order in which the encoded features - carrying this attribute are believed to have occurred. - - - - - - - Attributes for recording the number of slashes that accompany a feature. - - - Indicates the number of slashes present. - - - - - - - Attributes for marking the presence of a slur. - - - Indicates that this element participates in a slur. If visual information about the - slur needs to be recorded, then a slur element should be - employed. - - - - - - - Attributes common to elements that may refer to a source. - - - Contains a list of one or more pointers indicating the sources which attest to a given - reading. Each value should correspond to the ID of a source or manifestationelement located in the document header. - - - - - - - @source attribute - should have content. - Each value in @source should correspond to the @xml:id attribute of a source or - manifestation element. - - - - - - - Logical domain attributes. - - - - - - - Attributes that capture notation spacing information. - - - Describes a note's spacing relative to its time value. - - - - - - Describes the note spacing of output. - - - - - - Specifies the minimum amount of space between adjacent staves in the same system; - measured from the bottom line of the staff above to the top line of the staff - below. - - - - - - Describes the space between adjacent systems; a pair of space-separated values - (minimum and maximum, respectively) provides a range between which a rendering - system-supplied value may fall, while a single value indicates a fixed amount of space; - that is, the minimum and maximum values are equal. - - - - - - - Logical domain attributes. - - - - - - Provides a mechanism for linking the staff to a staffDef element. - - - - - - - @def attribute should - have content. - The value in @def should correspond to the @xml:id attribute of a staffDef - element. - - - - - - - Logical domain attributes for staffDef. - - - - - - - - - - - - - - Indicates the number of staff lines. - - - - - - - Attributes that describe the symbol used to group a set of staves. - - - Specifies the symbol used to group a set of staves. - - - Curved symbol, i.e., {. - - - Square symbol, i.e., [, but with curved/angled top and bottom segments. - - - Square symbol, i.e., [, with horizontal top and bottom segments. - - - Line symbol, i.e., |, (wide) line without top and bottom curved/horizontal - segments. - - - Grouping symbol missing. - - - - - - Logical domain attributes. - - Attributes for identifying the staff associated with the current feature. - - - Signifies the staff on which a notated event occurs or to which a control event - applies. Mandatory when applicable. - - - - - - - Attributes that describe items printed near (above, below, or between) staves - - - Describes vertical order of items printed above a staff, from closest to farthest away - from the staff. - - - - - - Describes vertical order of items printed below a staff, from closest to farthest away - from the staff. - - - - - - Describes vertical order of items printed between staves, from top to bottom. - - - - - - - Attributes that identify location on a staff in terms of lines and spaces. - - - Holds the staff location of the feature. - - - - - - - Attributes that identify location on a staff in terms of pitch and octave. - - - Captures staff location in terms of written pitch name. - - - - - - Records staff location in terms of written octave. - - - - - - - Attributes recording the identifiers of the first and last elements of a sequence of - elements to which the current element is associated. - - - - - - Indicates the final element in a sequence of events to which the feature - applies. - - - - - - - @endid attribute - should have content. - The - value in @endid should correspond to the @xml:id attribute of an - element. - - - - - - - Attributes that identify a relative starting point. - - - Holds a reference to the first element in a sequence of events to which the feature - applies. - - - - - - - @startid attribute - should have content. - The - value in @startid should correspond to the @xml:id attribute of an - element. - - - - - - - Attributes that describe the properties of stemmed features; that is, chords and - notes. - - - - - - Describes the direction of a stem. - - - - - - Encodes the stem length. - - - - - - Encodes any stem "modifiers"; that is, symbols rendered on the stem, such as tremolo - or Sprechstimme indicators. - - - - - - Records the position of the stem in relation to the note head(s). - - - - - - Determines whether a stem should be displayed. - - - - - - Records the output x coordinate of the stem's attachment point. - - - - - - Records the output y coordinate of the stem's attachment point. - - - - - - - Logical domain attributes. - - - Describes the symbols typically used to indicate breaks between syllables and their - functions. - - - Space (word separator). - - - Dash (syllable separator). - - - Underscore (syllable extension). - - - Tilde (syllable elision). - - - Circumflex [angled line above] (syllable elision). - - - Caron [angled line below] (syllable elision). - - - Inverted breve [curved line above] (syllable elision). - - - Breve [curved line below] (syllable elision). - - - - - Records the position of a syllable within a word. - - - (initial) first syllable. - - - (medial) neither first nor last syllable. - - - (terminal) last syllable. - - - - - - Attributes that hold associated sung text syllables. - - - Holds an associated sung text syllable. - - - - - - - Logical domain attributes. - - - - - Attributes that capture system layout information. - - - Indicates whether the staves are joined at the left by a continuous line. The default - value is "true". Do not confuse this with the heavy vertical line used as a grouping - symbol. - - - - - - Describes the amount of whitespace at the left system margin relative to - page.leftmar. - - - - - - Describes the amount of whitespace at the right system margin relative to - page.rightmar. - - - - - - Describes the distance from page's top edge to the first system; used for first page - only. - - - - - - - Attributes that deal with resolution of values in plist or target attributes. - - - Specifies the intended meaning when a participant in a relationship is itself a - pointer. - - - If an element pointed to is itself a pointer, then the target of that pointer will - be taken, and so on, until an element is found which is not a pointer. - - - If an element pointed to is itself a pointer, then its target (whether a pointer - or not) is taken as the target of this pointer. - - - No further evaluation of targets is carried out beyond that needed to find the - element(s) specified in plist or target attribute. - - - -

If no value is given, the application program is responsible for deciding (possibly on - the basis of user input) how far to trace a chain of pointers.

-
-
-
-
- Logical domain attributes. - - - - - - - - Records the function of a tempo indication. - - - Marks a gradual change of tempo, such as "accel." or "rit." - - - Represents a static tempo instruction, such as a textual term like "Adagio", a - metronome marking like "♩=70", or a combination of text and metronome - indication. - - - Captures a change in pulse rate (tempo) and/or pulse grouping (subdivision) in an - "equation" of the form [tempo before change] = [tempo after change]. - - - Indicates a change in pulse rate (tempo) and/or pulse grouping (subdivision) in an - "equation" of the form [tempo after change] = [tempo before change]. The term - "precedente" often appears following the "equation" to distinguish this kind of - historical usage from the modern metric modulation form. - - - - - - Attributes that record renditional characteristics. - - - Used to extend the values of the rend attribute. - - - - - - Captures the appearance of the element's contents using MEI-defined - descriptors. - - - - - - - Attributes that describe default text typography. - - - Provides a default value for the font family name of text (other than lyrics) when - this information is not provided on the individual elements. - - - - - - Provides a default value for the font name of text (other than lyrics) when this - information is not provided on the individual elements. - - - - - - Provides a default value for the font size of text (other than lyrics) when this - information is not provided on the individual elements. - - - - - - Provides a default value for the font style of text (other than lyrics) when this - information is not provided on the individual elements. - - - - - - Provides a default value for the font weight for text (other than lyrics) when this - information is not provided on the individual elements. - - - - - - - Attributes that indicate the presence of a tie. - - - Indicates that this element participates in a tie. If visual information about the tie - needs to be recorded, then a tie element should be employed. - - - - - - - Attributes that record a time stamp in terms of musical time, i.e., beats[.fractional beat - part]. - - - Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], - as expressed in the written time signature. - - - - - - - Attributes that record a time stamp for the end of an event in terms of musical - time. - - - Encodes the ending point of an event, i.e., a count of measures plus a beat location - in the ending measure. - - - - - - - Attributes that describe transposition. - - - Records the amount of diatonic pitch shift, e.g., C to C♯ = 0, C to D♭ = 1, necessary - to calculate the sounded pitch from the written one. - - - - - - Records the amount of pitch shift in semitones, e.g., C to C♯ = 1, C to D♭ = 1, - necessary to calculate the sounded pitch from the written one. - - - - - - -

Diatonic transposition requires both trans.diat and trans.semi - attributes in order to distinguish the difference, for example, between a transposition from - C to C♯ and one from C to D♭.

-
-
- Attributes for indicating the presence of a tuplet. - - - Indicates that this feature participates in a tuplet. If visual information about the - tuplet needs to be recorded, then a tuplet element should be - employed. - - - - - - - Attributes which can be used to classify features. - - - - - - Designation which characterizes the element in some sense, using any convenient - classification scheme or typology that employs single-token labels. - - - - - - -

When appropriate, values from an established typology should be used.

-
-
- Typographical attributes. - - - Contains the name of a font-family. - - - - - - Holds the name of a font. - - - - - - Indicates the size of a font expressed in printers' points, i.e., 1/72nd of an inch, - relative terms, e.g., "small", "larger", etc., or percentage values relative to "normal" - size, e.g., "125%". - - - - - - Records the style of a font, i.e, italic, oblique, or normal. - - - - - - Used to indicate bold type. - - - - - - - Attributes that record vertical alignment. - - - Records vertical alignment. - - - - - - - Attributes that record grouping of vertically aligned elements. - - - Provides a label for members of a vertically aligned group. - - - - - - - Attributes describing whether a feature should be displayed. - - - Indicates if a feature should be rendered when the notation is presented graphically - or sounded when it is presented in an aural form. - - - - - - - Visual offset attributes. Some items may have their location recorded in terms of offsets - from their programmatically-determined location. The ho attribute records the horizontal - offset while vo records the vertical. The to attribute holds a timestamp offset, the most - common use of which is as an alternative to the ho attribute. - - - - - - - Horizontal offset attributes. - - - Records a horizontal adjustment to a feature's programmatically-determined location in - terms of staff interline distance; that is, in units of 1/2 the distance between adjacent - staff lines. - - - - - - - Horizontal offset attributes specified in terms of time. - - - Records a timestamp adjustment of a feature's programmatically-determined location in - terms of musical time; that is, beats. - - - - - - - Vertical offset attributes. - - - Records the vertical adjustment of a feature's programmatically-determined location in - terms of staff interline distance; that is, in units of 1/2 the distance between adjacent - staff lines. - - - - - - - Visual offset attributes. Some items may have their location recorded in terms of pairs of - offsets from their programmatically-determined location. The startho and endho attributes - record the horizontal offsets of the start and end points of the item, respectively. - Similarly, the startvo and endvo attributes record the vertical offsets of the start and end - points of the item. The startto and endto attributes hold timestamp offsets, the most common - use of which is as alternatives to the ho attributes. - - - - - - - Horizontal offset requiring a pair of attributes. - - - Records the horizontal adjustment of a feature's programmatically-determined start - point. - - - - - - Records the horizontal adjustment of a feature's programmatically-determined end - point. - - - - - - - Horizontal offset attributes requiring a pair of attributes specified in terms of - time. - - - Records a timestamp adjustment of a feature's programmatically-determined start - point. - - - - - - Records a timestamp adjustment of a feature's programmatically-determined end - point. - - - - - - - Vertical offset attributes requiring a pair of attributes. - - - Records a vertical adjustment of a feature's programmatically-determined start - point. - - - - - - Records a vertical adjustment of a feature's programmatically-determined end - point. - - - - - - - Attributes that describe the symbol used to group volta elements. - - - Specifies the symbol used to group lyrics. - - - Curved symbol, i.e., {. - - - Square symbol, i.e., [, but with curved/angled top and bottom segments. - - - Square symbol, i.e., [, with horizontal top and bottom segments. - - - Line symbol, i.e., |, (wide) line without top and bottom curved/horizontal - segments. - - - Grouping symbol missing. - - - - - - Attributes that address whitespace processing. - - - - Allows one to signal to an application whether an element's white space is - "significant". The behavior of xml:space cascades to all descendant elements, but it can - be turned off locally by setting the xml:space attribute to the value "default". - - - Allows the application to handle white space as necessary. Not including an - xml:space attribute produces the same result as using the default value. - - - Instructs the application to maintain white space "as-is", suggesting that it - might have meaning. - - - - - - Attributes that describe horizontal size. - - - Measurement of the horizontal dimension of an entity. - - - - - - -

The width attribute may be used to capture measure width data for interchange with music - printing systems that utilize this information for printing. On <barLine> the width - attribute captures the width of the preceding measure.

-
-
- Output coordinate attributes. Some elements may have their exact rendered *output* - coordinates recorded. x and y attributes indicate where to place the rendered output. - Recording the coordinates of a feature in a facsimile requires the use of the facs - attribute. - - - Encodes an x coordinate for a feature in an output coordinate system. When it is - necessary to record the placement of a feature in a facsimile image, use the facs - attribute. - - - - - - Encodes a y coordinate for a feature in an output coordinate system. When it is - necessary to record the placement of a feature in a facsimile image, use the facs - attribute. - - - - - - - Output coordinate attributes. Some elements may need 2 coordinate pairs to record their - rendered *output* coordinates. The attributes indicate where to place the rendered output. - Recording the coordinates of a feature in a facsimile requires the use of the facs - attribute. - - - Encodes the optional 2nd x coordinate. - - - - - - Encodes the optional 2nd y coordinate. - - - - - - - Groups elements used to represent a postal address. - - - - - - - Groups annotation-like elements. - - - - - Groups elements containing a bibliographic description. - - - - - Groups elements that may appear as part of a bibliographic description. - - Groups elements that contain the text of a caption or other text displayed along with a - figure. - - Groups elements that may appear as part of the content of a chord element. - - Groups elements, such as dynamics, ties, phrase marks, pedal marks, etc., which depend - upon other events, such as notes or rests, for their existence. - - - - - - - - - Groups elements containing date expressions. - - - - - - - - Groups elements which describe a measurement forming part of the physical dimensions of an - object. - - - - - Groups elements containing bibliographic edition information. - - - - - - Groups editorial intervention elements. - - - - - - Groups elements that represent alternative endings. - - - - - - Groups event elements that occur in all notational repertoires. - - - - - - Groups elements used to provide a heading at the start of a text division or other markup - component. - - Groups identifier-like elements. - - - - - - - Groups elements that may appear as part of a bibliographic imprint. - - Groups elements used to represent a textual or musical incipit. - - - - - - Groups elements used to declare a MIDI instrument. - - Groups elements that represent accidentals in a key signature. - - Groups elements that have the same function as a key signature. - - - - - - Groups elements used to assign a label to other parts of a document. - - Groups elements that permit declaration of layer properties. - - Groups elements that function as notational layers within a staff. - - - - - - - Groups notated events that may appear at the layer level in all repertoires. - - Groups notated events at the layer level that are shared by the mensural and neume - repertoires. - - - - - Groups elements that function like line beginnings. - - - - - - Groups elements used to represent generic structural divisions of music notation. - - Groups elements that represent a measurement. - - - - - Groups elements that represent a meter signature. - - - - - - Groups milestone-style elements found in music notation. - - Groups milestone-style elements found in text. - - Groups elements that contain names. - - - - - Groups elements that modify note-like features. - - - - - - Groups elements that denote a number or a quantity. - - - - - Groups elements which may appear as part of the paragraph content model. A paragraph may - contain inline elements and all other block-level elements except itself. - - Groups elements that represent a separate performer part. - - Groups elements that collect separate performer parts. - - Groups page beginning-like elements. - - - - - - - Groups paragraph-like elements. - - - - - Collects elements that express a relationship. - - - - - Groups elements that mark typographical features. - - - - - Groups elements that denote a corporate entity that holds a bibliographic item. - - - - - Groups non-text components that represent the content of the musical text. - - Groups elements that are used to indicate intellectual or other significant - responsibility, for example within a bibliographic citation. - - - - - Groups elements that delineate particular responsibilities as opposed to the respStmt - element that provides for generic statements of responsibility. - - - - - - Groups elements that provide score meta-information. - - - - - Groups elements that represent a score. - - Groups elements that may appear as part of a score. - - Groups elements that may appear as part of a score in the mensural and neumes - repertoires. - - - - - Groups elements that represent a segment of music notation. - - - - - - Groups elements that may appear as part of a section. - - Groups elements that may appear as part of a section in the mensural and neume - repertoires. - - - - - Groups elements that permit declaration of staff properties. - - - - - Groups elements that may appear in the declaration of staff features. - - Groups elements that permit declaration of staff group properties. - - Groups elements that function like staves. - - - - - - Groups elements that are components of a staff. - - Groups elements that are components of a staff in the mensural and neume - repertoires. - - - - - Groups elements that contain a lyric syllable. - - - - - - - Groups block-level text elements. - - - - - - Groups textual elements that occur at the level of individual words or phrases. - - - - - Groups textual elements that occur at the level of individual words or phrases. This class - is equivalent to the model.textPhraseLike class without the pb element. - - - - - - - Groups elements that denote the name of a bibliographic item. - - - - - - Groups elements that may appear as part of a title page transcription. - (accidental) – Records a temporary alteration to the pitch of a note. - - - - - - - - - - -

An accidental may raise a pitch by one or two semitones or it may cancel a previous - accidental or part of a key signature. This element provides an alternative to the - accid and accid.ges attributes on the note - element. The element may be used when specific display info, such as size or color, needs to - be recorded for the accidental or when multiple accidentals occur on a single note. The - func attribute can be used to differentiate between the accidental's functions, - such as 'cautionary' or 'editorial'.

-
Name of an actor appearing within a cast list. - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains a postal address, for example of a publisher, an organization, or an - individual. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
(address line) – Single line of a postal address. - - - - - - -

addrLine may be repeated as many times as necessary to enter all - lines of an address.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
Range of a voice, instrument or piece. - - - - - - - - - - - Highest or lowest pitch in a score, staff, or layer. - - - - - - - - - (analytic level) – Contains bibliographic elements describing an item (e.g. an article or - poem) published within a monograph or journal and not as an independent publication. - - - - - - - - - - - - (annotation) – Provides a statement explaining the text or indicating the basis for an - assertion. - - - - - - - - - - - - - - - - - - - - The @data attribute may only occur on an - annotation within the notesStmt element. - - - -

The annot element can be used for both general comments and for - annotations of the musical text. It provides a way to group participating *events* and/or - *control events*, for example, the notes that form a descending bass line, and provide a - label for and comment regarding the group. Participating entities may be identified in the - plist attribute. An editorial or analytical comment or observation may be - included directly within the annot element. The starting point of the - annotation may be indicated by either a tstamp, tstamp.ges, - tstamp.real or startid attribute, while the ending point may be - recorded by either a dur, dur.ges or endid attribute. The - resp attribute records the editor(s) responsible for identifying or creating the - annotation.

-
A person or organization who transcribes a musical composition, usually for a different - medium from that of the original; in an arrangement the musical substance remains essentially - unchanged. - - - - - - - - - (articulation) – An indication of how to play a note or chord. - - - - - - - - - - - -

Articulations typically affect duration, such as staccato marks, or the force of attack, - such as accents. This element provides an alternative to the artic attribute on - the note and chord elements. It may be used when - specific display info, such as size or color, needs to be recorded for the articulation or - when multiple articulation marks occur on a single note or chord.

-
The name of the creator of the intellectual content of a non-musical, literary - work. - - - - - - - - - -

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
Vertical line drawn through one or more staves that divides musical notation into metrical - units. - - - - - - - - - - - - - - - - - The value of @taktplace must be less than or equal to two times the number of staff - lines. - - - -

This element is provided for repertoires, such as mensural notation, that lack measures. - Because the barLine element's attributes, from which the logical and - visual characteristics of the bar line can be discerned, largely duplicate those of measure, - the use of barLine is not necessary within measure elements in - CMN.

-
(bibliographic reference) – Provides a loosely-structured bibliographic citation in which - the sub-components may or may not be explicitly marked. - - - - - - - - - -

bibl may contain a mix of text and more specific elements such as - title, edition, persName, - and corpName. This element may also function as a hypertext reference - to an external electronic resource. Do not confuse this element with ref, which does not provide special bibliographic sub-elements.

-
-

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
List of bibliographic references. - - - - - - - - - - - - When labels are used, - usually each bibliographic item has one. - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(scope of citation) – Defines the scope of a bibliographic reference, for example as a - list of page numbers, or a named subdivision of a larger work. - - - - - - - - - - - - - - - - - -

Use the from and to attributes to regularize the beginning and ending - values provided in the element content.

-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(structured bibliographic citation) – Contains a bibliographic citation in which - bibliographic sub-elements must appear in a specified order. - - - - - - - - - - - Contains the whole of a single musical text, excluding any front or back matter. - - - - - - -

When the music can be broken into high-level, discrete, linear segments, such as movements - of a symphony, there may be multiple mdiv elements within body. This is the highest level indication of the structure of the - music.

-

The content model of body also allows blocks of text and music - notation to be interleaved. This permits the encoding of a wide range of musical documents, - including those that are primarily textual with only occasional musical material or even - those which completely lack music notation.

-
Break, pause, or interruption in the normal tempo of a composition. Typically indicated by - "railroad tracks", i.e., two diagonal slashes. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - -

The caesura often indicates an abrupt interruption in the performance followed by an - equally sudden resumption. Its duration is typically shorter than a grand pause (G.P.) or - long pause (L.P.), but longer than that indicated by a breath mark. - When combined with a fermata a longer silence is usually implied. The - starting point of the caesura may be indicated by either a startid, - tstamp, tstamp.ges, or tstamp.real attribute. It is a - semantic error not to specify a starting point attribute.

-

Unlike the breath mark, a caesura may have a performed duration. - Also, while the default value for place on the breath mark is "above", the - default value for place for a caesura is "within". Unless indicated by other - attributes, a caesura will be rendered as a pair of slanted lines through the top line of - the staff.

-

- A label which accompanies an illustration or a table. - - - - - - - (cast group) – Groups one or more individual castItem elements within a cast list. - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains a single entry within a cast list, describing either a single role or a list of - non-speaking roles. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains a single cast list or dramatis personae. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(column beginning) – An empty formatting element that forces text to begin in a new - column. - - - - - - - - - - - - - Records the column number. - - - - - - - - Column beginning must be preceded by a - colLayout element. - The value of @n should be less than or equal - to the value of @cols () of the preceding - colLayout element. - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
A simultaneous sounding of two or more notes in the same layer *with the same - duration*. - - - - - - - - - - Indication of the exact location of a particular note on the staff and, therefore, the - other notes as well. - - - - - - - - - - - - - - - - The clef position must be less than or equal to the number of lines of an ancestor - staff. - - - - - - - The clef position must be less than or equal to the number of lines of a preceding - staff. - - - -

This element can be used as an alternative to the staff element's - clef.* attributes. It should be used when specific display info, such as size or color, - needs to be recorded for the clef or when multiple, simultaneous clefs occur on a single - staff. This element may also be used within the staff context to indicate changes of - clef.

-
(clef group) – A set of simultaneously-occurring clefs. - - - - - - - - - - - - (column layout) – An empty formatting element that signals the start of columnar - layout. - - - - - - - - Records the number of columns. - - - - The name of the creator of the intellectual content of a musical work. - - - - - - - - - Names of individuals, institutions, or organizations responsible for contributions to the - intellectual content of a work, where the specialized elements for authors, editors, etc. do - not suffice or do not apply. - - - - - - - - - - - - The value of @role must not contain the name of another element available in this - context. - - - - Used to specify the contributor's function. - - - - -

When applicable, values from the MARC relator term list (http://www.loc.gov/marc/relators/relaterm.html) or code list (http://www.loc.gov/marc/relators/relacode.html) are recommended for - role.

-
-
Non-bibliographic details of the creation of an intellectual entity, in narrative form, - such as the date, place, and circumstances of its composition. More detailed information may - be captured within the history element. - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI).

-
Symbol placed at the end of a line of music to indicate the first note of the next line. - Sometimes called a "direct". - - - - - - - - - - - -

The most common visual form is a sign resembling a mordent. Other graphical forms may be - indicated by the altsym attribute. Together the pname and - oct attributes identify the location where the custos appears.

-
A string identifying a point in time or the time period between two such points. - - - - - - - - - - - -

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
Entity to whom a creative work is formally offered. - - - - - - - - - - - The dedicatee element may not be - recursively nested. - - - Description of a measurement taken through a three-dimensional object. - - - - - - - - (description) – Container for text that briefly describes the feature to which it is - attached, including its intended usage, purpose, or application as appropriate. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(dimension) – Any single dimensional specification. - - - - - - - - - Aspect of the object being measured. - - - - - - Altitude. Refers to the distance above a given level, commonly mean sea - level. - - - Angle. Amount of rotation needed to bring one line or plane into coincidence with - another. - - - Circumference of a circular area. - - - Dimension taken through an object or body of material, usually downward from an - upper surface, horizontally inward from an outer surface, or from top to bottom of - something regarded as one of several layers. - - - Length of a straight line passing through the center of a circle or sphere and - meeting the circumference or surface at each end. - - - Distance to which something has been raised or uplifted above a level, e.g. a - hill's elevation above the surrounding country. - - - Denotes extent upward (as from foot to head) as well as any measurable distance - above a given level. - - - Measure of the greatest dimension of a plane or solid figure. - - - Half the diameter of a circular, spherical, or cylindrical object. - - - Projection of a figure or part from the plane on which it is formed. - - - Extent from side to side; breadth. - - - -

The height, width, and depth elements are preferred when appropriate.

-
Information about the physical size of an entity; usually includes numerical data. - - - - - - - - - - - - - The depth element may only appear - once. - The height element may only appear - once. - The width element may only appear - once. - - - -

The elements height, width, depth, and dim are available for circumstances that require the - capture of the individual dimensions of an object. Do not confuse this element with the extent element, which is used to indicate the quantity of described - materials.

-
-

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
(directive) – An instruction expressed as a combination of text and symbols — such as - segno and coda symbols, fermatas over a bar line, etc., typically above, below, or between - staves, but not on the staff — that is not encoded elsewhere in more specific elements, like - tempo or dynam. - - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - -

Examples include text strings, such as 'affettuoso', and music symbols, such as segno and - coda symbols, fermatas over a bar line, etc. Directives can be control elements. That is, - they can be linked via their attributes to other events. The starting point of the directive - may be indicated by either a startid, tstamp, tstamp.ges, - or tstamp.real attribute, while the ending point may be recorded by either a - dur, dur.ges, endid, or tstamp2 attribute. It is - a semantic error not to specify a starting point attribute.

-
Person or agency, other than a publisher, from which access (including electronic access) - to a bibliographic entity may be obtained. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(division) – Major structural division of text, such as a preface, chapter or - section. - - - - - - - - - - - - - - - Characterizes the textual division in some sense, using any convenient classification - scheme or typology that employs single-token labels. - - - - - - A summary of the content of a text as continuous prose. - - - A formal declaration of acknowledgment by the author in which persons and - institutions are thanked for their part in the creation of a text. - - - An ancillary self-contained section of a work, often providing additional but in - some sense extra-canonical text. - - - A list of bibliographic citations. - - - A statement appearing at the end of a book describing the conditions of its - physical production. - - - A table of contents, specifying the structure of a work and listing its - constituents. The list element should be used to mark its structure. - - - A formal offering or dedication of a text to one or more persons or institutions - by the author. - - - A pictorial frontispiece, possibly including some text. - - - A list of terms associated with definition texts (‘glosses’). - - - A page containing only the title of a book — as opposed to the title page, which - also lists subtitle, author, imprint and similar data. - - - Any form of index to the work. - - - A section in which annotations on the text are gathered together. - - - A foreword or preface addressed to the reader in which the author or publisher - explains the content, purpose, or origin of the text. - - - -

Often, the head sub-element identifies the div's purpose. This element is modelled on an element in the Text Encoding Initiative - (TEI) standard.

-
Dot of augmentation or division. - - - - - - - - - - -

This element provides an alternative to the dots attribute on note and rest elements. It should be used when specific display - info, such as size or color, needs to be recorded for the dot. This element may also be used - for dots of division in the mensural repertoire.

-
(dynamic) – Indication of the volume of a note, phrase, or section of music. - - - - - - - - - - - - - - Must have one of - the attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - - - - When @val2 is present, either - @dur, @dur.ges, @endid, or @tstamp2 must also be present. - - - -

This element may be used for instantaneous or continuous textual dynamics, - e.g. 'p', 'mf', or 'cresc. poco a poco'. The hairpin element should be - used for graphical, i.e., crescendo and diminuendo, dynamic markings. The - starting point of the dynamic marking may be indicated by either a startid, - tstamp, tstamp.ges, or tstamp.real attribute, while the - ending point may be recorded by either a dur, dur.ges, - endid, or tstamp2 attribute. It is a semantic error not to specify a - starting point attribute. MIDI values associated with the graphical dynamic sign may be - recorded in the val and val2 attributes.

-
(edition designation) – A word or text phrase that indicates a difference in either - content or form between the item being described and a related item previously issued by the - same publisher/distributor (e.g. 2nd edition, version 2.0, etc.), or simultaneously issued by - either the same publisher/distributor or another publisher/distributor (e.g. large print - edition, British edition, etc.). - - - - - - - -

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
The name of the individual(s), institution(s) or organization(s) acting in an editorial - capacity. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Alternative ending for a repeated passage of music; i.e., prima volta, seconda volta, - etc. - - - - - - - - - - - - - -

The scoreDef element is allowed as a sub-element so that an ending - may have its own meta-data without the overhead of child section - elements. div sub-elements are not allowed within ending. They may, - however, be contained by the children of ending, e.g., measures. Endings may not contain - other ending elements.

-
Contains a free-text event description. - - - - - - - - - - - - - Contains historical information given as a sequence of significant past events. - - - - - - - - - - -

An eventList contains event elements that - capture a brief description of the associated event, including dates and locations where the - event took place. An eventList describes events associated with a work - when it appears in the workList element or events associated with the - custodial history of a given copy of a source for the encoding when it appears within the - sourceDesc or relatedItem elements. The - type attribute may be used to distinguish between event lists with different - functions, such as a list of events in the compositional process and a list of performance - dates.

-
Indicates how a section may be programmatically expanded into its 'through-composed' - form. - - - - - - - -

The plist attribute contains an ordered list of identifiers of descendant section, ending, lem, or rdg elements. For example, the sequence "#A #End1 #A #End2" indicates that - the section labelled 'A' comes first, then the ending labelled 'End1', followed by the 'A' - section again, and finally the ending labelled 'End2'.

-
Used to express size in terms other than physical dimensions, such as number of pages, - records, bytes, physical components, etc. - - - - - - - - - - -

Use the dimensions element when it is necessary to specify the physical size of materials being described, for example, height and - width.

-
-

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
Names of individuals, institutions, or organizations responsible for funding. Funders - provide financial support for a project; they are distinct from sponsors, who provide - intellectual support and authority. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Term or terms that designate a category characterizing a particular style, form, or - content. - - - - - - - - - Contains a composite musical text, grouping together a sequence of distinct musical texts - (or groups of such musical texts) which are regarded as a unit for some purpose, for example, - the collected works of a composer. - - - - - - - -

Because its model contains the music element, each of the subordinate MEI documents can - have its own front and back matter.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(group symbol) – A brace or bracket used to group two or more staves of a score or - part. - - - - - - - - - - - - In scoreDef, grpSym must have startid, - endid, and level attributes. - - - - - - In staffGrp, grpSym must not have - startid, endid, or level attributes. - - - -

This element provides an alternative to the staffGrp element's - symbol attribute. It may be used when exact placement or editorial details for - the grouping symbol must be recorded.

-
(heading) – Contains any heading, for example, the title of a section of text, or the - heading of a list. - - - - - - - - -

One or more head elements usually identify the parent element and/or - its purpose.

-
-

This element is modelled on elements in Encoded Archival Description (EAD), Text Encoding - Initiative (TEI), and HTML standards.

-
Description of the vertical size of an object. - - - - - - - - An alpha-numeric string that establishes the identity of the described material. - - - - - - - - -

Examples include an International Standard Book/Music Number, Library of Congress Control - Number, publisher's number, a personal identification number, an entry in a bibliography or - catalog, etc. The type attribute may be used to indicate the system from which - the identifier was derived.

-
Information relating to the publication or distribution of a bibliographic item. - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
(incipit) – The opening music and/or words of a musical or textual work. - - - - - - - - - - - - - - -

The incipText element may be used to capture a text incipit, while - score is available to provide an MEI-encoded musical incipit. Images - of an incipit may be referenced using the graphic element. An incipit - encoded in a text format other than MEI may be placed in the incipCode - element.

-
(key accidental) – Accidental in a key signature. - - - - - - - - - - - - - One of the following is required: @x and - @y attribute pair, @pname attribute, or @loc attribute. - - - - Specifies whether enharmonic (written) values or implicit ("perform-able") values are - allowed. - - - Only performed values (sharp, flat, natural) allowed. - - - All enharmonic (written) values allowed. - - - -

It is a semantic error not to provide one of the following: the x and - y pair of attributes, the pname and oct pair of attributes, - or the loc attribute.

-
(key signature) – Written key signature. - - - - - - - - - - - - - If the @oct attribute - appears on any keyAccid element, it must be provided on all keyAccid - elements. - - - - - - Only keyAccid elements are allowed - here. - - - A container for document text that identifies the feature to which it is attached. For a - "tool tip" or other generated label, use the label attribute. - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-

Don't confuse this element, which is used to capture labelling text appearing in the - document, with the label attribute, which records text to be used to generate a - designation for the element to which it's attached, a "tool tip" or prefatory text, for - example.

-
A label on the pages following the first. - - - - - - - - An independent stream of events on a staff. - - - - - - - - - - - - - - - - -

The term 'layer' is used instead of 'voice' in order to avoid confusion between 'voice' and - 'voice leading' and 'voicing'. The def attribute may be used to create a - connection with a layerDef element where logical and visual - information about the layer is recorded. Alternatively, the n attribute may be - used as a reference to a layerDef element with the same value in its - n attribute. If neither def nor n attributes are present, - then encoding order of the layers is presumed to match the encoding order of the layer - definitions.

-
(layer definition) – Container for layer meta-information. - - - - - - - - - - - - - - - - - (line beginning) – An empty formatting element that forces text to begin on a new - line. - - - - - - - -

The n attribute should be used to record a number associated with this textual - line. See comment on verse element for description of func - attribute. Do not confuse this element with the sb element, which - performs a similar function for musical notation.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(line group) – May be used for any section of text that is organized as a group of lines; - however, it is most often used for a group of verse lines functioning as a formal unit, e.g. a - stanza, refrain, verse paragraph, etc. - - - - - - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Person or organization who is a writer of the text of an opera, oratorio, etc. - - - - - - - - - Person or organization who is a writer of the text of a song. - - - - - - - - - (musical division) – Contains a subdivision of the body of a musical text. - - - - - - - - - - - -

The mdiv element may contain one or both of 2 possible views of the - music. The score view is the traditional full and open score while the parts view contains - each performer's view of the score; that is, his part. These 2 views are necessary because - it is not always possible or desirable to generate one from the other. The score and parts elements are placed here and not directly within - the body element because score and part characteristics may change - from mdiv to mdiv. For example, the 2nd movement - of a symphony may require different performing forces (and therefore different score and - part layout) than the other movements. The mdiv element may be - recursively nested in order to represent music which exhibits this kind of structure. For - example, an opera is normally divided into acts, which are in turn divided into scenes.

-
Contains a single MEI-conformant document, consisting of an MEI header and a musical text, - either in isolation or as part of an meiCorpus element. - - - - - - - - - - The values in @staff must correspond to @n attribute of a staffDef - element. - - - -

The mei element defines an instance of a document encoded with the - MEI schema. It is the document element for a single document containing a header and data. - The name of this element should not be changed by any customization in order to assure an - absolute minimum level of MEI compliance.

-
(monograph level) – Contains bibliographic elements describing an item, for example, a - published book or journal, score, recording, or an unpublished manuscript. - - - - - - - - - Contains a single musical text of any kind, whether unitary or composite, for example, an - etude, opera, song cycle, symphony, or anthology of piano solos. - - - - - - - Proper noun or noun phrase. - - - - - - - - - - - - - - - - - - - Recommended practice is to use name elements to capture sub-parts of a generic - name. - - - - Characterizes the name in some sense, using any convenient classification scheme or - typology that employs single-token labels. - - - - - - A personal name. - - - Name of a corporate body. - - - Name of a location. - - - Name of a process or software application. - - - Name of a musical style; i.e., form, genre, technique, etc. - - - Name of a period of time. - - - -

Contains the name of an entity that is difficult to tag more specifically, for example, as - a corpName, geogName, persName, or title. The name element may - be used in place of the more specific elements when it is not known what kind of name is - being described or when a high degree of precision is not necessary. For example, the name element might be used when it is not clear whether the name "Bach" - refers to a person or a geographic feature. The name element may be - used for an individual, such as 'Henry VIII, King of England'; a corporate body, such as - 'The Beatles'; a geographical place; an expanse of time, such as 'The Romantic Era'; or a - mechanical (often generative) process. When name parts are needed, name sub-elements are recommended. The recommended values for the type - attribute are: person, corporation, location, period, and process. Dates associated with - the name (not necessarily the same as those pertaining to the entity - described by the name) may be recorded using startdate, - enddate, notbefore, notafter, and isodate - attributes. The name of the list from which a controlled value is taken, such as the - Thesaurus of Geographic Names (TGN) or Library of Congress Name Authority File (LCNAF), and - its electronically-available location may be recorded using the auth and - auth.uri attributes.

-
-

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
A single pitched event. - - - - - - - - - - - -

The accid and artic sub-elements may be used - instead of the note element's attributes when accid and artic represent first-class objects, - e.g., when they require attributes, such as x and y location - attributes. Similarly, the syl sub-element may be used instead of the - syl attribute. The verse sub-element may be used to group text syllables by - verse. The colored attribute may be used to indicate coloration. In the mensural - repertoire, coloration is a temporary change in the underlying mensuration from perfect to - imperfect. In the CMN repertoire, coloration is an inversion of the note head's normal - rendition, that is, the note head is void when it would otherwise be filled and vice versa. - Do not confuse this with visual color.

-
(number) – Numeric information in any form. - - - - - - - - - - Numeric value capturing a measurement or count. Can only be interpreted in combination - with the unit attribute. - - - - -

Use this element only when it is necessary to display a number in a special way or to - identify it with a type attribute.

-
An element indicating an ornament that is not a mordent, turn, or trill. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - -

If it is not textual, the glyph of the ornament may be indicated with the altsym - attribute, and it is recommended to provide an expansion of the ornament on the staff content. - The starting point of the ornament may be indicated by either a startid, - tstamp, tstamp.ges, or tstamp.real attribute. It is a semantic - error not to specify one of these attributes.

-
(paragraph) – One or more text phrases that form a logical prose passage. - - - - - - - - - -

A paragraph is usually typographically distinct: The text usually begins on a new line and - the first letter of the content is often indented, enlarged, or both.

-
-

This element is modelled on elements in the Encoded Archival Description, Text Encoding - Initiative (TEI), and HTML standards.

-
(padding) – An indication of extra visual space between notational elements. - - - - - - - - - An alternative visual rendition of the score from the point of view of a particular - performer (or group of performers). - - - - - - - - - - -

part elements are not used in MEI to indicate voice leading. - next attributes on event elements should be used for this purpose. part elements are useful for encoding individual parts when there is no - score, such as early music part books, when the music has non-aligning bar lines, when - different layout, such as page turns, are needed for the score and parts, or for - accommodating software that requires part-by-part encoding. When assembly of the parts into - a score is desired and there are non-aligning bar lines, bar lines which indicate points of - alignment across all the parts may be marked as 'controlling', while non-aligning ones may - be marked as 'non-controlling'.

-
Provides a container for performers' parts. - - - - - - - - - - (page beginning) – An empty formatting element that forces text to begin on a new - page. - - - - - - - - - - - - -

The n attribute should be used to record the page number displayed in the - source. It need not be an integer, e.g., 'iv', or 'p17-3'. The logical page number can be - calculated by counting previous pb ancestor elements. When used in a - score context, a page beginning implies an accompanying system beginning.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(page description) – Contains a brief prose description of the appearance or description - of the content of a physical page. - - - - - - -

Best practice suggests the use of controlled vocabulary. Don't confuse this element with a - figure caption. A caption is text primarily intended for display with an illustration. It - may or may not function as a description of the illustration.

-
(page footer) – A running footer on the first page. Also, used to temporarily override a - running footer on individual pages. - - - - - - - Records horizontal alignment of the page footer. - - - - -

This element is used to capture the textual data that often appears on the first page of - printed music. It may also be used for similarly formatted material in manuscripts. When - used within pb, it records a temporary suspension of the pattern of - page footers established by the use of pgFoot within a previous scoreDef. Auto-generated page numbers may be indicated with a processing - instruction. The pgHead, pgHead2, pgFoot, and pgFoot2 elements should *not* be used to encode textual notes/annotations.

-
(page footer 2) – A running footer on the pages following the first. - - - - - - - Records horizontal alignment of the page footer. Use multiple values to capture an - alternating pattern. - - - - -

This element is used to capture the textual data that often appears on the second and - succeeding pages of printed music. It may also be used for similarly formatted material in - manuscripts. Auto-generated page numbers may be indicated with a processing instruction. The - pgHead, pgHead2, pgFoot, and pgFoot2 elements should *not* be used to - encode textual notes/annotations.

-
(page header) – A running header on the first page. Also, used to temporarily override a - running header on individual pages. - - - - - - - Records horizontal alignment of the page header. - - - - -

This element is used to capture the textual data that often appears on the first page of - printed music. It may also be used for similarly formatted material in manuscripts. When - used within pb, it records a temporary suspension of the pattern of - page headers established by the use of pgHead within a previous scoreDef. Auto-generated page numbers may be indicated with a processing - instruction. The pgHead, pgHead2, pgFoot, and pgFoot2 elements should *not* be used to encode textual notes/annotations.

-
(page header 2) – A running header on the pages following the first. - - - - - - - Records horizontal alignment of the page header. Use multiple values to capture an - alternating pattern. - - - - -

This element is used to capture the textual data that often appears at the top of the - second and succeeding pages of printed music. It may also be used for similarly formatted - material in manuscripts. Auto-generated page numbers may be indicated with a processing - instruction. The pgHead, pgHead2, pgFoot, and pgFoot2 elements should *not* be used to encode textual notes/annotations.

-
Indication of 1) a "unified melodic idea" or 2) performance technique. - - - - - - - - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - Must have one of the attributes: - dur, dur.ges, endid, or tstamp2. - - - - - - The visual attributes of the phrase (@bezier, @bulge, @curvedir, @lform, - @lwidth, @ho, @startho, @endho, @to, @startto, @endto, @vo, @startvo, @endvo, @x, @y, - @x2, and @y2) will be overridden by visual attributes of the contained curve - elements. - - - -

Historically, the term "slur" indicated two notes performed legato, while the term "phrase" - was used for a "unified melodic idea". Nowadays, however, "slur" often has the same meaning - as "phrase" (See Read, p. 265-266), since the visual rendition of the two concepts is the - same. MEI provides two distinct elements so that those users wishing to maintain a - distinction for historical reasons may do so. If the user does not want to maintain the - distinction, then the more generic slur element should be employed. - The starting point of the phrase/slur may be indicated by either a startid, - tstamp, tstamp.ges, or tstamp.real attribute, while the - ending point may be recorded by either a dur, dur.ges, - endid, or tstamp2 attribute. It is a semantic error not to specify one - starting and one ending type of attribute. Either place, bulge, or - bezier attributes may be used to record the curvature of the phrase/slur. The slur and tie elements may be used instead of the - slur.* and tie.* attributes provided on chord and note elements when 1) they are required by software, or 2) multiple, alternative slurs - are needed.

-
(physical location) – Groups information about the current physical location of a - bibliographic item, such as the repository in which it is located and its shelf mark(s), and - its previous locations. - - - - - - - - - -

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
Name of the organization responsible for the publication of a bibliographic item. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(publication place) – Name of the place where a bibliographic item was published. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
The name of the individual(s), institution(s) or organization(s) receiving - correspondence. - - - - - - - - (related item) – Contains or references another bibliographic item which is related to the - present one. - - - - - - - - - - - Describes the relationship between the entity identified by the relatedItem element and the resource described in the parent element, i.e., bibl, source or relatedItem. - - - - Describes a relationship or linkage amongst entities. - - - - - - - - - - - - - - - - Within work, expression, source, or item, the value of the rel attribute must match one - of the following: hasAbridgement, isAbridgementOf, hasAdaptation, isAdaptationOf, - hasAlternate, isAlternateOf, hasArrangement, isArrangementOf, hasComplement, - isComplementOf, hasEmbodiment, isEmbodimentOf, hasExemplar, isExemplarOf, hasImitation, - isImitationOf, hasPart, isPartOf, hasRealization, isRealizationOf, hasReconfiguration, - isReconfigurationOf, hasReproduction, isReproductionOf, hasRevision, isRevisionOf, - hasSuccessor, isSuccessorOf, hasSummarization, isSummarizationOf, hasSupplement, - isSupplementOf, hasTransformation, isTransformationOf, hasTranslation, - isTranslationOf - Within work, expression, source or item, the target attribute - must be present. - - - - Describes the relationship between the entities identified by the plist and target - attributes. - - - - -

The plist and target attributes identify the participants in a - relationship, while the rel attribute describes the nature of their relationship. - A mutual relationship can be described using only the plist attribute – the - target attribute is not necessary. In a non-mutual relationship, plist - identifies the entities pointed "from", while target specifies the entities - pointed "to". If the target attribute is present, but the plist is - not, the relationship is presumed to exist between the parent of the current relation - element and the entities identified by target.

-
Gathers relation elements. - - - - - - (render) – A formatting element indicating special visual rendering, e.g., bold or - italicized, of a text word or phrase. - - - - - - - - - - - - - A positive value for rotation rotates the text in a counter-clockwise fashion, while - negative values produce clockwise rotation. - - - - -

When an entire element should be rendered in a special way, a style sheet function should - be used instead of the rend element.

-
Institution, agency, or individual which holds a bibliographic item. - - - - - - - - - -

Sub-units of the holding institution may be marked with repository - sub-elements. The name of the list from which a controlled value is taken may be recorded - using the auth attribute.

-
-

This element is modelled on an element in the Encoded Archival Description (EAD) - standard.

-
(responsibility) – A phrase describing the nature of intellectual responsibility. - - - - - - - - - -

The name of the list from which a controlled value is taken may be recorded using the - auth attribute.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(responsibility statement) – Transcription of text that names one or more individuals, - groups, or in rare cases, mechanical processes, responsible for creation, realization, - production, funding, or distribution of the intellectual or artistic content. - - - - - - - - - - - - At least one element pair (a resp element and a name-like element) is - recommended. Alternatively, each name-like element may have a @role - attribute. - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
A non-sounding event found in the source being transcribed. - - - - - - - - - - - - - - The value of @line must be less than or equal to the number of lines on the - staff. - - - -

See (Read, p. 96-102). Do not confuse this element with the space - element, which is used as an aid for visual alignment.

-
Name of a dramatic role, as given in a cast list. - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(role description) – Describes a character's role in a drama. - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(system beginning) – An empty formatting element that forces musical notation to begin on - a new line. - - - - - - - - - - - -

Do not confuse this element with the lb element, which performs a - similar function in prose.

-
Full score view of the musical content. - - - - - - - - - - -

Since the measure element is optional, a score may consist entirely - of page beginnings, each of which points to a page image. div elements - are allowed preceding and following sections of music data in order to accommodate blocks of - explanatory text.

-
(score definition) – Container for score meta-information. - - - - - - - - - - - - - - - - - - - - Segment of music data. - - - - - - - - - - - - - - - - - A - section containing an expansion element must have descendant section, ending, or rdg - elements. - - - -

This element functions as a container for actual music data. Pointing attributes make it - possible to connect this element to other internal or external entities, such as media - objects or annotations.

-
Contains information about the serial publication in which a bibliographic item has - appeared. - - - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
A placeholder used to fill an incomplete measure, layer, etc. most often so that the - combined duration of the events equals the number of beats in the measure. - - - - - - - - - - Contains a specialized form of heading or label, giving the name of one or more speakers - in a dramatic text or fragment. - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Names of sponsoring individuals, organizations or institutions. Sponsors give their - intellectual authority to a project; they are to be distinguished from funders, who provide - the funding but do not necessarily take intellectual responsibility. - - - - - - - - - -

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
(stacked text) – An inline table with a single column. - - - - - - - - Indicates the delimiter used to mark the portions of text that are to be - stacked. - - - - - Specifies how the stacked text components should be aligned. - - - Left justified. - - - Right justified. - - - Centered. - - - Aligned on right-most digit. - - - A group of equidistant horizontal lines on which notes are placed in order to represent - pitch or a grouping element for individual 'strands' of notes, rests, etc. that may or may not - actually be rendered on staff lines; that is, both diastematic and non-diastematic - signs. - - - - - - - - - - - - - - - - - - - - There must be a preceding staffDef with a matching value of @n, a preceding staff with - a matching @n value containing a staffDef, or a staffDef child element. - - - -

The def attribute may be used to create a connection with a staffDef element where logical and visual information about the staff is recorded. - Alternatively, the n attribute may be used as a reference to a staffDef element with the same value in its n attribute or the staff may - contain a staffDef element that defines it. If neither def nor n - attributes are present, then the encoding order of the staves is presumed to match the - encoding order of the staff definitions.

-
(staff definition) – Container for staff meta-information. - - - - - - - - - - - - - - - - - - - - - StaffDef must have an n attribute. - Either - @lines must be present or a preceding staffDef with the same value for @n and @lines - must exist. - Only one clef or clefGrp is - permitted. - - - - - - - @n must have the same value as the - current staff. - - - - - - - Either - @lines must be present or a preceding staffDef with matching @n value and @lines must - exist. - - - - - - The clef position must be less - than or equal to the number of lines on the staff. - - - - - - - - The clef position must be - less than or equal to the number of lines on the staff. - - - - - - - The tab.strings attribute must have the same - number of values as there are staff lines. - - - - - - - - The - tab.strings attribute must have the same number of values as there are staff - lines. - - - - - - - - The lines.color attribute - must have either 1) a single value or 2) the same number of values as there are staff - lines. - - - - - The lines.color attribute must have either 1) a single value or 2) the same number of - values as there are staff lines. - - - - - - - - - - The value of ppq must be a factor of - the value of ppq on an ancestor scoreDef. - - - - - - - - - - The value of ppq must be a factor of - the value of ppq on a preceding scoreDef. - - - - (staff group) – A group of bracketed or braced staves. - - - - - - - - - - - - - - - - - - - - Each staffDef must have a unique value - for the n attribute. - - - -

System is the more proper name for this concept (Read, p. 37-38). Bracketed staff groups - may contain other bracketed or braced staff groups or single staves. See Read, p. 35-38, - examples p. 434, 438.

-
(syllable) – Individual lyric syllable. - - - - - - - - - - - -

Do not confuse this element with the syllable element, which is used - to organize neume notation.

-
A reference to a previously defined symbol. - - - - - - - - - - - - - In the symbolDef context, symbol must have - either a startid attribute or x and y attributes. - In the symbolDef context, symbol - must have one of the following attributes: altsym, glyph.name, or - glyph.num. - - - -

The starting point, e.g. "hotspot", of the symbol may be identified in absolute output - coordinate terms using the x and y attributes or relative to another - element using the startid attribute. Attributes in the att.visualOffset class may - be used to record horizontal, vertical, or time offsets from the absolute coordinates or - from the location of the referenced element. The ref attribute must contain the - id of a symbolDef element. The scale attribute indicates - that the printed output must be scaled by the specified percentage.

-
Text and symbols descriptive of tempo, mood, or style, e.g., "allarg.", "a tempo", - "cantabile", "Moderato", "♩=60", "Moderato ♩ =60"). - - - - - - - - - - - - - - - - Only analog, class, label, mm, mm.dots, mm.unit, n, translit, type, xml:base, xml:id, - and xml:lang attributes are allowed when tempo is not a descendant of a score or - part. - - - - - - Must have one of the - attributes: startid, tstamp, tstamp.ges or tstamp.real. - - - Keyword or phrase which describes a resource. - - - - - - - - - - - The @data attribute may only occur on a - term which is a descendant of a classification element. - - - -

The term element may include other term - elements in order to allow the creation of coordinated terms; i.e., terms created from a - combination of other, independent terms.

-

To associate a term with a taxonomy category defined in the MEI metadata header, the value - of class must contain a fragment identifier corresponding to the appropriate term element. To associate a term with category in an externally-defined - taxonomy, class must contain an absolute URI, which may include the fragment - identifier of the element containing the category label.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
(text language) – Identifies the languages and writing systems within the work described - by a bibliographic description, not the language of the description. - - - - - - - - - (main language) supplies a code which identifies the chief language used in the - bibliographic work. - - - - - (other languages) one or more codes identifying any other languages used in the - bibliographic work. - - - - Title of a bibliographic entity. - - - - - - - - - - - - - - - - Indicates the bibliographic level of the title. - - - Analyzed component, such as an article or chapter, within a larger bibliographic - entity. - - - Collection. A group of items that were not originally published, distributed, or - produced together. - - - Subunit of a collection, e.g. item, folder, box, archival series, subgroup, or - subcollection. - - - Integrating resource, such as a continuously updated loose-leaf service or Web - site. - - - Monograph. - - - Journal. - - - Series. - - - Unpublished (including theses and dissertations unless published by a commercial - press). - - - - Characterizes the title in some sense, using any convenient classification scheme or - typology that employs single-token labels. - - - - - - Main title. - - - Subtitle or title of part. - - - Abbreviated form of title. - - - Alternate title by which the item is also known. - - - Translated form of title. - - - Collective title. - - - Descriptive paraphrase of the work. - - - -

The type attribute may be used to classify the title according to some - convenient typology. Sample values include: main (main title), subordinate (subtitle, title - of part), abbreviated (abbreviated form of title), alternative (alternate title by which the - work is also known), translated (translated form of title), uniform (collective title), and - desc (descriptive title). The type attribute is provided for convenience in - analysing titles and processing them according to their type; where such specialized - processing is not necessary, there is no need for such analysis, and the entire title, - including subtitles and any parallel titles, may be enclosed within a single title element. Title parts may be encoded in titlePart sub-elements. The name of the list from which a controlled value is taken - may be recorded using the auth attribute. The number of initial characters (such - as those constituting an article or preposition) that should not be used for sorting a title - or name may be indicated in the nonfiling attribute.

-
-

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Contains a transcription of the title page of a text. - - - - - - - - - - -

This element may be used within the physDesc element when no other - transcription is provided.

-
-

This element is modelled on an element in Encoded Archival Description (EAD) standard.

-
Contains a subsection or division of the title of a bibliographic entity. - - - - - - - - - - - - - - - - Characterizes this title component in some sense, using any convenient classification - scheme or typology that employs single-token labels. - - - - - - Alternate title by which the item is also known. - - - Arranged statement for music. Analogous to MARC 240 subfield o. - - - Medium of the carrier. Analogous to MARC 240 subfield h. - - - Publication/creation date(s) of work. Analogous to MARC 240 subfield f. - - - Descriptive paraphrase of the work. - - - Form subheading. Analogous to MARC 240 subfield k. - - - Key for music. Analogous to MARC 240 subfield r. - - - Language of a work. Analogous to MARC 240 subfield l (el). - - - Main title. - - - Name of a part or section of a work. Analogous to MARC 240 subfield p. - - - Standard number designation of a work or of a part or section of a work. Analogous - to MARC 240 subfield n. - - - Performance medium. Analogous to MARC 240 subfield m. - - - Subtitle. - - - Translated form of title. - - - Version. Analogous to MARC 240 subfield s. - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
Description of the horizontal size of an object. - - - - - - - - - String tablature string and fret information. - - - Indicates which finger, if any, should be used to play an individual string. The - index, middle, ring, and little fingers are represented by the values 1-4, while 't' is - for the thumb. The values 'x' and 'o' indicate muffled and open strings, - respectively. - - - - - - Records the location at which a string should be stopped against a fret. - - - - - - Records which string is to be played. - - - - - - - String tablature position information. - - - Records fret position. - - - - - - - String tablature tuning information. - - - Provides a *written* pitch and octave for each open string or course of - strings. - - - [a-g][0-9](s|f|ss|x|ff|xs|sx|ts|tf|n|nf|ns|su|sd|fu|fd|nu|nd|1qf|3qf|1qs|3qs)?([a-g][0-9](s|f|ss|x|ff|xs|sx|ts|tf|n|nf|ns|su|sd|fu|fd|nu|nd|1qf|3qf|1qs|3qs)?)* - - - - - A barre in a chord tablature grid. - - - - - - Records the location at which the strings should be stopped against a fret in a - fretboard diagram. This may or may not be the same as the actual location on the fretboard - of the instrument in performance. - - - 1 - 5 - - - -

The startid and endid attributes are used to indicate the chordMember elements on which the barre starts and finishes respectively. - The fret at which the barre should be created is recorded by the fret - attribute.

-
- Groups elements that may contain back matter. - - - - - Groups elements used to represent generic structural divisions of text. - - Groups elements that may contain front matter. - - - - - Groups elements that have a line-grouping function. - - - - - - Groups list-like elements. - - - - - - Groups elements representing metrical components such as verse lines. - - Groups elements related to highlighting which can appear at the phrase-level. - - - - - Groups elements used to directly contain quotations. - - - - - Contains a formal list or prose description of topics addressed. - - - - - - - - - -

This element is modelled on elements in the Text Encoding Initiative (TEI) standard.

-
(back matter) – Contains any appendixes, advertisements, indexes, etc. following the main - body of a musical text. - - - - - - - - -

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
Contains a quotation, anonymous or attributed, appearing on a title page. - - - - - - - - -

This element is modelled on elements in the Text Encoding Initiative (TEI) standard.

-
(front matter) – Bundles prefatory text found before the start of the musical text. - - - - - - - - -

titlePage may be used to transcribe the item's title page. Other - front matter structures, such as a preface, dedication, or table of contents, may be encoded - as textual divisions; that is, as div elements, with an optional head sub-element describing the nature of the division. The pb element is allowed here in order to accommodate page images, e.g. - cover, endpapers, etc. before and after the actual textual matter.

-
-

This element is modelled on elements in the Text Encoding Initiative (TEI) and Encoded - Archival Description (EAD) standards.

-
Contains a formal statement authorizing the publication of a work, sometimes required to - appear on a title page or its verso. - - - - - - - - -

This element is modelled on elements in the Text Encoding Initiative (TEI) standard.

-
(line of text) – Contains a single line of text within a line group. - - - - - - - - Used to specify a rhythm for the lyric syllables that differs from that of the notes - on the staff, e.g., '4,4,4,4' when the rhythm of the notes is '4.,8,4.,8'. - - - - -

Do not confuse this element with the line element, which is used for - graphical lines that occur in music notation.

-
-

This element is modelled on elements in the Text Encoding Initiative (TEI) standard.

-
(list item) – Single item in a list. - - - - - - -

This element is modelled on elements in the Encoded Archival Description (EAD), Text - Encoding Initiative (TEI), and HTML standards.

-
A formatting element that contains a series of items separated from one another and - arranged in a linear, often vertical, sequence. - - - - - - - - - - - - - - - - - In a list of type "gloss" all items - must be immediately preceded by a label. - - - - Used to indicate the format of a list. In a "simple" list, li - elements are not numbered or bulleted. In a "marked" list, the sequence of the list items - is not critical, and a bullet, box, dash, or other character is displayed at the start of - each item. In an "ordered" list, the sequence of the items is - important, and each li is lettered or numbered. Style sheet - functions should be used to specify the mark or numeration system for each li. - - - Items are not numbered or bulleted. - - - Bullet, box, dash, or other character is displayed before each item. - - - Each item is numbered or lettered. - - - - Captures the nature of the content of a list. - - - - - - Each list item glosses some term or concept, which is given by a label element - preceding the list item. - - - Each list item is an entry in an index such as the alphabetical topical index at - the back of a print volume. - - - Each list item is a step in a sequence of instructions, as in a recipe. - - - Each list item is one of a sequence of petitions, supplications or invocations, - typically in a religious ritual. - - - Each list item is part of an argument consisting of two or more propositions and a - final conclusion derived from them. - - - -

In a list of type "gloss" it is a semantic error not to precede each list item with a - label.

-
-
-

This element is modelled on elements in Encoded Archival Description (EAD), Text Encoding - Initiative (TEI), and HTML standards.

-
(quoted) – Contains material which is distinguished from the surrounding phrase-level text - using quotation marks or a similar method. Use quote for block-level - quotations. - - - - - - - - - - - - - - - - - Representation of speech. - - - Representation of thought, e.g. internal monologue. - - - Quotation from a written source. - - - Authorial distance. - - - Linguistically distinct. - - - Linguistically distinct. - - - Technical term. - - - Rhetorically emphasized. - - - Refering to itself, not its normal referent. - - - -

This element may be used for a variety of reasons including, but not limited to: direct - speech or thought, technical terms or jargon, authorial distance, quotations from elsewhere, - and passages that are mentioned but not used.

-

Do not confuse this element, used to capture phrase-level quotations, and quote, intended for block quotations.

-
-

This element is modelled on elements found in HTML, TEI, and EAD standards.

-
(quoted material) – Contains a paragraph-like block of text attributed to an external - source, normally set off from the surrounding text by spacing or other typographic - distinction. - - - - - - - - -

The source for the quote may be included in a bibl sub-element.

-

Do not confuse this element, used to capture block-level quotations, and q, intended for inline quotations.

-
-

This element is modelled on elements found in HTML, TEI, and EAD standards.

-
(arbitrary segment) represents any segmentation of text below the "text component" - level. - - - - - - - -

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

-
- Attributes supplying pointers to user-defined symbols. - - - Provides a way of pointing to a user-defined symbol. It must contain a reference to an - ID of a symbolDef element elsewhere in the document. - - - - - - - @altsym attribute - should have content. - The value in @altsym should correspond to the @xml:id attribute of a symbolDef - element. - The value - in @altsym must not correspond to the @xml:id attribute of a symbolDef - ancestor. - - - - - - - Logical domain attributes. - - - - - - Indicates the function of the text. - - - - - - The function of the text is unknown. - - - - - - Logical domain attributes. - - - - - - Indicates the function of the curve. - - - - - - The function of the curve is unknown. - - - - - - Attributes for describing the logical behavior of a line. - - - - - - - - - Indicates the function of the line. - - - - - - Indicates coloration in material transcribed from a source originally in mensural - notation. - - - Marks a ligature in material transcribed from a source originally in mensural - notation. - - - The function of the line is unknown. - - - - - - Groups elements that function as drawing primitives. - - Groups elements that group symbol definitions. - Container for text that is fixed to a particular page location, regardless of changes made - to the layout of the measures around it. - - - - - - - - - - - -

This element may be used where semantic markup of the text is neither possible nor - desirable, such as in optical music recognition (OMR) applications. The content model here - is similar to paragraph without model.textcomponent and pb - sub-elements. The starting point of the text may be identified in absolute output coordinate - terms using the x and y attributes or relative to the location of - another element using the startid attribute. The attributes in the - att.visualOffset class may be used to record horizontal, vertical, or time offsets from the - absolute coordinates or from the location of the referenced element.

-
A curved line that cannot be represented by a more specific element, such as a - slur. - - - - - - - - - - - - - In the symbolDef context, curve must have - either a startid attribute or x and y attributes. - In the symbolDef context, curve must have - either an endid attribute or both x2 and y2 attributes. - In the symbolDef context, curve must have either a - bezier or bulge attribute. - - - -

The starting point of the curve may be identified in absolute output coordinate terms using - the x and y attributes or relative to the location of another element - using the startid attribute. The attributes in the att.visualOffset class may be - used to record horizontal, vertical, or time offsets from the absolute coordinates or from - the location of the referenced element. Similarly, the terminal point of the curve may be - recorded using either the x2 and y2 coordinates or in relation to the - location of another element using the endid attribute. Attributes in the - att.visualOffset2 class maybe used to record the offsets of the ending point. The - bulge attribute or, alternatively, the bezier attribute, describe the - shape of the curve and the lform and lwidth attributes capture its - appearance.

-
A visual line that cannot be represented by a more specific; i.e., semantic, - element. - - - - - - - - - - - - - When used in the symbolDef context, must have - either a startid attribute or x and y attributes. - When used in the symbolDef context, must have - either an endid attribute or both x2 and y2 attributes. - - - When - used in the score context, must have a startid, tstamp, tstamp.ges or tstamp.real - attribute or both x and y attributes. - When used in - the score context, must have an endid, dur, dur.ges, or tstamp2 attribute or both x2 and - y2 attributes. - - - -

The starting point of the line may be identified in absolute output coordinate terms using - the x and y attributes. The attributes in the att.visualOffset class - may be used to record horizontal, vertical, or time offsets from these absolute coordinates - or from the location of the element reference in the startid attribute. - Similarly, the terminal point of the line may be recorded using the x2 and - y2 attributes. Attributes in the att.visualOffset2 class maybe used to record the - offsets of the ending point. Textual content of the line element, e.g. - 'gliss.', may be rendered with the line. The appearance of the line is captured in the - color, form and width attributes.

-
One or more characters which are related to the parent symbol in some respect, as - specified by the type attribute. - - - - (property name) – Name of a property of the symbol. - - - - - - - - - Characterizes the property name. - - - A registered Unicode normative or informative property name. - - - A locally defined name. - - - (property value) – A single property value. - - - - (symbol definition) – Declaration of an individual symbol in a symbolTable. - - - - - - - - - - -

Like a chord table, a symbolTable may be shared between MEI instances through the use of an - external parsed entity containing the symbolTable to be shared.

-
(symbol name) – Contains the name of a symbol, expressed following Unicode - conventions. - - - - (symbol property) – Provides a name and value for some property of the parent - symbol. - - - - - Contains a set of user-defined symbols. - - - - - -

Like a chord table, a symbolTable may be shared between mei instances through the use of an - external parsed entity containing the symbolTable to be shared.

-
- Visual domain attributes. - - - - - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - Visual domain attributes. - - - Location of the annotation. - - - - - - - Visual domain attributes. - - - - - - - - - - - Indicates if an arrowhead is to be drawn as part of the arpeggiation symbol. - - - - - - Symbol rendered at end of the line. - - - - - - Holds the relative size of the arrow symbol. - - - - - - Captures the overall color of the arrow. - - - - - - Captures the fill color of the arrow if different from the line color. - - - - - - Visual form of the line. - - - - - - Width of the line. - - - - - - - Visual domain attributes. - - - - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - States the length of barlines in virtual units. The value must be greater than 0 and - is typically equal to 2 times (the number of staff lines - 1); e.g., a value of '8' for a - 5-line staff. - - - 0 - - - -

This attribute is ignored if the value of the style attribute is "mensur".

-
-
- - Records the method of barring. - - - - - - Denotes the staff location of the bar line if its length is non-standard. - - - - -

The location may include staff lines, the spaces between the lines, and the spaces - directly above and below the staff. The value ranges between 0 (just below the staff) to - 2 * number of staff lines (directly above the staff). For example, on a 5-line staff the - lines would be numbered 1, 3, 5, 7, and 9 while the spaces would be numbered 0, 2, 4, 6, - 8, and 10. So, a value of '9' puts the bar line through the top line of the staff.

-

This attribute is ignored if the value of the style attribute is "mensur".

-
-
-
-
- Visual domain attributes. - - - - - - - Used by layerDef, staffDef, and scoreDef to provide default values for attributes in the - visual domain related to beaming. - - - Color of beams, including those associated with tuplets. - - - - - - Encodes whether a beam is "feathered" and in which direction. - - - Beam lines grow farther apart from left to right. - - - Beam lines grow closer together from left to right. - - - Beam lines are equally-spaced over the entire length of the beam. - - - - - Captures beam slope. - - - - - - - Visual domain attributes. - - - - - Visual domain attributes. - - - - - - - - - - Indicates the number of slashes required to render the appropriate beat repeat symbol. - When a single beat consisting of a single note or chord is repeated, the repetition symbol - is a single thick, slanting slash; therefore, the value '1' should be used. When the beat - is divided into even notes, the following values should be used: 4ths or 8ths=1, 16ths=2, - 32nds=3, 64ths=4, 128ths=5. When the beat is comprised of mixed duration values, the - default rendition is 2 slashes and 2 dots. - - - - - - - Visual domain attributes. If the bulge or bezier attributes are present, the bend should - be rendered as a curve. Otherwise, it should be rendered using lines. The ho and vo attributes - describe the visual offset of the entire rendered bend. The endho, endvo and startho, startvo - attribute pairs may be used to encode start and end points relative to their programmatic - placement. For exact placement of the endpoints of the bend, use the x and y - attributes. - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - Visual domain attributes. - - - - - Visual domain attributes. - - - - - - - - - - - - - Visual domain attributes for chord. The slur, slur.dir, slur.rend, tie, tie.dir, and - tie.rend attributes here are syntactic sugar for these attributes on each of the chord's - individual notes. The values here apply to all the notes in the chord. If some notes are - slurred or tied while others aren't, then the individual note attributes must be used. - - - - - - - - - - - - - - - - Indicates a single, alternative note head should be displayed instead of individual - note heads. The highest and lowest notes of the chord usually indicate the upper and lower - boundaries of the cluster note head. - - - - - - - Visual domain attributes. - - Visual domain attributes. - - Visual domain attributes. - - - - - - - - - Used by staffDef and scoreDef to provide default values for attributes in the visual - domain related to clefs. - - - Describes the color of the clef. - - - - - - Determines whether the clef is to be displayed. - - - - - - - Visual domain attributes. - - Visual domain attributes. - - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - Visual domain attributes. - - - - - - - - - Visual domain attributes. - - Visual domain attributes. - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - Visual domain attributes. - - - - - Visual domain attributes. - - - - - - - - - - - - - - - - - Horizontal stroke. - - - Vertical stroke. - - - - - Captures the placement of the episema with respect to the neume or neume component - with which it is associated. - - - - - - - Visual domain attributes. - - - - - - - - -

If tstamp2 is not provided, then the extender should be drawn based on the value - of tstamp2 on the harm ancestor.

-
-
- Visual domain attributes. - - - - - - - - - - - - Describes the visual appearance of the fermata; that is, whether it occurs as upright - or inverted. - - - Inverted, i.e., curve or bracket below the dot. - - - Upright; i.e., curve or bracket above the dot. - - - - - Describes the visual appearance of the fermata; that is, whether it has a curved, - square, or angular shape. - - - A curve above or below the dot. - - - A bracket above or below the dot. - - - A triangle above or below the dot. - - - - - - Visual domain attributes. - - - - - - - - -

If tstamp2 is not provided, then the extender should be drawn based on the value - of tstamp2 on a fingering ancestor.

-
-
- Visual domain attributes. - - - - - - - - - - - - Combination expressed horizontally, as for brass instruments. - - - Combination expressed vertically, as for woodwind instruments or piano. - - - - - - Visual domain attributes. - - - Indicates the number of beams present. - - - 1 - 6 - - - - - Captures the number of "floating" beams, i.e., those not attached to stems. - - - - - - - The number of floating beams must be less - than or equal to the total number of beams. - - - - - - Records the amount of separation between floating beams and stems. - - - - - - - Visual domain attributes. - - - - - - - - - - - - - Visual domain attributes. - - - - - - - - - Visual domain attributes. The startho and startvo attributes record the horizontal and - vertical offsets of the left end, endho and endvo record the horizontal and vertical offsets - of the right end, and the opening attribute records the width of the opening in staff - inter-line units. The x and y attributes give the absolute coordinates of the left end point, - and x2 and y2 the right end point, of an imaginary line that defines the length of the hairpin - and horizontally bifurcates it. The so-called "pitch" of hairpin may be controlled by use of - the startho, endho, startvo, and endvo attributes, while the placement of the entire rendered - mark may be controlled by use of the ho and vo attributes. - - - - - - - - - - - - - Specifies the distance between the lines at the open end of a hairpin dynamic - mark. - - - - - - - Visual domain attributes. - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - Describes how the harmonic indication should be rendered. - - - Chord tablature grid. - - - Chord tablature grid and the element's textual content. - - - Textual content of the element. - - - - - - Visual domain attributes. - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - - Captures the placement of the tick mark with respect to the neume or neume component - with which it is associated. - - - - - - Direction toward which the mark points. - - - - - - - Visual domain attributes. - - Visual domain attributes. - - - - - - - - - - Visual domain attributes. - - - - - - Determines whether cautionary accidentals should be displayed at a key change. - - - - - - - Used by staffDef and scoreDef to provide default values for attributes in the visual - domain related to key signatures. - - - Indicates whether the key signature should be displayed. - - - - - - Determines whether cautionary accidentals should be displayed at a key change. - - - - - - - Visual domain attributes. - - - - - Visual domain attributes. - - - - - - - Visual domain attributes. - - - - - Attributes for describing the visual appearance of a line. - - - - - - - - - - - Visual form of the line. - - - - - - - Width of the line. - - - - - - - Symbol rendered at end of line. - - - - - - Holds the relative size of the line-end symbol. - - - - - - - Symbol rendered at start of line. - - - - - - Holds the relative size of the line-start symbol. - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - - Records direction of curvature. - - - Anti-clockwise curvature. - - - Clockwise curvature. - - - - - Indicates whether curve is closed. - - - - - - - Visual domain attributes. The vo attribute is the vertical offset (from its normal - position) of the entire rendered tie. The startho, startvo, endho, and endvo attributes - describe the horizontal and vertical offsets of the start and end points of the sign in terms - of staff interline distance; that is, in units of 1/2 the distance between adjacent staff - lines. Startto and endto describe the start and end points in terms of time; that is, - beats. - - - - - - - - - - - Visual domain attributes. - - - - - - Visual domain attributes. - - - - - - Visual domain attributes. These attributes describe the physical appearance of the - mensuration sign/time signature of mensural notation. - - - - - - - - - - Indicates whether the base symbol is written vertically or horizontally. - - - Horizontally oriented. - - - Vertically oriented. - - - - - Describes the rotation or reflection of the base symbol. - - - - - - - Used by staffDef and scoreDef to provide default values for attributes in the visual - domain related to mensuration. - - - Records the color of the mensuration sign. Do not confuse this with the musical term - 'color' as used in pre-CMN notation. - - - - - - Indicates whether the base symbol is written vertically or horizontally. - - - Horizontally oriented. - - - Vertically oriented. - - - - - Holds the staff location of the mensuration sign. - - - - - - Describes the rotation or reflection of the base symbol. - - - - - - Describes the relative size of the mensuration sign. - - - - - - - Visual domain attributes. - - - - - - - - - Contains an indication of how the meter signature should be rendered. - - - Show only the number of beats. - - - The lower number in the meter signature is replaced by a note symbol. - - - Meter signature rendered using traditional numeric values. - - - Meter signature not rendered. - - - - - - Used by staffDef and scoreDef to provide default values for attributes in the visual - domain related to meter signature. - - - Contains an indication of how the meter signature should be rendered. - - - Show only the number of beats. - - - The lower number in the meter signature is replaced by a note symbol. - - - Meter signature rendered using traditional numeric values. - - - Meter signature not rendered. - - - - - Determines whether the old meter signature should be displayed when the meter - signature changes. - - - - - - - Visual domain attributes. - - Visual domain attributes. - - Visual domain attributes. - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - Visual domain attributes. - - - - - - - - - Visual domain attributes. - - - - - - - - - Visual domain attributes. - - - - - - - Visual domain attributes. - - - - - - - - - - When the block attribute is used, combinations of the 1, 2, and 4 measure rest forms - (Read, p. 104) should be rendered instead of the modern form or an alternative - symbol. - - - - - - - Visual domain attributes. - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - Visual domain attributes. - - Visual domain attributes. - - Visual domain attributes. - - Visual domain attributes. - - Visual domain attributes. - - - States the side of a leaf (as in a manuscript) on which the content following the pb element occurs. - - - The back of a manuscript page. - - - The front of a manuscript page. - - - - - - Visual domain attributes. The place attribute captures the placement of the pedal marking - with respect to the staff with which it is associated. Modern publishing standards require the - place to be 'below'; however, for transcriptions of manuscript works, this attribute class - allows the full range of values. - - - - - - - - - - - - - Determines whether piano pedal marks should be rendered as lines or as terms. - - - Continuous line with start and end positions rendered by vertical bars and bounces - shown by upward-pointing "blips". - - - Pedal down and half pedal rendered with "Ped.", pedal up rendered by "*", pedal - "bounce" rendered with "* Ped.". - - - Pedal up and down indications same as with "pedstar", but bounce is rendered with - "Ped." only. - - - - - - Visual domain attributes. - - - - - - - - - - Visual domain attributes. - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - - Number of "crests" of a wavy line. - - - 2 - 4 - - - - - - Visual domain attributes. - - Visual domain attributes. - - - - - - - - - - - Visual domain attributes. - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - - Visual domain attributes. - - - - - - - - Indicates whether hash marks should be rendered between systems. See Read, p. 436, ex. - 26-3. - - - Display hash marks between systems. - - - - - - Visual domain attributes. - - Visual domain attributes for scoreDef in the CMN repertoire. - - - - - - - - - - - - - - - - - - - - - - - - Defines the height of a "virtual unit" (vu) in terms of real-world units. A single vu - is half the distance between the vertical center point of a staff line and that of an - adjacent staff line. - - - - \d+(\.\d+)?(cm|mm|in|pt|pc) - - - - - - Visual domain attributes. - - - Indicates that staves begin again with this section. - - - - - - - Visual domain attributes. - - - - - - - - - - - - - - Captures the placement of the sequence of characters with respect to the neume or - neume component with which it is associated. - - - - - - - Visual domain attributes for slur. The vo attribute is the vertical offset (from its - normal position) of the entire rendered slur/phrase mark. - - - - - - - - - - - Visual domain attributes. - - - - - - - - - Visual domain attributes. - - - - - - Indicates whether a space is 'compressible', i.e., if it may be removed at the - discretion of processing software. - - - - - - - Visual domain attributes. - - - - - Visual domain attributes for staffDef. - - - - - - - - - - - - - - - - - - - - Determines whether to display guitar chord grids. - - - - - - Indicates the number of layers and their stem directions. - - - - - - Captures the colors of the staff lines. The value is structured; that is, it should - have the same number of space-separated RGB values as the number of lines indicated by the - lines attribute. A line can be made invisible by assigning it the same RGB value as the - background, usually white. - - - - - - Records whether all staff lines are visible. - - - - - - Records the absolute distance (as opposed to the relative distances recorded in scoreDef elements) between this staff and the preceding one in the same - system. This value is meaningless for the first staff in a system since the spacing.system - attribute indicates the spacing between systems. - - - - - - - Visual domain attributes. - - - - - - - - Indicates whether bar lines go across the space between staves (true) or are only - drawn across the lines of each staff (false). - - - - -

This attribute is ignored when the bar.method attribute's value is "mensur" or - "takt".

-
-
-
-
- Visual domain attributes. - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - Visual domain attributes. - - Visual domain attributes. - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - Visual domain attributes. The vo attribute is the vertical offset (from its normal - position) of the entire rendered tie. The startho, startvo, endho, and endvo attributes - describe the horizontal and vertical offsets of the start and end points of the tie in terms - of staff interline distance; that is, in units of 1/2 the distance between adjacent staff - lines. Startto and endto describe the start and end points in terms of time; that is, - beats. - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - - Visual domain attributes. - - - - - - - Used to state where a tuplet bracket will be placed in relation to the note - heads. - - - - - - States whether a bracket should be rendered with a tuplet. - - - - - - Determines if the tuplet duration is visible. - - - - - - Controls how the num:numbase ratio is to be displayed. - - - Only the num attribute is displayed, e.g., '7'. - - - Both the num and numbase attributes are displayed, e.g., '7:4'. - - - - - - Visual domain attributes. - - - - - Visual domain attributes. - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - Visual domain attributes. - - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/rodan-main/code/helper_scripts/mult_upload b/rodan-main/code/helper_scripts/mult_upload deleted file mode 100644 index 014bf4585..000000000 --- a/rodan-main/code/helper_scripts/mult_upload +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# Prompts user to select the server where files will be uploaded -echo "Please enter the number corresponding to the server you would like to upload to" - select server in "rodan-dev.simssa.ca" "rodan.simssa.ca"; do - case $server in - rodan-dev.simssa.ca ) read -p "username: " username; read -p "password: " password; break;; - rodan.simssa.ca ) read -p "username: " username; read -p "password: " password; break;; - esac - done - -# Obtains and displays user token id -var=`curl -v -XPOST -d username=$username -d password=$password http://$server/auth/token/ | egrep '"token":"[^\, ]+' -o` -tokenid=${var:9:40} - -# Obtains a list of projects uuid and asks user to input their choice of project -curl -v -XGET -H "Authorization: Token $tokenid" http://$server/projects/ | egrep 'project/[^\/]+' -o -echo "Please input the uuid of a project to which you would like to upload" -read projectid - -# For N files in the directory where the script is located, N Post requests are created to upload all image files -for file in * -do - if [ "$file" = "mult_upload" ]; then - continue - fi - curl -X POST -i -H "Authorization: Token $tokenid" -H "Accept: application/json" --form "files=@$file" --form "project=http://$server/project/$projectid/" http://$server/resources/ -done # file - diff --git a/rodan-main/code/rodan/__init__.py b/rodan-main/code/rodan/__init__.py index 43d82bf28..29eb952c5 100644 --- a/rodan-main/code/rodan/__init__.py +++ b/rodan-main/code/rodan/__init__.py @@ -17,7 +17,7 @@ # Get version: import rodan; rodan.__version__ # Version numbers also appear in the API. __title__ = "Rodan" -__version__ = "v3.0.0" +__version__ = "v3.1.0" __copyright__ = "Copyright 2011-2022 Distributed Digital Music Archives & Libraries Lab" # If changing this line, also change rodan-main/Dockerfile __build_hash__ = "local" diff --git a/rodan-main/code/rodan/jobs/MEI_encoding/README.md b/rodan-main/code/rodan/jobs/MEI_encoding/README.md index 1bf3c6454..efc940cf8 100644 --- a/rodan-main/code/rodan/jobs/MEI_encoding/README.md +++ b/rodan-main/code/rodan/jobs/MEI_encoding/README.md @@ -9,4 +9,4 @@ Can also take addition JSON input from Column Splitting which contains the dimen **Currently uses Python 3** xml.etree has replaced LibMEI in this job. -This job uses state machines to handle the logic of when syllables should be made, ended, and when glyphs should be added to the inside or outside of syllables. state_machine.excalidraw is a diagram for the state machine used to build MEI files, and test_state_machine.excalidraw is a diagram for the state machine used to validate MEI files. Excalidraw files can be viewed through the excalidraw VS code extension, or the website. \ No newline at end of file +This job uses state machines to handle the logic of when syllables should be made, ended, and when glyphs should be added to the inside or outside of syllables. state_machine.excalidraw is a diagram for the state machine used to build MEI files, and test_state_machine.excalidraw is a diagram for the state machine used to validate MEI files. Excalidraw files can be viewed through the excalidraw VS code extension, or the website. diff --git a/rodan-main/code/rodan/jobs/MEI_encoding/visualize_alignment.py b/rodan-main/code/rodan/jobs/MEI_encoding/visualize_alignment.py index 81124b1ee..3c1d5ceae 100644 --- a/rodan-main/code/rodan/jobs/MEI_encoding/visualize_alignment.py +++ b/rodan-main/code/rodan/jobs/MEI_encoding/visualize_alignment.py @@ -1,6 +1,5 @@ import numpy as np from PIL import Image, ImageDraw, ImageFont, ImageOps -from pymei import MeiDocument, MeiElement, MeiAttribute, documentToText, documentToFile # This file contains only functions for drawing out intermediate results of the alignment, for # use when developing; nothing here is called in the rodan job. diff --git a/rodan-main/code/rodan/jobs/base.py b/rodan-main/code/rodan/jobs/base.py index b859fba23..6ec4e1030 100644 --- a/rodan-main/code/rodan/jobs/base.py +++ b/rodan-main/code/rodan/jobs/base.py @@ -66,7 +66,7 @@ def __new__(cls, clsname, bases, attrs): module_name = attrs["__module__"] if module_name.startswith("rodan.jobs."): attrs["_package_name"] = ( - "rodan.jobs." + module_name[len("rodan.jobs."):].split(".", 1)[0] + "rodan.jobs." + module_name[len("rodan.jobs.") :].split(".", 1)[0] ) else: if settings.TEST and module_name == "rodan.test.dummy_jobs": @@ -102,12 +102,14 @@ def __init__(cls, clsname, bases, attrs): if attrs.get("_abstract") is True: return else: - # Set base settings schema if they do not already exist in the job. schema = attrs.get("settings", {"job_queue": "celery", "type": "object"}) if not Job.objects.filter(name=attrs["name"]).exists(): - if (not getattr(settings, "_update_rodan_jobs", None) and not settings.TEST): + if ( + not getattr(settings, "_update_rodan_jobs", None) + and not settings.TEST + ): raise ImproperlyConfigured( ( "The catalogue of local jobs does not match the ones in " @@ -135,7 +137,7 @@ def __init__(cls, clsname, bases, attrs): job_queue=schema.get("job_queue", "celery"), ) j.save() - #print(attrs["name"]) + # print(attrs["name"]) try: for ipt in attrs["input_port_types"]: @@ -387,9 +389,18 @@ def check_port_types(which): resource_types = RodanTaskType._resolve_resource_types( attrs_pt["resource_types"] ) - rt_code = set(list(map(lambda rt: rt.mimetype, resource_types))) #map works differently in py2->3, need to add list + rt_code = set( + list(map(lambda rt: rt.mimetype, resource_types)) + ) # map works differently in py2->3, need to add list rt_db = set( - list((map(lambda rt: rt.mimetype, pt.resource_types.all()))) + list( + ( + map( + lambda rt: rt.mimetype, + pt.resource_types.all(), + ) + ) + ) ) if rt_code != rt_db: if not UPDATE_JOBS: @@ -489,8 +500,10 @@ def check_port_types(which): is_list=bool(pt.get("is_list", False)), ) i.save() - resource_types = RodanTaskType._resolve_resource_types( - pt["resource_types"] + resource_types = ( + RodanTaskType._resolve_resource_types( + pt["resource_types"] + ) ) if len(resource_types) == 0: raise ValueError( @@ -523,15 +536,17 @@ def _resolve_resource_types(value): Returns a list of ResourceType objects. """ try: - mimelist = list(filter( - value, ResourceType.objects.all().values_list("mimetype", flat=True) - )) + mimelist = list( + filter( + value, ResourceType.objects.all().values_list("mimetype", flat=True) + ) + ) except TypeError: mimelist = value return ResourceType.objects.filter(mimetype__in=mimelist) -class RodanTask(Task,metaclass=RodanTaskType): +class RodanTask(Task, metaclass=RodanTaskType): # __metaclass__ = RodanTaskType abstract = True @@ -552,6 +567,7 @@ def _extract_resource(resource, resource_type_mimetype=None): "resource_type": str( resource_type_mimetype or resource.resource_type.mimetype ), + "resource_name": str(resource.name), } if with_urls: r["resource_url"] = str(resource.resource_url) @@ -575,12 +591,14 @@ def _extract_resource(resource, resource_type_mimetype=None): inputs[ipt_name].append(_extract_resource(input.resource)) elif input.resource_list is not None: # If resource_list inputs[ipt_name].append( - list(map( - lambda x: _extract_resource( - x, input.resource_list.get_resource_type().mimetype - ), - input.resource_list.resources.all(), - )) + list( + map( + lambda x: _extract_resource( + x, input.resource_list.get_resource_type().mimetype + ), + input.resource_list.resources.all(), + ) + ) ) else: raise RuntimeError( @@ -694,8 +712,8 @@ def __init__(self, settings_update={}, response=None): for k, v in settings_update.items(): if isinstance(k, str) and k.startswith("@"): # noqa self.settings_update[k] = v - - # this is not throwing error in rodan for python3 + + # this is not throwing error in rodan for python3 def tempdir(self): """ @@ -774,16 +792,24 @@ def run(self, runjob_id): logger.info(("ran the task and the returned object is {0}").format(retval)) if isinstance(retval, self.WAITING_FOR_INPUT): - logger.info(("the settings_update field is: {0}").format(retval.settings_update)) + logger.info( + ("the settings_update field is: {0}").format(retval.settings_update) + ) try: if type(retval.settings_update["@settings"]) == bytes: - retval.settings_update["@settings"] = retval.settings_update["@settings"].decode("UTF-8") + retval.settings_update["@settings"] = retval.settings_update[ + "@settings" + ].decode("UTF-8") except KeyError: pass settings.update(retval.settings_update) - logger.info(("After being updated the settings_update field is: {0}").format(retval.settings_update)) + logger.info( + ("After being updated the settings_update field is: {0}").format( + retval.settings_update + ) + ) - # for python3 we have to use decode utf 8 for jason format + # for python3 we have to use decode utf 8 for jason format # for the last step of the biollante job # first iteration the updated version is the same as the initial version # encoded again? biollante is working? @@ -817,9 +843,16 @@ def run(self, runjob_id): and user.user_preference.send_email ): to = [user.email] - email_template = "emails/workflow_run_waiting_for_user_input.html" - context = {"name": workflow_run.name, "description": workflow_run.description} - registry.tasks["rodan.core.send_templated_email"].apply_async((to, email_template, context)) + email_template = ( + "emails/workflow_run_waiting_for_user_input.html" + ) + context = { + "name": workflow_run.name, + "description": workflow_run.description, + } + registry.tasks["rodan.core.send_templated_email"].apply_async( + (to, email_template, context) + ) return "WAITING FOR INPUT" else: @@ -938,45 +971,56 @@ def run(self, runjob_id): # Update workflow run description with job info wall_time = time.time() - start_time try: - snapshot_info = "\n\n{0}:\n name: \"{1}\"\n wall_time: \"{2}\"\n".format( - str(runjob.uuid), - runjob.job_name, - time.strftime("%H:%M:%S", time.gmtime(wall_time)) + snapshot_info = ( + '\n\n{0}:\n name: "{1}"\n wall_time: "{2}"\n'.format( + str(runjob.uuid), + runjob.job_name, + time.strftime("%H:%M:%S", time.gmtime(wall_time)), + ) ) if len(settings) > 0: snapshot_info += " settings:\n" for key, value in settings.iteritems(): - snapshot_info += " {0}: {1}\n".format(str(key), str(value)) + snapshot_info += " {0}: {1}\n".format( + str(key), str(value) + ) input_qs = Input.objects.filter(run_job=runjob) if input_qs.count() > 0: snapshot_info += " inputs:\n" for input in input_qs: - snapshot_info += " - uuid: {0}\n" \ - .format(str(input.resource.uuid)) - snapshot_info += " name: \"{0}\"\n" \ - .format(input.resource.name) + snapshot_info += " - uuid: {0}\n".format( + str(input.resource.uuid) + ) + snapshot_info += ' name: "{0}"\n'.format( + input.resource.name + ) output_qs = Output.objects.filter(run_job=runjob) if output_qs.count() > 0: snapshot_info += " outputs:\n" for output in Output.objects.filter(run_job=runjob): - snapshot_info += " - uuid: {0}\n" \ - .format(str(output.resource.uuid)) - snapshot_info += " name: \"{0}\"\n" \ - .format(input.resource.name) + snapshot_info += " - uuid: {0}\n".format( + str(output.resource.uuid) + ) + snapshot_info += ' name: "{0}"\n'.format( + input.resource.name + ) snapshot_info += "\n" with transaction.atomic(): - atomic_wfrun = WorkflowRun.objects.select_for_update() \ - .get(uuid=runjob.workflow_run.uuid) + atomic_wfrun = WorkflowRun.objects.select_for_update().get( + uuid=runjob.workflow_run.uuid + ) if atomic_wfrun.description is None: atomic_wfrun.description = "" atomic_wfrun.description += snapshot_info atomic_wfrun.save(update_fields=["description"]) - except AttributeError: # This happens during tests where not all fields are set + except ( + AttributeError + ): # This happens during tests where not all fields are set pass except Exception as e: print(e) @@ -1016,8 +1060,13 @@ def on_failure(self, exc, task_id, args, kwargs, einfo): ): to = [user.email] email_template = "rodan/email/workflow_run_failed.html" - context = { "name": workflow_run.name, "description": workflow_run.description} - registry.tasks["rodan.core.send_templated_email"].apply_async((to, email_template, context)) + context = { + "name": workflow_run.name, + "description": workflow_run.description, + } + registry.tasks["rodan.core.send_templated_email"].apply_async( + (to, email_template, context) + ) def _add_error_information_to_runjob(self, exc, einfo): # Any job using the default_on_failure method can define an error_information diff --git a/rodan-main/code/rodan/jobs/biollante_rodan/README.md b/rodan-main/code/rodan/jobs/biollante_rodan/README.md index 85a39a373..089166dd9 100644 --- a/rodan-main/code/rodan/jobs/biollante_rodan/README.md +++ b/rodan-main/code/rodan/jobs/biollante_rodan/README.md @@ -2,15 +2,6 @@ This is [Gamera's](https://gamera.informatik.hsnr.de/) genetic algorithm optimizer for kNN classifiers ([Biollante](https://gamera.informatik.hsnr.de/docs/gamera-docs/ga_optimization.html#user-interface-biollante)) adapted for use in [Rodan](http://ddmal.music.mcgill.ca/Rodan/). -This is a work in progress. - -## UPDATE FOR RUNNING IN PYTHON3 -- Python3 does not convert between JSON objects and bytes automatically. Thus, you have to use encode and decode manually. -- I created a function to sort a list of dictionaries for the settings of celery jobs. -- Biollante now works in python3. -- For more information regarding how gamera runs in python3 you can refer to Rodan/rodan-main/code/rodan/jobs/gamera_rodan/gamera-rodan-Py3doc.md - - ## License This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/rodan-main/code/rodan/jobs/core.py b/rodan-main/code/rodan/jobs/core.py index c972d632d..d58601c70 100644 --- a/rodan-main/code/rodan/jobs/core.py +++ b/rodan-main/code/rodan/jobs/core.py @@ -7,6 +7,8 @@ import sys import tempfile import zipfile +import io, base64 +import six from celery import task, registry from celery import Task @@ -17,7 +19,6 @@ from django.db.models import Q, Case, Value, When, BooleanField import PIL from pybagit.bagit import BagIt -import six import rodan # noqa from rodan.models import ( @@ -43,7 +44,8 @@ from templated_mail.mail import BaseEmailMessage # from rodan.celery import app - +from celery.utils.log import get_task_logger +logger = get_task_logger(__name__) class create_resource(Task): name = "rodan.core.create_resource" @@ -946,26 +948,29 @@ def send_templated_email(to, email_template, context): @task(name="rodan.core.create_archive") def create_archive(resource_uuids): """ - Creates a zip archive of resosurces in memory for a user to download + Creates a zip archive of resources in memory for a user to download """ condition = Q() for uuid in resource_uuids: condition |= Q(uuid=uuid) resources = Resource.objects.filter(Q(resource_file__isnull=False) & condition) + logger.info('Number of resources to archive: %d', resources.count()) + # Don't return an empty zip file if resources.count() == 0: return None - temporary_storage = six.StringIO() - with zipfile.ZipFile(temporary_storage, "a", zipfile.ZIP_DEFLATED) as archive: + + temporary_storage = io.BytesIO() + with zipfile.ZipFile(temporary_storage, "w", zipfile.ZIP_DEFLATED) as archive: for resource in resources: if not resource.resource_file: - print("{} has no file!".format(resource.name)) + logger.warning("{} has no file!".format(resource.name)) continue - # determine a path that doesn't conflict + # Determine a path that doesn't conflict filepath = resource.name + "." + resource.resource_type.extension if filepath in archive.namelist(): - for i in six.moves.range(1, sys.maxint): + for i in range(1, sys.maxsize): filepath = resource.name + " ({}).".format(i) + resource.resource_type.extension if filepath not in archive.namelist(): break @@ -976,7 +981,7 @@ def create_archive(resource_uuids): ) temporary_storage.seek(0) - return temporary_storage + return base64.b64encode(temporary_storage.getvalue()).decode('utf-8') class test_work(Task): diff --git a/rodan-main/code/rodan/jobs/extract_c_clefs/__init__.py b/rodan-main/code/rodan/jobs/extract_c_clefs/__init__.py new file mode 100644 index 000000000..36e5d0bc0 --- /dev/null +++ b/rodan-main/code/rodan/jobs/extract_c_clefs/__init__.py @@ -0,0 +1,4 @@ +__version__ = "1.0.0" +from rodan.jobs import module_loader + +module_loader("rodan.jobs.extract_c_clefs.base") diff --git a/rodan-main/code/rodan/jobs/extract_c_clefs/base.py b/rodan-main/code/rodan/jobs/extract_c_clefs/base.py new file mode 100644 index 000000000..a05d0eb67 --- /dev/null +++ b/rodan-main/code/rodan/jobs/extract_c_clefs/base.py @@ -0,0 +1,67 @@ +from rodan.jobs.base import RodanTask +from .extract_c_clefs import * +import cv2 as cv +import os +import json +import logging + +logger = logging.getLogger("rodan") + + +class ExtractCClefs(RodanTask): + name = "Extract C Clefs" + author = "Lucas March" + description = "Finds the C clefs from a generated XML file from the interactive classifier and exports them to seperate images." + enabled = True + category = "Image Processing" + interactive = False + settings = { + "title": "Settings", + "type": "object", + "job_queue": "Python3", + } + input_port_types = ( + { + "name": "PNG Image", + "minimum": 1, + "maximum": 1, + "resource_types": ["image/rgba+png"], + }, + { + "name": "XML file", + "minimum": 1, + "maximum": 1, + "resource_types": ["application/gamera+xml"], + }, + ) + output_port_types = ( + { + "name": "C Clef", + "minimum": 1, + "maximum": 20, + "is_list": True, + "resource_types": ["image/rgba+png"], + }, + ) + + def run_my_task(self, inputs, settings, outputs): + logger.info("Running C Clef Extraction") + + image_path = inputs["PNG Image"][0]["resource_path"] + image_name = inputs["PNG Image"][0]["resource_name"] + xml_path = inputs["XML file"][0]["resource_path"] + + image = load_image(image_path) + xml = load_xml(xml_path) + coords = extract_coords(xml) + if not coords: + raise Exception("No C Clefs found in XML File.") + cropped_images = crop_images(image, coords) + output_base_path = outputs["C Clef"][0]["resource_folder"] + logger.info(f"output base path {output_base_path}") + for i, cropped_image in enumerate(cropped_images): + index = i + 1 # Start indexing from 1 + output_path = f"{output_base_path}{image_name}_{index}.png" + save_image(cropped_image, output_path) + + return True diff --git a/rodan-main/code/rodan/jobs/extract_c_clefs/extract_c_clefs.py b/rodan-main/code/rodan/jobs/extract_c_clefs/extract_c_clefs.py new file mode 100644 index 000000000..aef6c8a6a --- /dev/null +++ b/rodan-main/code/rodan/jobs/extract_c_clefs/extract_c_clefs.py @@ -0,0 +1,80 @@ +import argparse +import os +import cv2 +import numpy as np +import xml.etree.ElementTree as ET +from typing import List, Tuple, Optional + + +def crop_images( + image: np.ndarray, coords: List[Tuple[int, int, int, int]] +) -> List[np.ndarray]: + """ + Crop the image based on the coordinates. + Args: + image (np.ndarray): The image to crop. + coords (List[Tuple[int, int, int, int]]): List of tuples (ulx, uly, lrx, lry) for cropping. + Returns: + List[np.ndarray]: List of cropped image regions as numpy arrays. + """ + crops = [] + for ulx, uly, lrx, lry in coords: + crop = image[uly:lry, ulx:lrx] + crops.append(crop) + return crops + + +def save_image(image: np.ndarray, output_path: str) -> None: + """ + Save the image to the specified path. + Args: + image (np.ndarray): The image to save. + output_path (str): The path to save the image. + """ + cv2.imwrite(output_path, image) + print(f"Cropped image saved to {output_path}") + + +def load_image(path: str) -> np.ndarray: + """ + Load an image from the specified path. + Args: + path (str): Path to the image file. + Returns: + np.ndarray: The loaded image. + """ + return cv2.imread(path, cv2.IMREAD_COLOR) + + +def load_xml(path: str) -> ET.Element: + """ + Load an XML file from the specified path. + Args: + path (str): Path to the XML file. + Returns: + ET.Element: The root element of the parsed XML. + """ + tree = ET.parse(path) + return tree.getroot() + + +def extract_coords(xml: ET.Element) -> List[Optional[Tuple[int, int, int, int]]]: + """ + Extract bounding box coordinates from the XML element. + Args: + xml (ET.Element): The root element of the parsed XML. + Returns: + List[Optional[Tuple[int, int, int, int]]]: List of tuples (ulx, uly, lrx, lry) for cropping. + """ + coords_list = [] + for glyph in xml.findall(".//glyph"): + for id_tag in glyph.findall(".//id"): + if id_tag.attrib["name"] == "clef.c": + ulx = int(glyph.attrib["ulx"]) + uly = int(glyph.attrib["uly"]) + ncols = int(glyph.attrib["ncols"]) + nrows = int(glyph.attrib["nrows"]) + lrx = ulx + ncols + lry = uly + nrows + coords_list.append((ulx, uly, lrx, lry)) + return coords_list diff --git a/rodan-main/code/rodan/jobs/gamera_rodan/gamera-rodan-Py3doc.md b/rodan-main/code/rodan/jobs/gamera_rodan/gamera-rodan-Py3doc.md deleted file mode 100644 index fc4f02dd0..000000000 --- a/rodan-main/code/rodan/jobs/gamera_rodan/gamera-rodan-Py3doc.md +++ /dev/null @@ -1,43 +0,0 @@ -# Documentation of installing and running Gamera4 on Rodan - -## *Here you can find the documentation for running Gamera4 on the Python3Celery Rodan container* - -**NOTE: Py3 container's docker file will have the instructions built-in. This doc is to only assist you with the understanding of how Gamera4 is run on the container.** - ---- - -## To install Gamera-4 do the following: - -* Inside the container, run `cd /`. -* Run `apt upgrade` and after updating apt, run `apt-get install libpng-dev && apt-get install libtiff5-dev` to install the dependencies for some of Gamera4 C++ files. -* Run `git clone https://github.com/hsnr-gamera/gamera-4.git` to have Gamera4 downloaded in the root directory of the container. - -* `cd gamera-4` and run the following command: `python3.7 setup.py --nowx build && python3.7 setup.py --nowx install`. - * If the process is terminated with an error such as below: -
- - ```python - internal_png_dir not found - ``` - You have to __```vim```__ to the python file throwing the error. Then replace ```os.path.join(internal_png_dir, x) for x in``` with ```("src/libpng-1.2.5/" + x) for x in``` (in the line that the error comes from) and retry. - -* You have successfully built and installed Gamera4 on the container. Now, you can remove **gamera-4** directory by running `cd / && rm -rf gamera-4` - -* To test if Gamera4 is working properly or not, you can create a python test script and use Gamera4's methods. For instance:
- - ```python - from gamera.core import * - - def test(image): - img = load_image(image) - img2 = img.to_onebit() - img2.save_PNG("out.png") - - if __name__ == "__main__": - image = "in.png" - init_gamera() - test(image) - ``` -Author: Shahrad Mohammadzadeh - ---- \ No newline at end of file diff --git a/rodan-main/code/rodan/jobs/heuristic_pitch_finding/PitchFinding.py b/rodan-main/code/rodan/jobs/heuristic_pitch_finding/PitchFinding.py index 9254d065a..a46ecc32d 100644 --- a/rodan-main/code/rodan/jobs/heuristic_pitch_finding/PitchFinding.py +++ b/rodan-main/code/rodan/jobs/heuristic_pitch_finding/PitchFinding.py @@ -1,8 +1,8 @@ from gamera import gamera_xml from gamera.plugins.image_utilities import union_images from operator import itemgetter, attrgetter -import logging -logger = logging.getLogger("__name__") +from celery.utils.log import get_task_logger +logger = get_task_logger(__name__) from math import floor class PitchFinder(object): @@ -497,10 +497,16 @@ def __glyph_type(g): note = SCALE[int((clef_line - my_strt_pos + noteShift) % len(SCALE))] # find octave + clef_octave_map = { + 'c': 4, + 'f': 3, + 'g': 4 + } + base_octave = clef_octave_map.get(clef, 3) if my_strt_pos <= clef_line: - octave = 3 + floor((clef_line - my_strt_pos + noteShift) / len(SCALE)) + octave = base_octave + floor((clef_line - my_strt_pos + noteShift) / len(SCALE)) elif my_strt_pos > clef_line: - octave = 3 - floor((len(SCALE) - clef_line + my_strt_pos - 1 - noteShift) / len(SCALE)) + octave = base_octave - floor((len(SCALE) - clef_line + my_strt_pos - 1 - noteShift) / len(SCALE)) glyph_array.extend([note, octave, clef_line, 'clef.' + clef]) diff --git a/rodan-main/code/rodan/jobs/heuristic_pitch_finding/README.md b/rodan-main/code/rodan/jobs/heuristic_pitch_finding/README.md deleted file mode 100644 index d4cc78393..000000000 --- a/rodan-main/code/rodan/jobs/heuristic_pitch_finding/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# Heuristic Pitch Finding -Heuristic staff and pitch finding for square as a job in the workflow builder [```Rodan```](https://github.com/DDMAL/Rodan) - -## Prereq - -Heuristic Pitch Finding is deployed as a Rodan [Job Package](https://github.com/DDMAL/Rodan/wiki/Write-a-Rodan-job-package). Before installing, ensure that the latestest version of [`rodan-docker`](https://github.com/DDMAL/rodan-docker) has been cloned locally, built, and installed. - -## Installing into rodan-docker -1. Clone this directory into `/path/to/rodan_docker/jobs/heuristic-pitch-finding` -2. In `/path/to/rodan_docker/docker-compose.job-dev.yml`, add the reference to volumes like so: -``` python - volumes: - - ./jobs/settings.py:/code/rodan/rodan/settings.py - - ./jobs/heuristic-pitch-finding/:/code/rodan/rodan/jobs/heuristic-pitch-finding -``` -3. If one does not already exist, create a python file called `settings.py` in the rodan jobs folder like so: `/path/to/rodan_docker/jobs/settings.py` -4. Copy and paste the contents of `settings.py.job_development` into `settings.py` -5. Add this package path to the Rodan Job Package registration in the `settings.py` file. This should look something like the following -``` python -RODAN_JOB_PACKAGES = ( - "rodan.jobs.job1", - "rodan.jobs.job2", - ..., - "rodan.jobs.heuristic-pitch-finding", -) -``` - -## Running Rodan -- Follow the [rodan-docker guide](https://github.com/DDMAL/rodan-docker/blob/master/README.md) to have docker set up. -- Once the above installation steps are complete, run ```docker compose -f docker-compose.yml -f docker-compose.rodan-dev.yml up``` - -## Job Usage -- To properly setup the pitch finding workflow, connect the *JSOMR* output from a `Miyao Staff Finding` job to the *JSOMR* input of a `Heuristic Pitch Finding` job. - -*Important Note:* -- Staff finding can be run independently if only the staff positions, line points, and general page properties are required. However, pitch finding always requires the output of staff finding as an input. \ No newline at end of file diff --git a/rodan-main/code/rodan/jobs/heuristic_pitch_finding/StaffFinding.py b/rodan-main/code/rodan/jobs/heuristic_pitch_finding/StaffFinding.py index 96eb4b149..b36399fd8 100644 --- a/rodan-main/code/rodan/jobs/heuristic_pitch_finding/StaffFinding.py +++ b/rodan-main/code/rodan/jobs/heuristic_pitch_finding/StaffFinding.py @@ -3,6 +3,9 @@ import copy +from celery.utils.log import get_task_logger +logger = get_task_logger(__name__) + class StaffFinder(object): @@ -20,6 +23,7 @@ def __init__(self, **kwargs): self.staff_results = {} + #################### # Public Functions #################### @@ -34,9 +38,9 @@ def get_staves(self, image): self._process_staves() output = [] - # Fixes: Title page with no information bug + if self.staves is None: - return [] + raise Exception("The algorithm cannot find staves for this input.") for i, s in enumerate(self.staves): @@ -228,30 +232,43 @@ def _find_staves(self, s): blackness = 0.8 tolerance = -1 - # there is no one right value for these things. We'll give it the old college try - # until we find something that works. - while not self.staff_finder: - if blackness <= 0.3: - # we want to return if we've reached a limit and still can't - # find staves. - return None - - s.find_staves(self.lines_per_staff, scanlines, blackness, tolerance) - av_lines = s.get_average() - if len(self._flatten(s.linelist)) == 0: - # no lines were found - return None - - # get a polygon object. This stores a set of vertices for x,y values along the staffline. - self.staff_finder = s.get_polygon() - - if not self.staff_finder: - lg.debug("No staves found. Decreasing blackness.") - blackness -= 0.1 - - # if len(self.staff_finder) < self.lines_per_staff: - # # the number of lines found was less than expected. - # return None + # find staves with initial blackness and lower it until we find something or reach the threshold + # in each iteration, either gamera fails or didn't find anything + success_run = 0 + while blackness >= 0.3: + + try: + s.find_staves(self.lines_per_staff, scanlines, blackness, tolerance) + + av_lines = s.get_average() + # get a polygon object. This stores a set of vertices for x,y values along the staffline. + # code for polygon: https://github.com/DDMAL/gamera4-rodan/blob/d5cfe7b899e035151ee02c2c79ade1a373e2a54c/musicstaves/gamera/toolkits/musicstaves/stafffinder.py#L478C1-L494C22 + self.staff_finder = s.get_polygon() + + # if find staves + # number 4 makes sure we find at least one small part (https://github.com/DDMAL/Rodan/issues/1124#issuecomment-1948744904) + if len(self._flatten(self.staff_finder)) > 4: + success_run = 1 + logger.info(f"StaffFinding succeeds at blackness {blackness}.") + break + + # if not found, decrease blackness and continue + logger.info(f"No staves found at blackness {blackness}. Decreasing blackness by 0.05.") + except: + logger.info(f"Gamera fails at blackness {blackness}. Decreasing blackness by 0.05.") + + blackness -= 0.05 + + # sanity check if passed the while loop + assert self.staff_finder is not None + + # if gamera did not work at all + if success_run == 0: + raise Exception("Gamera cannot find staves with threshold blackness 0.3") + + + + all_line_positions = [] @@ -365,6 +382,8 @@ def _find_staves(self, s): all_line_positions.append(self.staff_results[i]) self.staves = all_line_positions + + if self.interpolation: self.staves = self._interpolate_staff_locations(self.staves) self._staff_coords() diff --git a/rodan-main/code/rodan/jobs/interactive_classifier/interactive_classifier.py b/rodan-main/code/rodan/jobs/interactive_classifier/interactive_classifier.py index bf820859c..4bb4d6c1d 100644 --- a/rodan-main/code/rodan/jobs/interactive_classifier/interactive_classifier.py +++ b/rodan-main/code/rodan/jobs/interactive_classifier/interactive_classifier.py @@ -289,8 +289,8 @@ def serialize_class_names_to_json(settings): for image in database: cln=image['class_name'] if type(cln)==bytes: - cln=cln.decode() - name_set.add(image['class_name']) + cln=cln.decode() + name_set.add(cln) for name in imported_class_names: if type(name)==bytes: diff --git a/rodan-main/code/rodan/jobs/mei2vol_wrapper/MEI2Volpiano/README.md b/rodan-main/code/rodan/jobs/mei2vol_wrapper/MEI2Volpiano/README.md deleted file mode 100644 index e720c1507..000000000 --- a/rodan-main/code/rodan/jobs/mei2vol_wrapper/MEI2Volpiano/README.md +++ /dev/null @@ -1,78 +0,0 @@ -# MEI2Volpiano -MEI2Volpiano is a Python library developed for the purpose of converting Neume and CWMN MEI files to Volpiano strings. - -## Licence -MEI2Volpiano is released under the MIT license. - -## Installation - -* `pip install mei2volpiano` - -## Development Setup - -MEI2Volpiano requires at least Python 3.6. -* Clone project `https://github.com/DDMAL/MEI2Volpiano.git` -* Enter the project checkout -* Execute `pip install .` or `poetry install` (this will install development dependencies) - -## Usage - -As long as you're in the python environment, you can execute `mei2volpiano` or the shorthand `mei2vol` while in your python virtual environment - -### Flags - -| Flag | Use | -| ------------- |:-------------:| -| `-W` or `-N` | Used to specify the type of MEI to converted (Neume or CWN) | -| `txt`| Used to specify whether the user is inputtng MEI files or a text file containing MEI paths | -| `--export` | Signifies that the converted Volpiano string(s) should be outputted to '.txt' files | - -### Standard Usage (Neume notation) - -To output the MEI file's volpiano string to the terminal, run - -`mei2vol -N mei filename1.mei` - -Multiple files can be passed in at once - -`mei2vol -N mei filename1.mei filename2.mei` - -### Western - -To convert MEI files written in Common Western Music Notation (CWMN), run - -`mei2vol -W mei filename1.mei` - -All of the CWMN files processed by this library (so far) come from [this collection](https://github.com/DDMAL/Andrew-Hughes-Chant/tree/master/file_structure_text_file_MEI_file). Thus, we followed the conventions of those files. Namely: - -- Every neume is encoded as a quarter note -- Stemless notes -- Syllables are preceded by their notes -- All notes must have syllables after them - * If there are notes that are not followed by a syllable, the script will display a message containing these notes. They will not be recorded in the volpiano - * This can only happen at the end of an MEI file - -The resulting volpiano string will have multiple notes seperated by two hyphens. This seperation is dictated by the syllables, representented by: ``. The notes themselves are located with the `` tag and represented by the `pname` attribute. - -### Mutiple MEI File Runs - -To make it easier to pass in multiple MEI files, the `-t` flag can be specified as `txt`: - -`mei2vol -W txt filename1.txt` or `mei2vol -N txt filename1.txt filename2.txt ...` - -where the ".txt" file being passed in must hold the name/relative path of the required MEI files on distinct lines. - -**Note: If passing inputs through this method, the formats of the MEI files within the text file must be of the same type** (either neume for `-N` or western for `-W`) - -### Exporting - -The `--export` tag can be used on any valid input to the program. Simply tack it on to the end of your command like so - -`mei2vol -N mei filename1.mei --export` - -and the program will output each mei file's volpiano to a similarly named file as its input. - - -## Tests - -To run the current test suite, execute `pytest` diff --git a/rodan-main/code/rodan/jobs/resource_distributor.py b/rodan-main/code/rodan/jobs/resource_distributor.py index ea0095837..7936b9eee 100644 --- a/rodan-main/code/rodan/jobs/resource_distributor.py +++ b/rodan-main/code/rodan/jobs/resource_distributor.py @@ -2,7 +2,24 @@ import shutil from rodan.jobs.base import RodanTask -from rodan.models import ResourceType +from rodan.models import ResourceType, Input, Output +from django.conf import settings as rodan_settings + +import logging + +logger = logging.getLogger("rodan") + +def log_structure(data, level=0): + if isinstance(data, dict): + for key, value in data.items(): + logger.info("%sKey: %s", " " * level, key) + log_structure(value, level + 1) + elif isinstance(data, list): + for idx, item in enumerate(data): + logger.info("%sIndex %d:", " " * level, idx) + log_structure(item, level + 1) + else: + logger.info("%sValue: %s", " " * level, data) class ResourceDistributor(RodanTask): @@ -16,8 +33,18 @@ class ResourceDistributor(RodanTask): 'Resource type': { 'enum': list(map(lambda rt: str(rt.mimetype), ResourceType.objects.all())), 'type': 'string', - 'default': 'application/octet-stream', + 'default': 'image/rgba+png', 'description': 'Specifies the eligible resource types for input' + }, + 'User custom prefix': { + 'type': 'string', + 'default': 'custom prefix - ', + 'description': 'User specified prefix (please also include space, hyphen, etc.)' + }, + 'User custom suffix': { + 'type': 'string', + 'default': '- custom suffix', + 'description': 'User specified suffix (please also include space, hyphen, etc.)' } } } @@ -44,21 +71,100 @@ class ResourceDistributor(RodanTask): }, ) + + def _inputs(self, runjob, with_urls=False): + """ + Return a dictionary of list of input file path and input resource type. + If with_urls=True, it also includes the resource url and thumbnail urls. + """ + + self.runjob = runjob + + def _extract_resource(resource, resource_type_mimetype=None): + r = { + # convert 'unicode' object to 'str' object for consistency + "resource_path": str(resource.resource_file.path), + "resource_type": str( + resource_type_mimetype or resource.resource_type.mimetype + ), + "resource": resource, + } + if with_urls: + r["resource_url"] = str(resource.resource_url) + r["diva_object_data"] = str(resource.diva_json_url) + r["diva_iip_server"] = getattr(rodan_settings, "IIPSRV_URL") + r["diva_image_dir"] = str(resource.diva_image_dir) + return r + + input_objs = ( + Input.objects.filter(run_job=runjob) + .select_related("resource", "resource__resource_type", "resource_list") + .prefetch_related("resource_list__resources") + ) + + inputs = {} + for input in input_objs: + ipt_name = str(input.input_port_type_name) + if ipt_name not in inputs: + inputs[ipt_name] = [] + if input.resource is not None: # If resource + inputs[ipt_name].append(_extract_resource(input.resource)) + elif input.resource_list is not None: # If resource_list + inputs[ipt_name].append( + map( + lambda x: _extract_resource( + x, input.resource_list.get_resource_type().mimetype + ), + input.resource_list.resources.all(), + ) + ) + else: + raise RuntimeError( + ( + "Cannot find any resource or resource list on Input" " {0}" + ).format(input.uuid) + ) + return inputs + def run_my_task(self, inputs, settings, outputs): + # log_structure(inputs) input_type = inputs['Resource input'][0]['resource_type'] + input_resource = inputs['Resource input'][0]['resource'] + input_name = input_resource.name valid_input_type_num = settings['Resource type'] valid_input_type = self.settings['properties']['Resource type']['enum'][valid_input_type_num] # noqa if input_type != valid_input_type: self.my_error_information( None, ( - "Input cannot be of type {0}. Valid input set in setting is " + "Mismatched input of type {0}. The input type in job setting is " "{1}" ).format(input_type, valid_input_type) ) return False + prefix = settings["User custom prefix"] + if not isinstance(prefix, str): + self.my_error_information( + None, + ("User custom prefix can only be strings") + ) + return False + suffix = settings["User custom suffix"] + if not isinstance(suffix, str): + self.my_error_information( + None, + ("User custom suffix can only be strings") + ) + return False + new_name = prefix + input_name + suffix + assert isinstance(new_name,str) + + input_resource.rename(new_name) + input_resource.save(update_fields=["resource_file"]) + outfile_path = outputs['Resource output'][0]['resource_path'] infile_path = inputs['Resource input'][0]['resource_path'] + shutil.copyfile(infile_path, outfile_path) return True @@ -69,28 +175,39 @@ def my_error_information(self, exc, traceback): def test_my_task(self, testcase): import PIL.Image import numpy as np + from rodan.models import Resource, ResourceType resource_types_list = list(map(lambda rt: str(rt.mimetype), ResourceType.objects.all())) + from model_mommy import mommy + + # Create a Resource instance using mommy + resource_type, created = ResourceType.objects.get_or_create(mimetype="image/rgb+png") + rc = mommy.make(Resource, resource_type=resource_type, name="test_filename") - # Not so sure what this job is for, but I'll use image/png as the testcase. inputs = { - "Resource input": [ - { - 'resource_type': 'image/rgb+png', - 'resource_path': testcase.new_available_path() + "Resource input": [ + { + "resource_path": testcase.new_available_path(), + "resource_type": rc.resource_type.mimetype, + "resource": rc + } + ] } - ] - } outputs = { - "Resource output": [ - { - "resource_type": "image/rgb+png", - "resource_path": testcase.new_available_path() + "Resource output": [ + { + "resource_type": "image/rgb+png", + "resource_path": testcase.new_available_path() + } + ] } - ] - } settings = { - "Resource type": resource_types_list.index("image/rgb+png") - } + "Resource type": resource_types_list.index("image/rgb+png"), + "User custom prefix": "test prefix - ", + "User custom suffix": "- test suffix" + } + + original_image = rc.name + PIL.Image.new("RGB", size=(50, 50), color=(255, 0, 0)).save(inputs['Resource input'][0]['resource_path'], 'PNG') array_gt = np.zeros((50, 50, 3)).astype(np.uint8) array_gt[:, :, 0] = 255 @@ -105,3 +222,7 @@ def test_my_task(self, testcase): testcase.assertEqual(result.format, 'PNG') # and the data should be identical np.testing.assert_equal(array_gt, array_result) + + # Test name change + new_name = f"{settings['User custom prefix']}{original_image}{settings['User custom suffix']}" + testcase.assertEqual(inputs['Resource input'][0]['resource'].name, new_name) \ No newline at end of file diff --git a/rodan-main/code/rodan/models/resource.py b/rodan-main/code/rodan/models/resource.py index 422cf1547..e710f72ed 100644 --- a/rodan-main/code/rodan/models/resource.py +++ b/rodan-main/code/rodan/models/resource.py @@ -142,6 +142,10 @@ def __str__(self): labels = models.ManyToManyField(ResourceLabel, blank=True) + def rename(self, newname): + self.name = newname + self.save() + def save(self, *args, **kwargs): super(Resource, self).save(*args, **kwargs) if not os.path.exists(self.resource_path): diff --git a/rodan-main/code/rodan/registerJobs.yaml b/rodan-main/code/rodan/registerJobs.yaml index 0f7b3bf74..df418c0d1 100644 --- a/rodan-main/code/rodan/registerJobs.yaml +++ b/rodan-main/code/rodan/registerJobs.yaml @@ -133,8 +133,13 @@ "rodan.jobs.column_split.base": [ "ColumnSplit" ] + }, + + "rodan.jobs.extract_c_clefs": { + "rodan.jobs.extract_c_clefs.base": [ + "ExtractCClefs" + ] } - } "RODAN_GPU_JOBS": { diff --git a/rodan-main/code/rodan/test/files/238r-heuristic_pitch_finding.json b/rodan-main/code/rodan/test/files/238r-heuristic_pitch_finding.json index 52f066ba3..02d6e4143 100644 --- a/rodan-main/code/rodan/test/files/238r-heuristic_pitch_finding.json +++ b/rodan-main/code/rodan/test/files/238r-heuristic_pitch_finding.json @@ -1 +1 @@ -{"page": {"resolution": 0.0, "bounding_box": {"ncols": 4872, "nrows": 6496, "ulx": 0, "uly": 0}}, "staves": [{"staff_no": 1, "bounding_box": {"ncols": 2091, "nrows": 209, "ulx": 461, "uly": 448}, "num_lines": 4, "line_positions": [[[461, 320], [462, 320], [463, 320], [464, 320], [696, 324], [928, 329], [1160, 335], [1392, 338], [1624, 340], [1856, 341], [2088, 342], [2320, 342], [2549, 342], [2550, 343], [2551, 343], [2552, 344]], [[461, 384], [462, 384], [463, 384], [464, 384], [696, 388], [928, 393], [1160, 399], [1392, 402], [1624, 404], [1856, 405], [2088, 406], [2320, 406], [2549, 406], [2550, 407], [2551, 407], [2552, 408]], [[461, 448], [462, 448], [463, 448], [464, 448], [696, 452], [928, 457], [1160, 463], [1392, 466], [1624, 468], [1856, 469], [2088, 470], [2320, 470], [2549, 470], [2550, 471], [2551, 471], [2552, 472]], [[461, 513], [462, 513], [463, 513], [464, 515], [696, 518], [928, 522], [1160, 528], [1392, 532], [1624, 533], [1856, 534], [2088, 536], [2320, 537], [2549, 538], [2550, 540], [2551, 542], [2552, 542]], [[461, 573], [462, 573], [463, 574], [464, 576], [696, 578], [928, 585], [1160, 590], [1392, 594], [1624, 597], [1856, 598], [2088, 598], [2320, 598], [2549, 601], [2550, 604], [2551, 604], [2552, 604]], [[461, 629], [462, 630], [463, 630], [464, 630], [696, 634], [928, 641], [1160, 647], [1392, 650], [1624, 653], [1856, 655], [2088, 657], [2320, 656], [2549, 655], [2550, 655], [2551, 655], [2552, 655]], [[461, 685], [462, 686], [463, 686], [464, 686], [696, 690], [928, 697], [1160, 703], [1392, 706], [1624, 709], [1856, 711], [2088, 713], [2320, 712], [2549, 711], [2550, 711], [2551, 711], [2552, 711]], [[461, 741], [462, 742], [463, 742], [464, 742], [696, 746], [928, 753], [1160, 759], [1392, 762], [1624, 765], [1856, 767], [2088, 769], [2320, 768], [2549, 767], [2550, 767], [2551, 767], [2552, 767]]]}, {"staff_no": 2, "bounding_box": {"ncols": 439, "nrows": 189, "ulx": 3249, "uly": 497}, "num_lines": 4, "line_positions": [[[3249, 369], [3250, 369], [3251, 369], [3480, 372], [3685, 373], [3686, 374], [3687, 375], [3688, 376]], [[3249, 433], [3250, 433], [3251, 433], [3480, 436], [3685, 437], [3686, 438], [3687, 439], [3688, 440]], [[3249, 497], [3250, 497], [3251, 497], [3480, 500], [3685, 501], [3686, 502], [3687, 503], [3688, 504]], [[3249, 562], [3250, 562], [3251, 562], [3480, 564], [3685, 565], [3686, 566], [3687, 568], [3688, 568]], [[3249, 624], [3250, 624], [3251, 625], [3480, 626], [3685, 627], [3686, 629], [3687, 629], [3688, 629]], [[3249, 681], [3250, 683], [3251, 683], [3480, 683], [3685, 686], [3686, 686], [3687, 686], [3688, 686]], [[3249, 737], [3250, 739], [3251, 739], [3480, 739], [3685, 742], [3686, 742], [3687, 742], [3688, 742]], [[3249, 793], [3250, 795], [3251, 795], [3480, 795], [3685, 798], [3686, 798], [3687, 798], [3688, 798]]]}, {"staff_no": 3, "bounding_box": {"ncols": 2320, "nrows": 201, "ulx": 496, "uly": 802}, "num_lines": 4, "line_positions": [[[496, 674], [497, 674], [696, 677], [928, 685], [1160, 688], [1392, 690], [1624, 690], [1856, 690], [2088, 690], [2320, 690], [2552, 689], [2784, 689], [2815, 689], [2816, 690]], [[496, 738], [497, 738], [696, 741], [928, 749], [1160, 752], [1392, 754], [1624, 754], [1856, 754], [2088, 754], [2320, 754], [2552, 753], [2784, 753], [2815, 753], [2816, 754]], [[496, 802], [497, 802], [696, 805], [928, 813], [1160, 816], [1392, 818], [1624, 818], [1856, 818], [2088, 818], [2320, 818], [2552, 817], [2784, 817], [2815, 817], [2816, 818]], [[496, 867], [497, 867], [696, 869], [928, 877], [1160, 881], [1392, 882], [1624, 883], [1856, 884], [2088, 884], [2320, 883], [2552, 883], [2784, 882], [2815, 882], [2816, 882]], [[496, 928], [497, 928], [696, 930], [928, 938], [1160, 943], [1392, 944], [1624, 945], [1856, 946], [2088, 946], [2320, 946], [2552, 945], [2784, 946], [2815, 945], [2816, 945]], [[496, 985], [497, 987], [696, 987], [928, 995], [1160, 1000], [1392, 1001], [1624, 1002], [1856, 1002], [2088, 1003], [2320, 1003], [2552, 1003], [2784, 1002], [2815, 1001], [2816, 1001]], [[496, 1041], [497, 1043], [696, 1043], [928, 1051], [1160, 1056], [1392, 1057], [1624, 1058], [1856, 1058], [2088, 1059], [2320, 1059], [2552, 1059], [2784, 1058], [2815, 1057], [2816, 1057]], [[496, 1097], [497, 1099], [696, 1099], [928, 1107], [1160, 1112], [1392, 1113], [1624, 1114], [1856, 1114], [2088, 1115], [2320, 1115], [2552, 1115], [2784, 1114], [2815, 1113], [2816, 1113]]]}, {"staff_no": 4, "bounding_box": {"ncols": 2902, "nrows": 224, "ulx": 635, "uly": 1128}, "num_lines": 4, "line_positions": [[[635, 1008], [636, 1008], [637, 1008], [696, 1011], [928, 1014], [1160, 1021], [1392, 1024], [1624, 1027], [1856, 1030], [2088, 1032], [2320, 1033], [2552, 1034], [2784, 1035], [3016, 1037], [3248, 1041], [3480, 1043], [3535, 1043], [3536, 1043], [3537, 1043]], [[635, 1068], [636, 1068], [637, 1068], [696, 1071], [928, 1074], [1160, 1081], [1392, 1084], [1624, 1087], [1856, 1090], [2088, 1092], [2320, 1093], [2552, 1094], [2784, 1095], [3016, 1097], [3248, 1101], [3480, 1103], [3535, 1103], [3536, 1103], [3537, 1103]], [[635, 1128], [636, 1128], [637, 1128], [696, 1131], [928, 1134], [1160, 1141], [1392, 1144], [1624, 1147], [1856, 1150], [2088, 1152], [2320, 1153], [2552, 1154], [2784, 1155], [3016, 1157], [3248, 1161], [3480, 1163], [3535, 1163], [3536, 1163], [3537, 1163]], [[635, 1189], [636, 1189], [637, 1189], [696, 1189], [928, 1198], [1160, 1205], [1392, 1208], [1624, 1211], [1856, 1213], [2088, 1215], [2320, 1217], [2552, 1218], [2784, 1220], [3016, 1222], [3248, 1225], [3480, 1227], [3535, 1227], [3536, 1227], [3537, 1227]], [[635, 1251], [636, 1251], [637, 1251], [696, 1251], [928, 1259], [1160, 1266], [1392, 1270], [1624, 1273], [1856, 1277], [2088, 1279], [2320, 1281], [2552, 1283], [2784, 1285], [3016, 1286], [3248, 1289], [3480, 1293], [3535, 1294], [3536, 1294], [3537, 1294]], [[635, 1311], [636, 1312], [637, 1312], [696, 1312], [928, 1316], [1160, 1322], [1392, 1326], [1624, 1330], [1856, 1333], [2088, 1336], [2320, 1337], [2552, 1339], [2784, 1343], [3016, 1343], [3248, 1345], [3480, 1350], [3535, 1352], [3536, 1352], [3537, 1352]], [[635, 1371], [636, 1372], [637, 1372], [696, 1372], [928, 1376], [1160, 1382], [1392, 1386], [1624, 1390], [1856, 1393], [2088, 1396], [2320, 1397], [2552, 1399], [2784, 1403], [3016, 1403], [3248, 1405], [3480, 1410], [3535, 1412], [3536, 1412], [3537, 1412]], [[635, 1431], [636, 1432], [637, 1432], [696, 1432], [928, 1436], [1160, 1442], [1392, 1446], [1624, 1450], [1856, 1453], [2088, 1456], [2320, 1457], [2552, 1459], [2784, 1463], [3016, 1463], [3248, 1465], [3480, 1470], [3535, 1472], [3536, 1472], [3537, 1472]]]}, {"staff_no": 5, "bounding_box": {"ncols": 3195, "nrows": 234, "ulx": 458, "uly": 1467}, "num_lines": 4, "line_positions": [[[458, 1339], [459, 1339], [460, 1339], [464, 1341], [696, 1344], [928, 1349], [1160, 1356], [1392, 1361], [1624, 1366], [1856, 1368], [2088, 1372], [2320, 1375], [2552, 1377], [2784, 1378], [3016, 1379], [3248, 1381], [3480, 1383], [3651, 1384], [3652, 1385], [3653, 1386]], [[458, 1403], [459, 1403], [460, 1403], [464, 1405], [696, 1408], [928, 1413], [1160, 1420], [1392, 1425], [1624, 1430], [1856, 1432], [2088, 1436], [2320, 1439], [2552, 1441], [2784, 1442], [3016, 1443], [3248, 1445], [3480, 1447], [3651, 1448], [3652, 1449], [3653, 1450]], [[458, 1467], [459, 1467], [460, 1467], [464, 1469], [696, 1472], [928, 1477], [1160, 1484], [1392, 1489], [1624, 1494], [1856, 1496], [2088, 1500], [2320, 1503], [2552, 1505], [2784, 1506], [3016, 1507], [3248, 1509], [3480, 1511], [3651, 1512], [3652, 1513], [3653, 1514]], [[458, 1532], [459, 1532], [460, 1532], [464, 1533], [696, 1537], [928, 1541], [1160, 1547], [1392, 1552], [1624, 1558], [1856, 1564], [2088, 1565], [2320, 1567], [2552, 1570], [2784, 1570], [3016, 1572], [3248, 1574], [3480, 1576], [3651, 1577], [3652, 1578], [3653, 1580]], [[458, 1594], [459, 1594], [460, 1594], [464, 1594], [696, 1597], [928, 1604], [1160, 1612], [1392, 1614], [1624, 1620], [1856, 1624], [2088, 1626], [2320, 1630], [2552, 1631], [2784, 1632], [3016, 1635], [3248, 1637], [3480, 1639], [3651, 1640], [3652, 1642], [3653, 1642]], [[458, 1651], [459, 1651], [460, 1651], [464, 1651], [696, 1654], [928, 1658], [1160, 1662], [1392, 1671], [1624, 1676], [1856, 1681], [2088, 1682], [2320, 1686], [2552, 1687], [2784, 1690], [3016, 1692], [3248, 1693], [3480, 1697], [3651, 1701], [3652, 1701], [3653, 1701]], [[458, 1707], [459, 1707], [460, 1707], [464, 1707], [696, 1710], [928, 1714], [1160, 1718], [1392, 1727], [1624, 1732], [1856, 1737], [2088, 1738], [2320, 1742], [2552, 1743], [2784, 1746], [3016, 1748], [3248, 1749], [3480, 1753], [3651, 1757], [3652, 1757], [3653, 1757]], [[458, 1763], [459, 1763], [460, 1763], [464, 1763], [696, 1766], [928, 1770], [1160, 1774], [1392, 1783], [1624, 1788], [1856, 1793], [2088, 1794], [2320, 1798], [2552, 1799], [2784, 1802], [3016, 1804], [3248, 1805], [3480, 1809], [3651, 1813], [3652, 1813], [3653, 1813]]]}, {"staff_no": 6, "bounding_box": {"ncols": 3091, "nrows": 232, "ulx": 463, "uly": 1804}, "num_lines": 4, "line_positions": [[[463, 1676], [464, 1676], [465, 1676], [467, 1676], [696, 1680], [928, 1685], [1160, 1694], [1392, 1699], [1624, 1705], [1856, 1709], [2088, 1712], [2320, 1717], [2552, 1719], [2784, 1719], [3016, 1722], [3248, 1726], [3480, 1729], [3551, 1729], [3552, 1730], [3553, 1730], [3554, 1731]], [[463, 1740], [464, 1740], [465, 1740], [467, 1740], [696, 1744], [928, 1749], [1160, 1758], [1392, 1763], [1624, 1769], [1856, 1773], [2088, 1776], [2320, 1781], [2552, 1783], [2784, 1783], [3016, 1786], [3248, 1790], [3480, 1793], [3551, 1793], [3552, 1794], [3553, 1794], [3554, 1795]], [[463, 1804], [464, 1804], [465, 1804], [467, 1804], [696, 1808], [928, 1813], [1160, 1822], [1392, 1827], [1624, 1833], [1856, 1837], [2088, 1840], [2320, 1845], [2552, 1847], [2784, 1847], [3016, 1850], [3248, 1854], [3480, 1857], [3551, 1857], [3552, 1858], [3553, 1858], [3554, 1859]], [[463, 1867], [464, 1867], [465, 1867], [467, 1869], [696, 1871], [928, 1875], [1160, 1879], [1392, 1890], [1624, 1896], [1856, 1900], [2088, 1905], [2320, 1907], [2552, 1910], [2784, 1909], [3016, 1913], [3248, 1917], [3480, 1917], [3551, 1918], [3552, 1919], [3553, 1920], [3554, 1920]], [[463, 1928], [464, 1928], [465, 1929], [467, 1931], [696, 1933], [928, 1936], [1160, 1945], [1392, 1951], [1624, 1957], [1856, 1962], [2088, 1965], [2320, 1967], [2552, 1968], [2784, 1969], [3016, 1972], [3248, 1976], [3480, 1979], [3551, 1980], [3552, 1981], [3553, 1981], [3554, 1981]], [[463, 1984], [464, 1989], [465, 1989], [467, 1989], [696, 1989], [928, 1992], [1160, 1996], [1392, 2008], [1624, 2013], [1856, 2017], [2088, 2019], [2320, 2019], [2552, 2021], [2784, 2022], [3016, 2026], [3248, 2029], [3480, 2034], [3551, 2036], [3552, 2036], [3553, 2036], [3554, 2036]], [[463, 2040], [464, 2045], [465, 2045], [467, 2045], [696, 2045], [928, 2048], [1160, 2052], [1392, 2064], [1624, 2069], [1856, 2073], [2088, 2075], [2320, 2075], [2552, 2077], [2784, 2078], [3016, 2082], [3248, 2085], [3480, 2090], [3551, 2092], [3552, 2092], [3553, 2092], [3554, 2092]], [[463, 2096], [464, 2101], [465, 2101], [467, 2101], [696, 2101], [928, 2104], [1160, 2108], [1392, 2120], [1624, 2125], [1856, 2129], [2088, 2131], [2320, 2131], [2552, 2133], [2784, 2134], [3016, 2138], [3248, 2141], [3480, 2146], [3551, 2148], [3552, 2148], [3553, 2148], [3554, 2148]]]}, {"staff_no": 7, "bounding_box": {"ncols": 3204, "nrows": 226, "ulx": 446, "uly": 2135}, "num_lines": 4, "line_positions": [[[446, 2007], [447, 2007], [448, 2007], [449, 2007], [464, 2007], [696, 2011], [928, 2016], [1160, 2027], [1392, 2029], [1624, 2030], [1856, 2033], [2088, 2033], [2320, 2032], [2552, 2034], [2784, 2035], [3016, 2043], [3248, 2046], [3480, 2048], [3647, 2049], [3648, 2050], [3649, 2051], [3650, 2052]], [[446, 2071], [447, 2071], [448, 2071], [449, 2071], [464, 2071], [696, 2075], [928, 2080], [1160, 2091], [1392, 2093], [1624, 2094], [1856, 2097], [2088, 2097], [2320, 2096], [2552, 2098], [2784, 2099], [3016, 2107], [3248, 2110], [3480, 2112], [3647, 2113], [3648, 2114], [3649, 2115], [3650, 2116]], [[446, 2135], [447, 2135], [448, 2135], [449, 2135], [464, 2135], [696, 2139], [928, 2144], [1160, 2155], [1392, 2157], [1624, 2158], [1856, 2161], [2088, 2161], [2320, 2160], [2552, 2162], [2784, 2163], [3016, 2171], [3248, 2174], [3480, 2176], [3647, 2177], [3648, 2178], [3649, 2179], [3650, 2180]], [[446, 2200], [447, 2200], [448, 2200], [449, 2200], [464, 2200], [696, 2202], [928, 2206], [1160, 2214], [1392, 2218], [1624, 2222], [1856, 2224], [2088, 2224], [2320, 2224], [2552, 2226], [2784, 2227], [3016, 2235], [3248, 2239], [3480, 2244], [3647, 2245], [3648, 2246], [3649, 2248], [3650, 2248]], [[446, 2260], [447, 2260], [448, 2260], [449, 2260], [464, 2261], [696, 2264], [928, 2267], [1160, 2274], [1392, 2280], [1624, 2284], [1856, 2286], [2088, 2285], [2320, 2286], [2552, 2291], [2784, 2295], [3016, 2297], [3248, 2299], [3480, 2301], [3647, 2301], [3648, 2302], [3649, 2302], [3650, 2302]], [[446, 2316], [447, 2316], [448, 2316], [449, 2316], [464, 2316], [696, 2320], [928, 2323], [1160, 2331], [1392, 2337], [1624, 2340], [1856, 2342], [2088, 2342], [2320, 2342], [2552, 2346], [2784, 2350], [3016, 2353], [3248, 2357], [3480, 2360], [3647, 2361], [3648, 2361], [3649, 2361], [3650, 2361]], [[446, 2372], [447, 2372], [448, 2372], [449, 2372], [464, 2372], [696, 2376], [928, 2379], [1160, 2387], [1392, 2393], [1624, 2396], [1856, 2398], [2088, 2398], [2320, 2398], [2552, 2402], [2784, 2406], [3016, 2409], [3248, 2413], [3480, 2416], [3647, 2417], [3648, 2417], [3649, 2417], [3650, 2417]], [[446, 2428], [447, 2428], [448, 2428], [449, 2428], [464, 2428], [696, 2432], [928, 2435], [1160, 2443], [1392, 2449], [1624, 2452], [1856, 2454], [2088, 2454], [2320, 2454], [2552, 2458], [2784, 2462], [3016, 2465], [3248, 2469], [3480, 2472], [3647, 2473], [3648, 2473], [3649, 2473], [3650, 2473]]]}, {"staff_no": 8, "bounding_box": {"ncols": 3124, "nrows": 212, "ulx": 460, "uly": 2486}, "num_lines": 4, "line_positions": [[[460, 2358], [461, 2358], [462, 2358], [464, 2358], [696, 2362], [928, 2364], [1160, 2370], [1392, 2374], [1624, 2376], [1856, 2376], [2088, 2375], [2320, 2375], [2552, 2378], [2784, 2379], [3016, 2384], [3248, 2387], [3480, 2390], [3582, 2390], [3583, 2391], [3584, 2392]], [[460, 2422], [461, 2422], [462, 2422], [464, 2422], [696, 2426], [928, 2428], [1160, 2434], [1392, 2438], [1624, 2440], [1856, 2440], [2088, 2439], [2320, 2439], [2552, 2442], [2784, 2443], [3016, 2448], [3248, 2451], [3480, 2454], [3582, 2454], [3583, 2455], [3584, 2456]], [[460, 2486], [461, 2486], [462, 2486], [464, 2486], [696, 2490], [928, 2492], [1160, 2498], [1392, 2502], [1624, 2504], [1856, 2504], [2088, 2503], [2320, 2503], [2552, 2506], [2784, 2507], [3016, 2512], [3248, 2515], [3480, 2518], [3582, 2518], [3583, 2519], [3584, 2520]], [[460, 2550], [461, 2550], [462, 2550], [464, 2550], [696, 2553], [928, 2556], [1160, 2563], [1392, 2566], [1624, 2567], [1856, 2568], [2088, 2567], [2320, 2567], [2552, 2569], [2784, 2572], [3016, 2574], [3248, 2579], [3480, 2580], [3582, 2580], [3583, 2581], [3584, 2581]], [[460, 2611], [461, 2616], [462, 2616], [464, 2616], [696, 2616], [928, 2618], [1160, 2623], [1392, 2627], [1624, 2629], [1856, 2630], [2088, 2629], [2320, 2630], [2552, 2632], [2784, 2633], [3016, 2636], [3248, 2640], [3480, 2640], [3582, 2641], [3583, 2641], [3584, 2641]], [[460, 2667], [461, 2667], [462, 2667], [464, 2667], [696, 2672], [928, 2674], [1160, 2680], [1392, 2684], [1624, 2685], [1856, 2686], [2088, 2685], [2320, 2686], [2552, 2689], [2784, 2690], [3016, 2692], [3248, 2695], [3480, 2696], [3582, 2698], [3583, 2698], [3584, 2698]], [[460, 2723], [461, 2723], [462, 2723], [464, 2723], [696, 2728], [928, 2730], [1160, 2736], [1392, 2740], [1624, 2741], [1856, 2742], [2088, 2741], [2320, 2742], [2552, 2745], [2784, 2746], [3016, 2748], [3248, 2751], [3480, 2752], [3582, 2754], [3583, 2754], [3584, 2754]], [[460, 2779], [461, 2779], [462, 2779], [464, 2779], [696, 2784], [928, 2786], [1160, 2792], [1392, 2796], [1624, 2797], [1856, 2798], [2088, 2797], [2320, 2798], [2552, 2801], [2784, 2802], [3016, 2804], [3248, 2807], [3480, 2808], [3582, 2810], [3583, 2810], [3584, 2810]]]}, {"staff_no": 9, "bounding_box": {"ncols": 2889, "nrows": 210, "ulx": 625, "uly": 2828}, "num_lines": 4, "line_positions": [[[625, 2704], [626, 2704], [627, 2704], [696, 2704], [928, 2709], [1160, 2714], [1392, 2717], [1624, 2718], [1856, 2719], [2088, 2721], [2320, 2722], [2552, 2723], [2784, 2725], [3016, 2726], [3248, 2729], [3480, 2729], [3512, 2729], [3513, 2729], [3514, 2729]], [[625, 2766], [626, 2766], [627, 2766], [696, 2766], [928, 2771], [1160, 2776], [1392, 2779], [1624, 2780], [1856, 2781], [2088, 2783], [2320, 2784], [2552, 2785], [2784, 2787], [3016, 2788], [3248, 2791], [3480, 2791], [3512, 2791], [3513, 2791], [3514, 2791]], [[625, 2828], [626, 2828], [627, 2828], [696, 2828], [928, 2833], [1160, 2838], [1392, 2841], [1624, 2842], [1856, 2843], [2088, 2845], [2320, 2846], [2552, 2847], [2784, 2849], [3016, 2850], [3248, 2853], [3480, 2853], [3512, 2853], [3513, 2853], [3514, 2853]], [[625, 2890], [626, 2890], [627, 2890], [696, 2891], [928, 2896], [1160, 2901], [1392, 2904], [1624, 2905], [1856, 2906], [2088, 2908], [2320, 2909], [2552, 2911], [2784, 2913], [3016, 2915], [3248, 2916], [3480, 2917], [3512, 2917], [3513, 2918], [3514, 2918]], [[625, 2954], [626, 2959], [627, 2959], [696, 2959], [928, 2959], [1160, 2962], [1392, 2965], [1624, 2967], [1856, 2968], [2088, 2971], [2320, 2972], [2552, 2974], [2784, 2976], [3016, 2977], [3248, 2977], [3480, 2979], [3512, 2980], [3513, 2980], [3514, 2980]], [[625, 3009], [626, 3010], [627, 3010], [696, 3010], [928, 3015], [1160, 3019], [1392, 3022], [1624, 3023], [1856, 3025], [2088, 3027], [2320, 3029], [2552, 3031], [2784, 3033], [3016, 3034], [3248, 3034], [3480, 3037], [3512, 3038], [3513, 3038], [3514, 3038]], [[625, 3065], [626, 3066], [627, 3066], [696, 3066], [928, 3071], [1160, 3075], [1392, 3078], [1624, 3079], [1856, 3081], [2088, 3083], [2320, 3085], [2552, 3087], [2784, 3089], [3016, 3090], [3248, 3090], [3480, 3093], [3512, 3094], [3513, 3094], [3514, 3094]], [[625, 3121], [626, 3122], [627, 3122], [696, 3122], [928, 3127], [1160, 3131], [1392, 3134], [1624, 3135], [1856, 3137], [2088, 3139], [2320, 3141], [2552, 3143], [2784, 3145], [3016, 3146], [3248, 3146], [3480, 3149], [3512, 3150], [3513, 3150], [3514, 3150]]]}, {"staff_no": 10, "bounding_box": {"ncols": 3190, "nrows": 227, "ulx": 430, "uly": 3154}, "num_lines": 4, "line_positions": [[[430, 3026], [431, 3026], [432, 3026], [433, 3026], [464, 3026], [696, 3034], [928, 3041], [1160, 3046], [1392, 3048], [1624, 3050], [1856, 3053], [2088, 3056], [2320, 3058], [2552, 3060], [2784, 3062], [3016, 3065], [3248, 3067], [3480, 3069], [3617, 3070], [3618, 3071], [3619, 3072], [3620, 3073]], [[430, 3090], [431, 3090], [432, 3090], [433, 3090], [464, 3090], [696, 3098], [928, 3105], [1160, 3110], [1392, 3112], [1624, 3114], [1856, 3117], [2088, 3120], [2320, 3122], [2552, 3124], [2784, 3126], [3016, 3129], [3248, 3131], [3480, 3133], [3617, 3134], [3618, 3135], [3619, 3136], [3620, 3137]], [[430, 3154], [431, 3154], [432, 3154], [433, 3154], [464, 3154], [696, 3162], [928, 3169], [1160, 3174], [1392, 3176], [1624, 3178], [1856, 3181], [2088, 3184], [2320, 3186], [2552, 3188], [2784, 3190], [3016, 3193], [3248, 3195], [3480, 3197], [3617, 3198], [3618, 3199], [3619, 3200], [3620, 3201]], [[430, 3218], [431, 3218], [432, 3218], [433, 3218], [464, 3219], [696, 3224], [928, 3231], [1160, 3235], [1392, 3239], [1624, 3241], [1856, 3244], [2088, 3247], [2320, 3250], [2552, 3251], [2784, 3254], [3016, 3255], [3248, 3257], [3480, 3259], [3617, 3260], [3618, 3261], [3619, 3262], [3620, 3262]], [[430, 3281], [431, 3281], [432, 3281], [433, 3281], [464, 3281], [696, 3287], [928, 3293], [1160, 3297], [1392, 3300], [1624, 3303], [1856, 3306], [2088, 3308], [2320, 3313], [2552, 3314], [2784, 3316], [3016, 3319], [3248, 3318], [3480, 3321], [3617, 3321], [3618, 3322], [3619, 3322], [3620, 3322]], [[430, 3338], [431, 3338], [432, 3338], [433, 3338], [464, 3338], [696, 3343], [928, 3350], [1160, 3353], [1392, 3357], [1624, 3359], [1856, 3362], [2088, 3364], [2320, 3367], [2552, 3369], [2784, 3372], [3016, 3376], [3248, 3375], [3480, 3378], [3617, 3381], [3618, 3381], [3619, 3381], [3620, 3381]], [[430, 3394], [431, 3394], [432, 3394], [433, 3394], [464, 3394], [696, 3399], [928, 3406], [1160, 3409], [1392, 3413], [1624, 3415], [1856, 3418], [2088, 3420], [2320, 3423], [2552, 3425], [2784, 3428], [3016, 3432], [3248, 3431], [3480, 3434], [3617, 3437], [3618, 3437], [3619, 3437], [3620, 3437]], [[430, 3450], [431, 3450], [432, 3450], [433, 3450], [464, 3450], [696, 3455], [928, 3462], [1160, 3465], [1392, 3469], [1624, 3471], [1856, 3474], [2088, 3476], [2320, 3479], [2552, 3481], [2784, 3484], [3016, 3488], [3248, 3487], [3480, 3490], [3617, 3493], [3618, 3493], [3619, 3493], [3620, 3493]]]}, {"staff_no": 11, "bounding_box": {"ncols": 3133, "nrows": 209, "ulx": 442, "uly": 3499}, "num_lines": 4, "line_positions": [[[442, 3363], [443, 3363], [444, 3363], [464, 3363], [696, 3369], [928, 3372], [1160, 3373], [1392, 3374], [1624, 3375], [1856, 3378], [2088, 3381], [2320, 3381], [2552, 3382], [2784, 3383], [3016, 3383], [3248, 3386], [3480, 3388], [3573, 3388], [3574, 3389], [3575, 3390]], [[442, 3431], [443, 3431], [444, 3431], [464, 3431], [696, 3437], [928, 3440], [1160, 3441], [1392, 3442], [1624, 3443], [1856, 3446], [2088, 3449], [2320, 3449], [2552, 3450], [2784, 3451], [3016, 3451], [3248, 3454], [3480, 3456], [3573, 3456], [3574, 3457], [3575, 3458]], [[442, 3499], [443, 3499], [444, 3499], [464, 3499], [696, 3505], [928, 3508], [1160, 3509], [1392, 3510], [1624, 3511], [1856, 3514], [2088, 3517], [2320, 3517], [2552, 3518], [2784, 3519], [3016, 3519], [3248, 3522], [3480, 3524], [3573, 3524], [3574, 3525], [3575, 3526]], [[442, 3566], [443, 3566], [444, 3566], [464, 3567], [696, 3568], [928, 3572], [1160, 3573], [1392, 3574], [1624, 3575], [1856, 3577], [2088, 3582], [2320, 3581], [2552, 3582], [2784, 3582], [3016, 3584], [3248, 3588], [3480, 3588], [3573, 3589], [3574, 3590], [3575, 3590]], [[442, 3623], [443, 3624], [444, 3624], [464, 3624], [696, 3630], [928, 3635], [1160, 3636], [1392, 3635], [1624, 3636], [1856, 3639], [2088, 3642], [2320, 3642], [2552, 3643], [2784, 3644], [3016, 3646], [3248, 3648], [3480, 3650], [3573, 3651], [3574, 3651], [3575, 3651]], [[442, 3680], [443, 3681], [444, 3681], [464, 3681], [696, 3686], [928, 3691], [1160, 3693], [1392, 3691], [1624, 3694], [1856, 3694], [2088, 3698], [2320, 3699], [2552, 3701], [2784, 3701], [3016, 3703], [3248, 3705], [3480, 3707], [3573, 3708], [3574, 3708], [3575, 3708]], [[442, 3736], [443, 3737], [444, 3737], [464, 3737], [696, 3742], [928, 3747], [1160, 3749], [1392, 3747], [1624, 3750], [1856, 3750], [2088, 3754], [2320, 3755], [2552, 3757], [2784, 3757], [3016, 3759], [3248, 3761], [3480, 3763], [3573, 3764], [3574, 3764], [3575, 3764]], [[442, 3792], [443, 3793], [444, 3793], [464, 3793], [696, 3798], [928, 3803], [1160, 3805], [1392, 3803], [1624, 3806], [1856, 3806], [2088, 3810], [2320, 3811], [2552, 3813], [2784, 3813], [3016, 3815], [3248, 3817], [3480, 3819], [3573, 3820], [3574, 3820], [3575, 3820]]]}, {"staff_no": 12, "bounding_box": {"ncols": 3187, "nrows": 212, "ulx": 416, "uly": 3850}, "num_lines": 4, "line_positions": [[[416, 3722], [417, 3722], [464, 3722], [696, 3727], [928, 3730], [1160, 3731], [1392, 3730], [1624, 3732], [1856, 3733], [2088, 3735], [2320, 3738], [2552, 3740], [2784, 3741], [3016, 3742], [3248, 3745], [3480, 3749], [3601, 3749], [3602, 3750], [3603, 3751]], [[416, 3786], [417, 3786], [464, 3786], [696, 3791], [928, 3794], [1160, 3795], [1392, 3794], [1624, 3796], [1856, 3797], [2088, 3799], [2320, 3802], [2552, 3804], [2784, 3805], [3016, 3806], [3248, 3809], [3480, 3813], [3601, 3813], [3602, 3814], [3603, 3815]], [[416, 3850], [417, 3850], [464, 3850], [696, 3855], [928, 3858], [1160, 3859], [1392, 3858], [1624, 3860], [1856, 3861], [2088, 3863], [2320, 3866], [2552, 3868], [2784, 3869], [3016, 3870], [3248, 3873], [3480, 3877], [3601, 3877], [3602, 3878], [3603, 3879]], [[416, 3914], [417, 3914], [464, 3915], [696, 3919], [928, 3921], [1160, 3922], [1392, 3921], [1624, 3923], [1856, 3925], [2088, 3927], [2320, 3929], [2552, 3931], [2784, 3933], [3016, 3935], [3248, 3938], [3480, 3939], [3601, 3941], [3602, 3943], [3603, 3943]], [[416, 3975], [417, 3976], [464, 3976], [696, 3981], [928, 3984], [1160, 3981], [1392, 3983], [1624, 3984], [1856, 3986], [2088, 3988], [2320, 3992], [2552, 3994], [2784, 3995], [3016, 3998], [3248, 4001], [3480, 4003], [3601, 4003], [3602, 4003], [3603, 4003]], [[416, 4033], [417, 4033], [464, 4033], [696, 4038], [928, 4041], [1160, 4045], [1392, 4040], [1624, 4041], [1856, 4042], [2088, 4045], [2320, 4049], [2552, 4051], [2784, 4053], [3016, 4054], [3248, 4058], [3480, 4060], [3601, 4062], [3602, 4062], [3603, 4062]], [[416, 4091], [417, 4091], [464, 4091], [696, 4096], [928, 4099], [1160, 4103], [1392, 4098], [1624, 4099], [1856, 4100], [2088, 4103], [2320, 4107], [2552, 4109], [2784, 4111], [3016, 4112], [3248, 4116], [3480, 4118], [3601, 4120], [3602, 4120], [3603, 4120]], [[416, 4149], [417, 4149], [464, 4149], [696, 4154], [928, 4157], [1160, 4161], [1392, 4156], [1624, 4157], [1856, 4158], [2088, 4161], [2320, 4165], [2552, 4167], [2784, 4169], [3016, 4170], [3248, 4174], [3480, 4176], [3601, 4178], [3602, 4178], [3603, 4178]]]}, {"staff_no": 13, "bounding_box": {"ncols": 3187, "nrows": 213, "ulx": 448, "uly": 4183}, "num_lines": 4, "line_positions": [[[448, 4063], [449, 4063], [450, 4063], [464, 4063], [696, 4067], [928, 4071], [1160, 4072], [1392, 4075], [1624, 4072], [1856, 4074], [2088, 4078], [2320, 4081], [2552, 4084], [2784, 4084], [3016, 4086], [3248, 4086], [3480, 4090], [3633, 4091], [3634, 4092], [3635, 4094]], [[448, 4123], [449, 4123], [450, 4123], [464, 4123], [696, 4127], [928, 4131], [1160, 4132], [1392, 4135], [1624, 4132], [1856, 4134], [2088, 4138], [2320, 4141], [2552, 4144], [2784, 4144], [3016, 4146], [3248, 4146], [3480, 4150], [3633, 4151], [3634, 4152], [3635, 4154]], [[448, 4183], [449, 4183], [450, 4183], [464, 4183], [696, 4187], [928, 4191], [1160, 4192], [1392, 4195], [1624, 4192], [1856, 4194], [2088, 4198], [2320, 4201], [2552, 4204], [2784, 4204], [3016, 4206], [3248, 4206], [3480, 4210], [3633, 4211], [3634, 4212], [3635, 4214]], [[448, 4244], [449, 4244], [450, 4244], [464, 4244], [696, 4249], [928, 4253], [1160, 4257], [1392, 4260], [1624, 4255], [1856, 4257], [2088, 4260], [2320, 4263], [2552, 4265], [2784, 4268], [3016, 4270], [3248, 4270], [3480, 4275], [3633, 4276], [3634, 4277], [3635, 4277]], [[448, 4304], [449, 4304], [450, 4304], [464, 4304], [696, 4310], [928, 4314], [1160, 4314], [1392, 4315], [1624, 4318], [1856, 4320], [2088, 4322], [2320, 4326], [2552, 4330], [2784, 4331], [3016, 4331], [3248, 4336], [3480, 4338], [3633, 4339], [3634, 4339], [3635, 4339]], [[448, 4362], [449, 4362], [450, 4362], [464, 4362], [696, 4366], [928, 4368], [1160, 4369], [1392, 4372], [1624, 4375], [1856, 4376], [2088, 4379], [2320, 4382], [2552, 4385], [2784, 4387], [3016, 4388], [3248, 4389], [3480, 4394], [3633, 4396], [3634, 4396], [3635, 4396]], [[448, 4420], [449, 4420], [450, 4420], [464, 4420], [696, 4424], [928, 4426], [1160, 4427], [1392, 4430], [1624, 4433], [1856, 4434], [2088, 4437], [2320, 4440], [2552, 4443], [2784, 4445], [3016, 4446], [3248, 4447], [3480, 4452], [3633, 4454], [3634, 4454], [3635, 4454]], [[448, 4478], [449, 4478], [450, 4478], [464, 4478], [696, 4482], [928, 4484], [1160, 4485], [1392, 4488], [1624, 4491], [1856, 4492], [2088, 4495], [2320, 4498], [2552, 4501], [2784, 4503], [3016, 4504], [3248, 4505], [3480, 4510], [3633, 4512], [3634, 4512], [3635, 4512]]]}, {"staff_no": 14, "bounding_box": {"ncols": 3192, "nrows": 222, "ulx": 405, "uly": 4509}, "num_lines": 4, "line_positions": [[[405, 4381], [406, 4381], [407, 4381], [464, 4382], [696, 4391], [928, 4394], [1160, 4397], [1392, 4398], [1624, 4399], [1856, 4402], [2088, 4406], [2320, 4409], [2552, 4412], [2784, 4413], [3016, 4414], [3248, 4416], [3480, 4419], [3594, 4419], [3595, 4420], [3596, 4420], [3597, 4421]], [[405, 4445], [406, 4445], [407, 4445], [464, 4446], [696, 4455], [928, 4458], [1160, 4461], [1392, 4462], [1624, 4463], [1856, 4466], [2088, 4470], [2320, 4473], [2552, 4476], [2784, 4477], [3016, 4478], [3248, 4480], [3480, 4483], [3594, 4483], [3595, 4484], [3596, 4484], [3597, 4485]], [[405, 4509], [406, 4509], [407, 4509], [464, 4510], [696, 4519], [928, 4522], [1160, 4525], [1392, 4526], [1624, 4527], [1856, 4530], [2088, 4534], [2320, 4537], [2552, 4540], [2784, 4541], [3016, 4542], [3248, 4544], [3480, 4547], [3594, 4547], [3595, 4548], [3596, 4548], [3597, 4549]], [[405, 4572], [406, 4572], [407, 4573], [464, 4574], [696, 4582], [928, 4584], [1160, 4587], [1392, 4590], [1624, 4592], [1856, 4594], [2088, 4596], [2320, 4599], [2552, 4602], [2784, 4603], [3016, 4605], [3248, 4607], [3480, 4609], [3594, 4609], [3595, 4610], [3596, 4611], [3597, 4611]], [[405, 4636], [406, 4636], [407, 4636], [464, 4636], [696, 4644], [928, 4647], [1160, 4651], [1392, 4654], [1624, 4652], [1856, 4654], [2088, 4657], [2320, 4659], [2552, 4663], [2784, 4666], [3016, 4667], [3248, 4670], [3480, 4673], [3594, 4674], [3595, 4675], [3596, 4675], [3597, 4675]], [[405, 4692], [406, 4692], [407, 4692], [464, 4692], [696, 4700], [928, 4704], [1160, 4706], [1392, 4709], [1624, 4710], [1856, 4711], [2088, 4714], [2320, 4715], [2552, 4720], [2784, 4723], [3016, 4725], [3248, 4728], [3480, 4730], [3594, 4731], [3595, 4731], [3596, 4731], [3597, 4731]], [[405, 4748], [406, 4748], [407, 4748], [464, 4748], [696, 4756], [928, 4760], [1160, 4762], [1392, 4765], [1624, 4766], [1856, 4767], [2088, 4770], [2320, 4771], [2552, 4776], [2784, 4779], [3016, 4781], [3248, 4784], [3480, 4786], [3594, 4787], [3595, 4787], [3596, 4787], [3597, 4787]], [[405, 4804], [406, 4804], [407, 4804], [464, 4804], [696, 4812], [928, 4816], [1160, 4818], [1392, 4821], [1624, 4822], [1856, 4823], [2088, 4826], [2320, 4827], [2552, 4832], [2784, 4835], [3016, 4837], [3248, 4840], [3480, 4842], [3594, 4843], [3595, 4843], [3596, 4843], [3597, 4843]]]}, {"staff_no": 15, "bounding_box": {"ncols": 3199, "nrows": 220, "ulx": 430, "uly": 4844}, "num_lines": 4, "line_positions": [[[430, 4716], [431, 4716], [432, 4716], [433, 4716], [464, 4716], [696, 4725], [928, 4727], [1160, 4729], [1392, 4732], [1624, 4733], [1856, 4735], [2088, 4739], [2320, 4738], [2552, 4744], [2784, 4745], [3016, 4747], [3248, 4749], [3480, 4753], [3626, 4754], [3627, 4755], [3628, 4756], [3629, 4757]], [[430, 4780], [431, 4780], [432, 4780], [433, 4780], [464, 4780], [696, 4789], [928, 4791], [1160, 4793], [1392, 4796], [1624, 4797], [1856, 4799], [2088, 4803], [2320, 4802], [2552, 4808], [2784, 4809], [3016, 4811], [3248, 4813], [3480, 4817], [3626, 4818], [3627, 4819], [3628, 4820], [3629, 4821]], [[430, 4844], [431, 4844], [432, 4844], [433, 4844], [464, 4844], [696, 4853], [928, 4855], [1160, 4857], [1392, 4860], [1624, 4861], [1856, 4863], [2088, 4867], [2320, 4866], [2552, 4872], [2784, 4873], [3016, 4875], [3248, 4877], [3480, 4881], [3626, 4882], [3627, 4883], [3628, 4884], [3629, 4885]], [[430, 4907], [431, 4907], [432, 4907], [433, 4907], [464, 4907], [696, 4915], [928, 4918], [1160, 4917], [1392, 4919], [1624, 4921], [1856, 4923], [2088, 4925], [2320, 4928], [2552, 4933], [2784, 4937], [3016, 4939], [3248, 4941], [3480, 4944], [3626, 4944], [3627, 4944], [3628, 4945], [3629, 4945]], [[430, 4972], [431, 4972], [432, 4973], [433, 4974], [464, 4975], [696, 4977], [928, 4980], [1160, 4984], [1392, 4979], [1624, 4979], [1856, 4986], [2088, 4991], [2320, 4990], [2552, 4994], [2784, 4999], [3016, 5001], [3248, 5003], [3480, 5005], [3626, 5006], [3627, 5008], [3628, 5008], [3629, 5008]], [[430, 5029], [431, 5033], [432, 5033], [433, 5033], [464, 5033], [696, 5033], [928, 5035], [1160, 5039], [1392, 5037], [1624, 5035], [1856, 5042], [2088, 5047], [2320, 5046], [2552, 5051], [2784, 5056], [3016, 5057], [3248, 5060], [3480, 5062], [3626, 5064], [3627, 5064], [3628, 5064], [3629, 5064]], [[430, 5085], [431, 5089], [432, 5089], [433, 5089], [464, 5089], [696, 5089], [928, 5091], [1160, 5095], [1392, 5093], [1624, 5091], [1856, 5098], [2088, 5103], [2320, 5102], [2552, 5107], [2784, 5112], [3016, 5113], [3248, 5116], [3480, 5118], [3626, 5120], [3627, 5120], [3628, 5120], [3629, 5120]], [[430, 5141], [431, 5145], [432, 5145], [433, 5145], [464, 5145], [696, 5145], [928, 5147], [1160, 5151], [1392, 5149], [1624, 5147], [1856, 5154], [2088, 5159], [2320, 5158], [2552, 5163], [2784, 5168], [3016, 5169], [3248, 5172], [3480, 5174], [3626, 5176], [3627, 5176], [3628, 5176], [3629, 5176]]]}, {"staff_no": 16, "bounding_box": {"ncols": 3242, "nrows": 211, "ulx": 410, "uly": 5192}, "num_lines": 4, "line_positions": [[[410, 5076], [411, 5076], [412, 5076], [464, 5076], [696, 5079], [928, 5078], [1160, 5081], [1392, 5081], [1624, 5079], [1856, 5084], [2088, 5086], [2320, 5092], [2552, 5095], [2784, 5099], [3016, 5101], [3248, 5103], [3480, 5104], [3651, 5105], [3652, 5107]], [[410, 5134], [411, 5134], [412, 5134], [464, 5134], [696, 5137], [928, 5136], [1160, 5139], [1392, 5139], [1624, 5137], [1856, 5142], [2088, 5144], [2320, 5150], [2552, 5153], [2784, 5157], [3016, 5159], [3248, 5161], [3480, 5162], [3651, 5163], [3652, 5165]], [[410, 5192], [411, 5192], [412, 5192], [464, 5192], [696, 5195], [928, 5194], [1160, 5197], [1392, 5197], [1624, 5195], [1856, 5200], [2088, 5202], [2320, 5208], [2552, 5211], [2784, 5215], [3016, 5217], [3248, 5219], [3480, 5220], [3651, 5221], [3652, 5223]], [[410, 5250], [411, 5250], [412, 5251], [464, 5253], [696, 5254], [928, 5256], [1160, 5260], [1392, 5256], [1624, 5258], [1856, 5262], [2088, 5269], [2320, 5271], [2552, 5274], [2784, 5278], [3016, 5279], [3248, 5281], [3480, 5282], [3651, 5283], [3652, 5285]], [[410, 5312], [411, 5319], [412, 5319], [464, 5319], [696, 5319], [928, 5319], [1160, 5319], [1392, 5322], [1624, 5320], [1856, 5324], [2088, 5331], [2320, 5333], [2552, 5336], [2784, 5340], [3016, 5341], [3248, 5344], [3480, 5343], [3651, 5347], [3652, 5347]], [[410, 5366], [411, 5370], [412, 5370], [464, 5370], [696, 5370], [928, 5374], [1160, 5378], [1392, 5381], [1624, 5383], [1856, 5385], [2088, 5387], [2320, 5390], [2552, 5392], [2784, 5397], [3016, 5398], [3248, 5400], [3480, 5399], [3651, 5403], [3652, 5403]], [[410, 5420], [411, 5424], [412, 5424], [464, 5424], [696, 5424], [928, 5428], [1160, 5432], [1392, 5435], [1624, 5437], [1856, 5439], [2088, 5441], [2320, 5444], [2552, 5446], [2784, 5451], [3016, 5452], [3248, 5454], [3480, 5453], [3651, 5457], [3652, 5457]], [[410, 5474], [411, 5478], [412, 5478], [464, 5478], [696, 5478], [928, 5482], [1160, 5486], [1392, 5489], [1624, 5491], [1856, 5493], [2088, 5495], [2320, 5498], [2552, 5500], [2784, 5505], [3016, 5506], [3248, 5508], [3480, 5507], [3651, 5511], [3652, 5511]]]}], "glyphs": [{"pitch": {"staff": "1", "offset": "57", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 46, "ulx": 57, "uly": 589}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "1", "offset": "73", "strt_pos": "11", "note": "f", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 49, "ulx": 73, "uly": 594}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "76", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 42, "ulx": 76, "uly": 492}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "1", "offset": "474", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 41, "nrows": 105, "ulx": 474, "uly": 397}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "1", "offset": "563", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 103, "ulx": 563, "uly": 525}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "679", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 96, "ulx": 679, "uly": 524}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "740", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 113, "ulx": 740, "uly": 556}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "860", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 95, "ulx": 860, "uly": 591}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "955", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 39, "ulx": 955, "uly": 623}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "1019", "strt_pos": "5", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 235, "ulx": 1019, "uly": 460}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "1", "offset": "1094", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 125, "ulx": 1094, "uly": 568}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "1264", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 115, "ulx": 1264, "uly": 572}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "1348", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 231, "ulx": 1348, "uly": 462}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "1", "offset": "1452", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 117, "ulx": 1452, "uly": 512}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "1575", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 39, "ulx": 1575, "uly": 516}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "1608", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 26, "ulx": 1608, "uly": 477}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "1629", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 46, "nrows": 42, "ulx": 1629, "uly": 519}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "1682", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 209, "ulx": 1682, "uly": 451}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "1", "offset": "1715", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 38, "ulx": 1715, "uly": 545}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "1799", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 39, "ulx": 1799, "uly": 546}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "1867", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 238, "ulx": 1867, "uly": 448}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "1", "offset": "2026", "strt_pos": "4", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 42, "nrows": 71, "ulx": 2026, "uly": 441}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2094", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 60, "ulx": 2094, "uly": 452}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2177", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 60, "ulx": 2177, "uly": 490}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2231", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 48, "nrows": 114, "ulx": 2231, "uly": 459}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2311", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 51, "nrows": 112, "ulx": 2311, "uly": 518}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2390", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 45, "nrows": 102, "ulx": 2390, "uly": 555}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2635", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 122, "ulx": 2635, "uly": 455}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2732", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 97, "ulx": 2732, "uly": 456}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2824", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 102, "ulx": 2824, "uly": 457}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2880", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 234, "ulx": 2880, "uly": 429}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "2", "offset": "2960", "strt_pos": "4", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 120, "ulx": 2960, "uly": 464}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "2", "offset": "3077", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 39, "ulx": 3077, "uly": 469}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "2", "offset": "3114", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 38, "ulx": 3114, "uly": 467}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "2", "offset": "3171", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 55, "ulx": 3171, "uly": 522}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "2", "offset": "3199", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 26, "nrows": 57, "ulx": 3199, "uly": 554}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "2", "offset": "3242", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 209, "ulx": 3242, "uly": 471}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "3", "offset": "1580", "strt_pos": "12", "note": "c", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 24, "nrows": 17, "ulx": 1580, "uly": 1024}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "27", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 31, "ulx": 27, "uly": 1162}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "4", "offset": "31", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 36, "ulx": 31, "uly": 1112}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "71", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 152, "ulx": 71, "uly": 1097}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "623", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 62, "ulx": 623, "uly": 1120}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "630", "strt_pos": "4", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 24, "nrows": 21, "ulx": 630, "uly": 1098}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "666", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 74, "ulx": 666, "uly": 1286}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "781", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 39, "ulx": 781, "uly": 1232}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "871", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 61, "nrows": 73, "ulx": 871, "uly": 1292}, "state": "AUTOMATIC", "name": "neume.oblique2"}}, {"pitch": {"staff": "4", "offset": "957", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 21, "nrows": 198, "ulx": 957, "uly": 1163}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "4", "offset": "1146", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 82, "ulx": 1146, "uly": 1177}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "4", "offset": "1254", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 91, "ulx": 1254, "uly": 1188}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "1327", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 234, "ulx": 1327, "uly": 1127}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "1468", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 116, "ulx": 1468, "uly": 1186}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "1639", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 39, "ulx": 1639, "uly": 1223}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "1695", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 222, "ulx": 1695, "uly": 1122}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "1841", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 132, "ulx": 1841, "uly": 1191}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "1987", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 38, "ulx": 1987, "uly": 1261}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "2044", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 218, "ulx": 2044, "uly": 1129}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "2103", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 90, "ulx": 2103, "uly": 1182}, "state": "AUTOMATIC", "name": "neume.liquescent.up"}}, {"pitch": {"staff": "4", "offset": "2193", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 145, "ulx": 2193, "uly": 1200}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "2266", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 223, "ulx": 2266, "uly": 1118}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "2424", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 112, "ulx": 2424, "uly": 1199}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "2564", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 120, "ulx": 2564, "uly": 1133}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "2649", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 85, "ulx": 2649, "uly": 1124}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "4", "offset": "2721", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 183, "ulx": 2721, "uly": 1121}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "2821", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 121, "ulx": 2821, "uly": 1203}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "2970", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 39, "ulx": 2970, "uly": 1233}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "3029", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 179, "ulx": 3029, "uly": 1173}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "4", "offset": "3127", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 127, "ulx": 3127, "uly": 1205}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "3241", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 128, "ulx": 3241, "uly": 1236}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "3304", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 24, "nrows": 269, "ulx": 3304, "uly": 1132}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "3376", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 113, "ulx": 3376, "uly": 1270}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "3534", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 106, "ulx": 3534, "uly": 1267}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "4", "offset": "3691", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 78, "ulx": 3691, "uly": 1166}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "0", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 42, "ulx": 0, "uly": 1458}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "11", "strt_pos": "4", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 45, "ulx": 11, "uly": 1418}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "5", "offset": "45", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 70, "ulx": 45, "uly": 1536}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "49", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 23, "nrows": 35, "ulx": 49, "uly": 1496}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "81", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 20, "nrows": 29, "ulx": 81, "uly": 1562}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "89", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 37, "ulx": 89, "uly": 1500}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "99", "strt_pos": "12", "note": "c", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 23, "nrows": 58, "ulx": 99, "uly": 1645}, "state": "HEURISTIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "5", "offset": "462", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 114, "ulx": 462, "uly": 1409}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "5", "offset": "515", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 110, "ulx": 515, "uly": 1539}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "618", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 40, "ulx": 618, "uly": 1550}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "628", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 25, "nrows": 21, "ulx": 628, "uly": 1506}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "760", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 41, "nrows": 47, "ulx": 760, "uly": 1577}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "790", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 39, "ulx": 790, "uly": 1550}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "820", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 33, "ulx": 820, "uly": 1586}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "862", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 8, "nrows": 39, "ulx": 862, "uly": 1614}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "933", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 73, "ulx": 933, "uly": 1580}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "990", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 240, "ulx": 990, "uly": 1479}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "1038", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 124, "ulx": 1038, "uly": 1524}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1138", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 126, "ulx": 1138, "uly": 1557}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1209", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 241, "ulx": 1209, "uly": 1445}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "1251", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 137, "ulx": 1251, "uly": 1535}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1337", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 114, "ulx": 1337, "uly": 1560}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1415", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 117, "ulx": 1415, "uly": 1596}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1488", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 226, "ulx": 1488, "uly": 1472}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "1565", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 120, "ulx": 1565, "uly": 1561}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1683", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 128, "ulx": 1683, "uly": 1540}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1785", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 82, "ulx": 1785, "uly": 1536}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "5", "offset": "1844", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 20, "nrows": 255, "ulx": 1844, "uly": 1460}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "1923", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 102, "ulx": 1923, "uly": 1607}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "2045", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 100, "ulx": 2045, "uly": 1570}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "5", "offset": "2125", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 180, "ulx": 2125, "uly": 1510}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "2178", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 44, "nrows": 48, "ulx": 2178, "uly": 1610}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "2239", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 61, "nrows": 93, "ulx": 2239, "uly": 1575}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "5", "offset": "2341", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 118, "ulx": 2341, "uly": 1606}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "2416", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 19, "nrows": 240, "ulx": 2416, "uly": 1468}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "2443", "strt_pos": "6", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 121, "ulx": 2443, "uly": 1450}, "state": "AUTOMATIC", "name": "accidental.flat"}}, {"pitch": {"staff": "5", "offset": "2497", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 73, "nrows": 55, "ulx": 2497, "uly": 1537}, "state": "AUTOMATIC", "name": "neume.pescephalicus2"}}, {"pitch": {"staff": "5", "offset": "2547", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 39, "ulx": 2547, "uly": 1476}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "2609", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 55, "ulx": 2609, "uly": 1537}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "5", "offset": "2638", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 57, "ulx": 2638, "uly": 1564}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "5", "offset": "2820", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 107, "ulx": 2820, "uly": 1614}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "2929", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 70, "nrows": 116, "ulx": 2929, "uly": 1606}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "5", "offset": "3026", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 22, "nrows": 255, "ulx": 3026, "uly": 1495}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "3135", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 75, "ulx": 3135, "uly": 1676}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "3393", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 81, "ulx": 3393, "uly": 1668}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "3527", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 43, "nrows": 93, "ulx": 3527, "uly": 1579}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "5", "offset": "3675", "strt_pos": "6", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 97, "ulx": 3675, "uly": 1560}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "6", "offset": "15", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 20, "nrows": 60, "ulx": 15, "uly": 1904}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "6", "offset": "57", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 73, "ulx": 57, "uly": 1893}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "61", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 38, "ulx": 61, "uly": 1850}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "6", "offset": "106", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 21, "nrows": 48, "ulx": 106, "uly": 1869}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "6", "offset": "109", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 9, "nrows": 42, "ulx": 109, "uly": 1818}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "6", "offset": "453", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 108, "ulx": 453, "uly": 1758}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "6", "offset": "533", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 107, "ulx": 533, "uly": 1935}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "616", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 228, "ulx": 616, "uly": 1809}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "6", "offset": "661", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 83, "ulx": 661, "uly": 1914}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "740", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 38, "ulx": 740, "uly": 1971}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "6", "offset": "845", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 39, "ulx": 845, "uly": 1969}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "6", "offset": "929", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 21, "nrows": 236, "ulx": 929, "uly": 1792}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "6", "offset": "1161", "strt_pos": "13", "note": "b", "octave": "1", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 33, "ulx": 1161, "uly": 2027}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "6", "offset": "1291", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 57, "ulx": 1291, "uly": 1866}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "1356", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 37, "ulx": 1356, "uly": 1864}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "6", "offset": "1439", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 60, "ulx": 1439, "uly": 1901}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "1497", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 42, "nrows": 55, "ulx": 1497, "uly": 1928}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "1576", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 93, "ulx": 1576, "uly": 1865}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "6", "offset": "1692", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 24, "nrows": 78, "ulx": 1692, "uly": 1910}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "2116", "strt_pos": "3", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 103, "ulx": 2116, "uly": 1852}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "6", "offset": "2153", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 72, "nrows": 126, "ulx": 2153, "uly": 1885}, "state": "HEURISTIC", "name": "neume.scandicus23"}}, {"pitch": {"staff": "6", "offset": "2305", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 111, "ulx": 2305, "uly": 1889}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "2396", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 121, "ulx": 2396, "uly": 1890}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "2597", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 82, "nrows": 94, "ulx": 2597, "uly": 1884}, "state": "AUTOMATIC", "name": "neume.torculus32"}}, {"pitch": {"staff": "6", "offset": "2812", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 27, "nrows": 134, "ulx": 2812, "uly": 1890}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "2979", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 106, "ulx": 2979, "uly": 1857}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "3063", "strt_pos": "5", "note": "e", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 126, "ulx": 3063, "uly": 1833}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "3191", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 127, "ulx": 3191, "uly": 1867}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "3247", "strt_pos": "1", "note": "b", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 40, "ulx": 3247, "uly": 1708}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "6", "offset": "3343", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 138, "ulx": 3343, "uly": 1897}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "3457", "strt_pos": "8", "note": "b", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 68, "nrows": 127, "ulx": 3457, "uly": 1897}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "6", "offset": "3655", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 36, "ulx": 3655, "uly": 1980}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "7", "offset": "2", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 37, "ulx": 2, "uly": 2189}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "4", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 26, "nrows": 47, "ulx": 4, "uly": 2229}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "453", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 110, "ulx": 453, "uly": 2086}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "7", "offset": "527", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 138, "ulx": 527, "uly": 2183}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "626", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 126, "ulx": 626, "uly": 2211}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "705", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 95, "ulx": 705, "uly": 2182}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "828", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 40, "ulx": 828, "uly": 2216}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "923", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 116, "ulx": 923, "uly": 2188}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1008", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 278, "ulx": 1008, "uly": 2109}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "1071", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 109, "ulx": 1071, "uly": 2131}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1136", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 115, "ulx": 1136, "uly": 2134}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1232", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 131, "ulx": 1232, "uly": 2137}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1319", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 11, "nrows": 157, "ulx": 1319, "uly": 2209}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "1444", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 86, "ulx": 1444, "uly": 2126}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "7", "offset": "1585", "strt_pos": "4", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 94, "ulx": 1585, "uly": 2122}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1692", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 122, "ulx": 1692, "uly": 2170}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1757", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 230, "ulx": 1757, "uly": 2128}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "1810", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 63, "nrows": 120, "ulx": 1810, "uly": 2133}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "7", "offset": "1913", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 107, "ulx": 1913, "uly": 2205}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1998", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 38, "ulx": 1998, "uly": 2237}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "2090", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 41, "nrows": 106, "ulx": 2090, "uly": 2143}, "state": "AUTOMATIC", "name": "neume.podatus3"}}, {"pitch": {"staff": "7", "offset": "2163", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 25, "nrows": 36, "ulx": 2163, "uly": 2201}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "2251", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 272, "ulx": 2251, "uly": 2119}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "2368", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 65, "nrows": 104, "ulx": 2368, "uly": 2234}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "7", "offset": "2524", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 26, "nrows": 43, "ulx": 2524, "uly": 2304}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "2544", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 19, "ulx": 2544, "uly": 2140}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "2628", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 89, "ulx": 2628, "uly": 2230}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "7", "offset": "2691", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 62, "nrows": 100, "ulx": 2691, "uly": 2230}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "7", "offset": "2775", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 281, "ulx": 2775, "uly": 2123}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "2896", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 112, "ulx": 2896, "uly": 2244}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "3042", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 86, "ulx": 3042, "uly": 2203}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "7", "offset": "3054", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 20, "ulx": 3054, "uly": 2202}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "3119", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 21, "nrows": 263, "ulx": 3119, "uly": 2134}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "3255", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 43, "ulx": 3255, "uly": 2304}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "3342", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 39, "ulx": 3342, "uly": 2309}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "3412", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 215, "ulx": 3412, "uly": 2162}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "3504", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 112, "ulx": 3504, "uly": 2306}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "3645", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 95, "ulx": 3645, "uly": 2205}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "8", "offset": "75", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 29, "ulx": 75, "uly": 2483}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "8", "offset": "453", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 106, "ulx": 453, "uly": 2436}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "8", "offset": "506", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 117, "ulx": 506, "uly": 2592}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "632", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 27, "nrows": 39, "ulx": 632, "uly": 2564}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "8", "offset": "718", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 128, "ulx": 718, "uly": 2562}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "800", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 66, "nrows": 134, "ulx": 800, "uly": 2588}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "8", "offset": "939", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 40, "ulx": 939, "uly": 2653}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "8", "offset": "1172", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 106, "ulx": 1172, "uly": 2599}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "8", "offset": "1324", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 112, "ulx": 1324, "uly": 2603}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "1430", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 98, "ulx": 1430, "uly": 2609}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "1550", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 43, "nrows": 101, "ulx": 1550, "uly": 2485}, "state": "AUTOMATIC", "name": "neume.podatus3"}}, {"pitch": {"staff": "8", "offset": "1657", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 115, "ulx": 1657, "uly": 2577}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "1758", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 40, "ulx": 1758, "uly": 2638}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "8", "offset": "1817", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 238, "ulx": 1817, "uly": 2470}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "8", "offset": "1881", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 41, "nrows": 89, "ulx": 1881, "uly": 2568}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "8", "offset": "1984", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 141, "ulx": 1984, "uly": 2574}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2041", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 11, "nrows": 210, "ulx": 2041, "uly": 2463}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "8", "offset": "2095", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 129, "ulx": 2095, "uly": 2542}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "8", "offset": "2237", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 100, "ulx": 2237, "uly": 2638}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2320", "strt_pos": "12", "note": "c", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 90, "ulx": 2320, "uly": 2630}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "8", "offset": "2405", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 98, "ulx": 2405, "uly": 2635}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2473", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 273, "ulx": 2473, "uly": 2480}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "8", "offset": "2712", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 62, "ulx": 2712, "uly": 2487}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2769", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 65, "ulx": 2769, "uly": 2485}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2829", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 52, "ulx": 2829, "uly": 2483}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2908", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 58, "ulx": 2908, "uly": 2560}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2965", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 71, "ulx": 2965, "uly": 2489}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "3020", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 49, "ulx": 3020, "uly": 2511}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "8", "offset": "3046", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 38, "ulx": 3046, "uly": 2562}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "8", "offset": "3646", "strt_pos": "17", "note": "e", "octave": "1", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 153, "ulx": 3646, "uly": 2752}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "9", "offset": "33", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 27, "nrows": 123, "ulx": 33, "uly": 2900}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "84", "strt_pos": "5", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 149, "ulx": 84, "uly": 2823}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "638", "strt_pos": "3", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 107, "ulx": 638, "uly": 2840}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "9", "offset": "691", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 19, "ulx": 691, "uly": 2951}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "9", "offset": "691", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 89, "ulx": 691, "uly": 2975}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "755", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 116, "ulx": 755, "uly": 2871}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "819", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 111, "ulx": 819, "uly": 2935}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "882", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 270, "ulx": 882, "uly": 2801}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "1019", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 62, "nrows": 78, "ulx": 1019, "uly": 2966}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "9", "offset": "1125", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 154, "ulx": 1125, "uly": 2910}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "1197", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 83, "ulx": 1197, "uly": 2971}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "1288", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 116, "ulx": 1288, "uly": 2946}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "1380", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 123, "ulx": 1380, "uly": 2884}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "1478", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 44, "nrows": 106, "ulx": 1478, "uly": 2883}, "state": "AUTOMATIC", "name": "neume.podatus3"}}, {"pitch": {"staff": "9", "offset": "1556", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 223, "ulx": 1556, "uly": 2801}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "1613", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 97, "ulx": 1613, "uly": 2975}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "1731", "strt_pos": "12", "note": "e", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 89, "ulx": 1731, "uly": 2967}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "9", "offset": "1845", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 102, "ulx": 1845, "uly": 2970}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "1920", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 298, "ulx": 1920, "uly": 2795}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "2016", "strt_pos": "8", "note": "b", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 129, "ulx": 2016, "uly": 2920}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "2134", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 113, "ulx": 2134, "uly": 2890}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "2240", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 130, "ulx": 2240, "uly": 2855}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "2279", "strt_pos": "12", "note": "e", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 22, "nrows": 18, "ulx": 2279, "uly": 3054}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "9", "offset": "2391", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 90, "ulx": 2391, "uly": 2845}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "9", "offset": "2459", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 21, "nrows": 243, "ulx": 2459, "uly": 2802}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "2558", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 88, "ulx": 2558, "uly": 2945}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "9", "offset": "2744", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 24, "nrows": 50, "ulx": 2744, "uly": 2879}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "9", "offset": "2841", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 86, "ulx": 2841, "uly": 2822}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "9", "offset": "2904", "strt_pos": "5", "note": "e", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 81, "ulx": 2904, "uly": 2828}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "2970", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 209, "ulx": 2970, "uly": 2805}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "3057", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 122, "ulx": 3057, "uly": 2864}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "3138", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 126, "ulx": 3138, "uly": 2864}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "3195", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 188, "ulx": 3195, "uly": 2875}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "3288", "strt_pos": "8", "note": "b", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 133, "ulx": 3288, "uly": 2925}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "3403", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 152, "ulx": 3403, "uly": 2865}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "3514", "strt_pos": "5", "note": "e", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 141, "ulx": 3514, "uly": 2831}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "3569", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 200, "ulx": 3569, "uly": 2817}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "10", "offset": "96", "strt_pos": "14", "note": "c", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 50, "ulx": 96, "uly": 3391}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "10", "offset": "445", "strt_pos": "3", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 114, "ulx": 445, "uly": 3156}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "10", "offset": "527", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 124, "ulx": 527, "uly": 3169}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "672", "strt_pos": "8", "note": "b", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 71, "nrows": 129, "ulx": 672, "uly": 3205}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "10", "offset": "830", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 85, "ulx": 830, "uly": 3258}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "10", "offset": "898", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 240, "ulx": 898, "uly": 3148}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "10", "offset": "1069", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 26, "nrows": 66, "ulx": 1069, "uly": 3205}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "1083", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 42, "nrows": 42, "ulx": 1083, "uly": 3274}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "10", "offset": "1208", "strt_pos": "8", "note": "b", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 77, "ulx": 1208, "uly": 3252}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "1392", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 120, "ulx": 1392, "uly": 3274}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "10", "offset": "1485", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 248, "ulx": 1485, "uly": 3145}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "10", "offset": "1648", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 40, "ulx": 1648, "uly": 3311}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "10", "offset": "1755", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 39, "ulx": 1755, "uly": 3313}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "10", "offset": "1829", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 270, "ulx": 1829, "uly": 3143}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "10", "offset": "2178", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 74, "ulx": 2178, "uly": 3228}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "2236", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 76, "ulx": 2236, "uly": 3226}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "2294", "strt_pos": "8", "note": "b", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 74, "ulx": 2294, "uly": 3252}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "10", "offset": "2343", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 66, "ulx": 2343, "uly": 3226}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "2406", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 65, "ulx": 2406, "uly": 3285}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "2485", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 106, "ulx": 2485, "uly": 3311}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "2897", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 111, "ulx": 2897, "uly": 3235}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "3006", "strt_pos": "8", "note": "b", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 64, "nrows": 128, "ulx": 3006, "uly": 3229}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "10", "offset": "3134", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 125, "ulx": 3134, "uly": 3288}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "10", "offset": "3160", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 42, "ulx": 3160, "uly": 3328}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "10", "offset": "3233", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 19, "nrows": 330, "ulx": 3233, "uly": 3126}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "10", "offset": "3268", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 119, "ulx": 3268, "uly": 3295}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "3379", "strt_pos": "10", "note": "g", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 38, "ulx": 3379, "uly": 3328}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "10", "offset": "3447", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 210, "ulx": 3447, "uly": 3180}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "10", "offset": "3523", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 59, "ulx": 3523, "uly": 3269}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "10", "offset": "3665", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 25, "nrows": 113, "ulx": 3665, "uly": 3157}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "11", "offset": "63", "strt_pos": "9", "note": "a", "octave": "2", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 50, "ulx": 63, "uly": 3603}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "11", "offset": "436", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 81, "ulx": 436, "uly": 3503}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "11", "offset": "488", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 28, "ulx": 488, "uly": 3551}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "11", "offset": "540", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 56, "nrows": 62, "ulx": 540, "uly": 3533}, "state": "AUTOMATIC", "name": "neume.oblique2"}}, {"pitch": {"staff": "11", "offset": "549", "strt_pos": "5", "note": "e", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 22, "nrows": 15, "ulx": 549, "uly": 3507}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "11", "offset": "639", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 135, "ulx": 639, "uly": 3544}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "819", "strt_pos": "5", "note": "e", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 99, "ulx": 819, "uly": 3485}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "882", "strt_pos": "5", "note": "e", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 102, "ulx": 882, "uly": 3488}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "963", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 121, "ulx": 963, "uly": 3521}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "1033", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 181, "ulx": 1033, "uly": 3478}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "11", "offset": "1114", "strt_pos": "4", "note": "f", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 145, "ulx": 1114, "uly": 3458}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "1270", "strt_pos": "5", "note": "e", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 124, "ulx": 1270, "uly": 3492}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "1338", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 205, "ulx": 1338, "uly": 3467}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "11", "offset": "1574", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 119, "ulx": 1574, "uly": 3522}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "1923", "strt_pos": "6", "note": "d", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 41, "nrows": 47, "ulx": 1923, "uly": 3525}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "11", "offset": "2123", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 133, "ulx": 2123, "uly": 3561}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "2254", "strt_pos": "7", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 129, "ulx": 2254, "uly": 3559}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "2341", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 238, "ulx": 2341, "uly": 3487}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "11", "offset": "2364", "strt_pos": "2", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 117, "ulx": 2364, "uly": 3585}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "11", "offset": "2488", "strt_pos": "7", "note": "e", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 134, "ulx": 2488, "uly": 3560}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "2708", "strt_pos": "6", "note": "f", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 115, "ulx": 2708, "uly": 3528}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "2841", "strt_pos": "5", "note": "g", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 117, "ulx": 2841, "uly": 3494}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "2962", "strt_pos": "6", "note": "f", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 143, "ulx": 2962, "uly": 3519}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "3044", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 260, "ulx": 3044, "uly": 3481}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "11", "offset": "3170", "strt_pos": "5", "note": "g", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 134, "ulx": 3170, "uly": 3501}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "3291", "strt_pos": "7", "note": "e", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 102, "ulx": 3291, "uly": 3563}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "3359", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 277, "ulx": 3359, "uly": 3489}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "11", "offset": "3422", "strt_pos": "6", "note": "f", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 103, "ulx": 3422, "uly": 3531}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "11", "offset": "3446", "strt_pos": "7", "note": "e", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 32, "ulx": 3446, "uly": 3584}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "11", "offset": "3516", "strt_pos": "8", "note": "d", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 40, "ulx": 3516, "uly": 3599}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "11", "offset": "3574", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 234, "ulx": 3574, "uly": 3484}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "11", "offset": "3670", "strt_pos": "8", "note": "d", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 134, "ulx": 3670, "uly": 3532}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "12", "offset": "42", "strt_pos": "11", "note": "a", "octave": "2", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 28, "ulx": 42, "uly": 4030}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "423", "strt_pos": "2", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 106, "ulx": 423, "uly": 3924}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "12", "offset": "521", "strt_pos": "9", "note": "c", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 134, "ulx": 521, "uly": 3956}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "684", "strt_pos": "8", "note": "d", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 139, "ulx": 684, "uly": 3929}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "841", "strt_pos": "6", "note": "f", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 123, "ulx": 841, "uly": 3864}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "978", "strt_pos": "9", "note": "c", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 116, "ulx": 978, "uly": 3963}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "1063", "strt_pos": "3", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 262, "ulx": 1063, "uly": 3806}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "12", "offset": "1147", "strt_pos": "10", "note": "b", "octave": "2", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 69, "nrows": 108, "ulx": 1147, "uly": 3957}, "state": "AUTOMATIC", "name": "neume.clivis3"}}, {"pitch": {"staff": "12", "offset": "1235", "strt_pos": "10", "note": "b", "octave": "2", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 75, "ulx": 1235, "uly": 3970}, "state": "AUTOMATIC", "name": "neume.liquescent.up"}}, {"pitch": {"staff": "12", "offset": "1297", "strt_pos": "10", "note": "b", "octave": "2", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 104, "ulx": 1297, "uly": 3992}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "1426", "strt_pos": "11", "note": "a", "octave": "2", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 67, "ulx": 1426, "uly": 4020}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "1529", "strt_pos": "12", "note": "g", "octave": "2", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 19, "ulx": 1529, "uly": 4047}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "1606", "strt_pos": "12", "note": "g", "octave": "2", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 36, "ulx": 1606, "uly": 4050}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "1667", "strt_pos": "10", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 266, "ulx": 1667, "uly": 3868}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "12", "offset": "1762", "strt_pos": "12", "note": "g", "octave": "2", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 74, "ulx": 1762, "uly": 4006}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "12", "offset": "1912", "strt_pos": "9", "note": "c", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 123, "ulx": 1912, "uly": 3962}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2001", "strt_pos": "8", "note": "d", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 125, "ulx": 2001, "uly": 3935}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2082", "strt_pos": "9", "note": "c", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 108, "ulx": 2082, "uly": 3970}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2163", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 194, "ulx": 2163, "uly": 3860}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "12", "offset": "2208", "strt_pos": "9", "note": "c", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 124, "ulx": 2208, "uly": 3971}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2305", "strt_pos": "8", "note": "d", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 141, "ulx": 2305, "uly": 3940}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2389", "strt_pos": "7", "note": "e", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 41, "ulx": 2389, "uly": 3905}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "2407", "strt_pos": "8", "note": "d", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 49, "ulx": 2407, "uly": 3947}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "2472", "strt_pos": "7", "note": "e", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 125, "ulx": 2472, "uly": 3911}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2546", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 208, "ulx": 2546, "uly": 3855}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "12", "offset": "2643", "strt_pos": "8", "note": "d", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 59, "ulx": 2643, "uly": 3939}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "2780", "strt_pos": "9", "note": "c", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 121, "ulx": 2780, "uly": 3975}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2915", "strt_pos": "8", "note": "d", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 119, "ulx": 2915, "uly": 3941}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "12", "offset": "3115", "strt_pos": "9", "note": "c", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 40, "ulx": 3115, "uly": 3981}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "3173", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 260, "ulx": 3173, "uly": 3836}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "12", "offset": "3386", "strt_pos": "7", "note": "e", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 64, "ulx": 3386, "uly": 3919}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "3444", "strt_pos": "7", "note": "e", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 60, "ulx": 3444, "uly": 3917}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "3494", "strt_pos": "9", "note": "c", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 44, "nrows": 43, "ulx": 3494, "uly": 3982}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "3536", "strt_pos": "8", "note": "d", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 45, "ulx": 3536, "uly": 3950}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "3543", "strt_pos": "7", "note": "e", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 37, "ulx": 3543, "uly": 3910}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "13", "offset": "430", "strt_pos": "2", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 106, "ulx": 430, "uly": 4246}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "13", "offset": "498", "strt_pos": "8", "note": "d", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 50, "ulx": 498, "uly": 4254}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "13", "offset": "589", "strt_pos": "9", "note": "c", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 83, "ulx": 589, "uly": 4278}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "1025", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 86, "ulx": 1025, "uly": 4159}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "13", "offset": "1116", "strt_pos": "12", "note": "c", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 26, "ulx": 1116, "uly": 4378}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "13", "offset": "1241", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 77, "ulx": 1241, "uly": 4352}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "1324", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 85, "nrows": 241, "ulx": 1324, "uly": 4169}, "state": "AUTOMATIC", "name": "neume.scandicus33"}}, {"pitch": {"staff": "13", "offset": "1441", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 112, "ulx": 1441, "uly": 4234}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "1526", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 95, "ulx": 1526, "uly": 4236}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "1602", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 262, "ulx": 1602, "uly": 4150}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "13", "offset": "1676", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 129, "ulx": 1676, "uly": 4235}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "1825", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 139, "ulx": 1825, "uly": 4269}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "1953", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 148, "ulx": 1953, "uly": 4240}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "2048", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 9, "nrows": 240, "ulx": 2048, "uly": 4172}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "13", "offset": "2173", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 133, "ulx": 2173, "uly": 4241}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "2302", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 103, "ulx": 2302, "uly": 4273}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "2427", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 117, "ulx": 2427, "uly": 4307}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "2570", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 88, "ulx": 2570, "uly": 4246}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "2609", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 11, "nrows": 229, "ulx": 2609, "uly": 4169}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "13", "offset": "2661", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 113, "ulx": 2661, "uly": 4179}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "13", "offset": "2768", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 118, "ulx": 2768, "uly": 4248}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "2919", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 87, "ulx": 2919, "uly": 4237}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "13", "offset": "3040", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 59, "nrows": 96, "ulx": 3040, "uly": 4246}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "13", "offset": "3175", "strt_pos": "5", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 229, "ulx": 3175, "uly": 4203}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "13", "offset": "3215", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 87, "ulx": 3215, "uly": 4274}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "13", "offset": "3375", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 138, "ulx": 3375, "uly": 4249}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "3487", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 58, "nrows": 108, "ulx": 3487, "uly": 4287}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "13", "offset": "3553", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 122, "ulx": 3553, "uly": 4288}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "3653", "strt_pos": "17", "note": "e", "octave": "1", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 25, "nrows": 113, "ulx": 3653, "uly": 4445}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "14", "offset": "27", "strt_pos": "4", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 43, "ulx": 27, "uly": 4445}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "14", "offset": "40", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 39, "ulx": 40, "uly": 4529}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "423", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 88, "ulx": 423, "uly": 4472}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "14", "offset": "499", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 66, "nrows": 116, "ulx": 499, "uly": 4608}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "14", "offset": "604", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 91, "ulx": 604, "uly": 4676}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "749", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 121, "nrows": 130, "ulx": 749, "uly": 4591}, "state": "AUTOMATIC", "name": "neume.torculus34"}}, {"pitch": {"staff": "14", "offset": "931", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 65, "ulx": 931, "uly": 4687}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "1012", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 69, "ulx": 1012, "uly": 4685}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "1090", "strt_pos": "12", "note": "c", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 39, "ulx": 1090, "uly": 4718}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "1150", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 156, "ulx": 1150, "uly": 4581}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "14", "offset": "1239", "strt_pos": "12", "note": "c", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 27, "ulx": 1239, "uly": 4716}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "1376", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 65, "ulx": 1376, "uly": 4682}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "1432", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 83, "ulx": 1432, "uly": 4595}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "14", "offset": "1547", "strt_pos": "10", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 82, "ulx": 1547, "uly": 4616}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "14", "offset": "1616", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 229, "ulx": 1616, "uly": 4539}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "14", "offset": "1701", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 39, "ulx": 1701, "uly": 4691}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "1775", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 41, "ulx": 1775, "uly": 4689}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "1845", "strt_pos": "10", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 170, "ulx": 1845, "uly": 4581}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "14", "offset": "2164", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 66, "ulx": 2164, "uly": 4581}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "2226", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 44, "ulx": 2226, "uly": 4576}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2306", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 51, "ulx": 2306, "uly": 4612}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2391", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 54, "ulx": 2391, "uly": 4641}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2495", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 41, "ulx": 2495, "uly": 4617}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2503", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 39, "ulx": 2503, "uly": 4569}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2560", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 25, "ulx": 2560, "uly": 4641}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2602", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 20, "ulx": 2602, "uly": 4656}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2609", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 27, "ulx": 2609, "uly": 4633}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2664", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 27, "nrows": 25, "ulx": 2664, "uly": 4705}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2916", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 21, "ulx": 2916, "uly": 4718}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2971", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 112, "ulx": 2971, "uly": 4616}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "3074", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 96, "ulx": 3074, "uly": 4614}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "3144", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 92, "ulx": 3144, "uly": 4516}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "3233", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 118, "ulx": 3233, "uly": 4586}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "3306", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 40, "ulx": 3306, "uly": 4619}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "3367", "strt_pos": "6", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 138, "ulx": 3367, "uly": 4577}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "14", "offset": "3419", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 137, "ulx": 3419, "uly": 4588}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "3483", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 38, "ulx": 3483, "uly": 4625}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "3533", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 126, "ulx": 3533, "uly": 4592}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "3596", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 229, "ulx": 3596, "uly": 4509}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "15", "offset": "40", "strt_pos": "11", "note": "d", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 30, "ulx": 40, "uly": 5034}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "420", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 106, "ulx": 420, "uly": 4797}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "15", "offset": "506", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 39, "ulx": 506, "uly": 4823}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "662", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 150, "ulx": 662, "uly": 4895}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "834", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 111, "ulx": 834, "uly": 4917}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "15", "offset": "971", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 83, "ulx": 971, "uly": 4889}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "15", "offset": "1068", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 127, "ulx": 1068, "uly": 4896}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "1157", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 227, "ulx": 1157, "uly": 4819}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "15", "offset": "1273", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 40, "ulx": 1273, "uly": 4931}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "1365", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 39, "ulx": 1365, "uly": 4929}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "1438", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 242, "ulx": 1438, "uly": 4813}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "15", "offset": "1519", "strt_pos": "12", "note": "c", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 18, "ulx": 1519, "uly": 5058}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "1562", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 39, "ulx": 1562, "uly": 4935}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "1683", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 47, "nrows": 98, "ulx": 1683, "uly": 4840}, "state": "AUTOMATIC", "name": "neume.podatus3"}}, {"pitch": {"staff": "15", "offset": "1787", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 137, "ulx": 1787, "uly": 4841}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "1870", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 131, "ulx": 1870, "uly": 4843}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "1936", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 124, "ulx": 1936, "uly": 4844}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "2004", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 285, "ulx": 2004, "uly": 4793}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "15", "offset": "2073", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 71, "nrows": 121, "ulx": 2073, "uly": 4899}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "15", "offset": "2224", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 134, "ulx": 2224, "uly": 4909}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "2352", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 112, "ulx": 2352, "uly": 4845}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "2421", "strt_pos": "3", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 11, "nrows": 91, "ulx": 2421, "uly": 4810}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "2446", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 41, "nrows": 109, "ulx": 2446, "uly": 4863}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "2457", "strt_pos": "4", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 20, "ulx": 2457, "uly": 4838}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "2538", "strt_pos": "4", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 21, "ulx": 2538, "uly": 4843}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "2626", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 246, "ulx": 2626, "uly": 4815}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "15", "offset": "2715", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 42, "ulx": 2715, "uly": 4888}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "2723", "strt_pos": "4", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 28, "ulx": 2723, "uly": 4836}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "2877", "strt_pos": "4", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 41, "ulx": 2877, "uly": 4820}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "2981", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 113, "ulx": 2981, "uly": 4857}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "15", "offset": "3089", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 42, "nrows": 93, "ulx": 3089, "uly": 4839}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "15", "offset": "3161", "strt_pos": "6", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 9, "nrows": 96, "ulx": 3161, "uly": 4902}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "15", "offset": "3255", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 130, "ulx": 3255, "uly": 4921}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "3385", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 131, "ulx": 3385, "uly": 4956}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "3525", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 26, "nrows": 112, "ulx": 3525, "uly": 4917}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "32", "strt_pos": "17", "note": "e", "octave": "1", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 48, "ulx": 32, "uly": 5459}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "16", "offset": "412", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 108, "ulx": 412, "uly": 5140}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "16", "offset": "474", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 127, "ulx": 474, "uly": 5170}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "531", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 19, "nrows": 237, "ulx": 531, "uly": 5140}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "16", "offset": "634", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 88, "ulx": 634, "uly": 5226}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "16", "offset": "719", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 133, "ulx": 719, "uly": 5237}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "792", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 253, "ulx": 792, "uly": 5152}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "16", "offset": "886", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 130, "ulx": 886, "uly": 5236}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "1019", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 67, "nrows": 109, "ulx": 1019, "uly": 5267}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "16", "offset": "1130", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 82, "ulx": 1130, "uly": 5231}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "16", "offset": "1203", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 74, "ulx": 1203, "uly": 5216}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "1310", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 43, "nrows": 95, "ulx": 1310, "uly": 5185}, "state": "AUTOMATIC", "name": "neume.podatus3"}}, {"pitch": {"staff": "16", "offset": "1391", "strt_pos": "3", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 243, "ulx": 1391, "uly": 5148}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "16", "offset": "1445", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 114, "ulx": 1445, "uly": 5266}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "1572", "strt_pos": "9", "note": "f", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 92, "ulx": 1572, "uly": 5257}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "16", "offset": "1694", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 125, "ulx": 1694, "uly": 5268}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2017", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 72, "ulx": 2017, "uly": 5182}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2074", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 72, "ulx": 2074, "uly": 5183}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2143", "strt_pos": "6", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 64, "ulx": 2143, "uly": 5217}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2204", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 68, "ulx": 2204, "uly": 5184}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2256", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 72, "ulx": 2256, "uly": 5248}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2315", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 71, "ulx": 2315, "uly": 5282}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2699", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 153, "ulx": 2699, "uly": 5194}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2794", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 159, "ulx": 2794, "uly": 5193}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2921", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 40, "ulx": 2921, "uly": 5201}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "16", "offset": "3003", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 42, "ulx": 3003, "uly": 5195}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "16", "offset": "3049", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 125, "ulx": 3049, "uly": 5198}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "3097", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 22, "nrows": 22, "ulx": 3097, "uly": 5214}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "16", "offset": "3121", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 42, "ulx": 3121, "uly": 5243}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "16", "offset": "3155", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 23, "nrows": 58, "ulx": 3155, "uly": 5282}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "16", "offset": "3200", "strt_pos": "8", "note": "g", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 86, "ulx": 3200, "uly": 5228}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "16", "offset": "3265", "strt_pos": "5", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 42, "ulx": 3265, "uly": 5199}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "16", "offset": "3302", "strt_pos": "7", "note": "a", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 24, "nrows": 38, "ulx": 3302, "uly": 5274}, "state": "AUTOMATIC", "name": "neume.punctum"}}]} \ No newline at end of file +{"page": {"resolution": 0.0, "bounding_box": {"ncols": 4872, "nrows": 6496, "ulx": 0, "uly": 0}}, "staves": [{"staff_no": 1, "bounding_box": {"ncols": 2091, "nrows": 209, "ulx": 461, "uly": 448}, "num_lines": 4, "line_positions": [[[461, 320], [462, 320], [463, 320], [464, 320], [696, 324], [928, 329], [1160, 335], [1392, 338], [1624, 340], [1856, 341], [2088, 342], [2320, 342], [2549, 342], [2550, 343], [2551, 343], [2552, 344]], [[461, 384], [462, 384], [463, 384], [464, 384], [696, 388], [928, 393], [1160, 399], [1392, 402], [1624, 404], [1856, 405], [2088, 406], [2320, 406], [2549, 406], [2550, 407], [2551, 407], [2552, 408]], [[461, 448], [462, 448], [463, 448], [464, 448], [696, 452], [928, 457], [1160, 463], [1392, 466], [1624, 468], [1856, 469], [2088, 470], [2320, 470], [2549, 470], [2550, 471], [2551, 471], [2552, 472]], [[461, 513], [462, 513], [463, 513], [464, 515], [696, 518], [928, 522], [1160, 528], [1392, 532], [1624, 533], [1856, 534], [2088, 536], [2320, 537], [2549, 538], [2550, 540], [2551, 542], [2552, 542]], [[461, 573], [462, 573], [463, 574], [464, 576], [696, 578], [928, 585], [1160, 590], [1392, 594], [1624, 597], [1856, 598], [2088, 598], [2320, 598], [2549, 601], [2550, 604], [2551, 604], [2552, 604]], [[461, 629], [462, 630], [463, 630], [464, 630], [696, 634], [928, 641], [1160, 647], [1392, 650], [1624, 653], [1856, 655], [2088, 657], [2320, 656], [2549, 655], [2550, 655], [2551, 655], [2552, 655]], [[461, 685], [462, 686], [463, 686], [464, 686], [696, 690], [928, 697], [1160, 703], [1392, 706], [1624, 709], [1856, 711], [2088, 713], [2320, 712], [2549, 711], [2550, 711], [2551, 711], [2552, 711]], [[461, 741], [462, 742], [463, 742], [464, 742], [696, 746], [928, 753], [1160, 759], [1392, 762], [1624, 765], [1856, 767], [2088, 769], [2320, 768], [2549, 767], [2550, 767], [2551, 767], [2552, 767]]]}, {"staff_no": 2, "bounding_box": {"ncols": 439, "nrows": 189, "ulx": 3249, "uly": 497}, "num_lines": 4, "line_positions": [[[3249, 369], [3250, 369], [3251, 369], [3480, 372], [3685, 373], [3686, 374], [3687, 375], [3688, 376]], [[3249, 433], [3250, 433], [3251, 433], [3480, 436], [3685, 437], [3686, 438], [3687, 439], [3688, 440]], [[3249, 497], [3250, 497], [3251, 497], [3480, 500], [3685, 501], [3686, 502], [3687, 503], [3688, 504]], [[3249, 562], [3250, 562], [3251, 562], [3480, 564], [3685, 565], [3686, 566], [3687, 568], [3688, 568]], [[3249, 624], [3250, 624], [3251, 625], [3480, 626], [3685, 627], [3686, 629], [3687, 629], [3688, 629]], [[3249, 681], [3250, 683], [3251, 683], [3480, 683], [3685, 686], [3686, 686], [3687, 686], [3688, 686]], [[3249, 737], [3250, 739], [3251, 739], [3480, 739], [3685, 742], [3686, 742], [3687, 742], [3688, 742]], [[3249, 793], [3250, 795], [3251, 795], [3480, 795], [3685, 798], [3686, 798], [3687, 798], [3688, 798]]]}, {"staff_no": 3, "bounding_box": {"ncols": 2320, "nrows": 201, "ulx": 496, "uly": 802}, "num_lines": 4, "line_positions": [[[496, 674], [497, 674], [696, 677], [928, 685], [1160, 688], [1392, 690], [1624, 690], [1856, 690], [2088, 690], [2320, 690], [2552, 689], [2784, 689], [2815, 689], [2816, 690]], [[496, 738], [497, 738], [696, 741], [928, 749], [1160, 752], [1392, 754], [1624, 754], [1856, 754], [2088, 754], [2320, 754], [2552, 753], [2784, 753], [2815, 753], [2816, 754]], [[496, 802], [497, 802], [696, 805], [928, 813], [1160, 816], [1392, 818], [1624, 818], [1856, 818], [2088, 818], [2320, 818], [2552, 817], [2784, 817], [2815, 817], [2816, 818]], [[496, 867], [497, 867], [696, 869], [928, 877], [1160, 881], [1392, 882], [1624, 883], [1856, 884], [2088, 884], [2320, 883], [2552, 883], [2784, 882], [2815, 882], [2816, 882]], [[496, 928], [497, 928], [696, 930], [928, 938], [1160, 943], [1392, 944], [1624, 945], [1856, 946], [2088, 946], [2320, 946], [2552, 945], [2784, 946], [2815, 945], [2816, 945]], [[496, 985], [497, 987], [696, 987], [928, 995], [1160, 1000], [1392, 1001], [1624, 1002], [1856, 1002], [2088, 1003], [2320, 1003], [2552, 1003], [2784, 1002], [2815, 1001], [2816, 1001]], [[496, 1041], [497, 1043], [696, 1043], [928, 1051], [1160, 1056], [1392, 1057], [1624, 1058], [1856, 1058], [2088, 1059], [2320, 1059], [2552, 1059], [2784, 1058], [2815, 1057], [2816, 1057]], [[496, 1097], [497, 1099], [696, 1099], [928, 1107], [1160, 1112], [1392, 1113], [1624, 1114], [1856, 1114], [2088, 1115], [2320, 1115], [2552, 1115], [2784, 1114], [2815, 1113], [2816, 1113]]]}, {"staff_no": 4, "bounding_box": {"ncols": 2902, "nrows": 224, "ulx": 635, "uly": 1128}, "num_lines": 4, "line_positions": [[[635, 1008], [636, 1008], [637, 1008], [696, 1011], [928, 1014], [1160, 1021], [1392, 1024], [1624, 1027], [1856, 1030], [2088, 1032], [2320, 1033], [2552, 1034], [2784, 1035], [3016, 1037], [3248, 1041], [3480, 1043], [3535, 1043], [3536, 1043], [3537, 1043]], [[635, 1068], [636, 1068], [637, 1068], [696, 1071], [928, 1074], [1160, 1081], [1392, 1084], [1624, 1087], [1856, 1090], [2088, 1092], [2320, 1093], [2552, 1094], [2784, 1095], [3016, 1097], [3248, 1101], [3480, 1103], [3535, 1103], [3536, 1103], [3537, 1103]], [[635, 1128], [636, 1128], [637, 1128], [696, 1131], [928, 1134], [1160, 1141], [1392, 1144], [1624, 1147], [1856, 1150], [2088, 1152], [2320, 1153], [2552, 1154], [2784, 1155], [3016, 1157], [3248, 1161], [3480, 1163], [3535, 1163], [3536, 1163], [3537, 1163]], [[635, 1189], [636, 1189], [637, 1189], [696, 1189], [928, 1198], [1160, 1205], [1392, 1208], [1624, 1211], [1856, 1213], [2088, 1215], [2320, 1217], [2552, 1218], [2784, 1220], [3016, 1222], [3248, 1225], [3480, 1227], [3535, 1227], [3536, 1227], [3537, 1227]], [[635, 1251], [636, 1251], [637, 1251], [696, 1251], [928, 1259], [1160, 1266], [1392, 1270], [1624, 1273], [1856, 1277], [2088, 1279], [2320, 1281], [2552, 1283], [2784, 1285], [3016, 1286], [3248, 1289], [3480, 1293], [3535, 1294], [3536, 1294], [3537, 1294]], [[635, 1311], [636, 1312], [637, 1312], [696, 1312], [928, 1316], [1160, 1322], [1392, 1326], [1624, 1330], [1856, 1333], [2088, 1336], [2320, 1337], [2552, 1339], [2784, 1343], [3016, 1343], [3248, 1345], [3480, 1350], [3535, 1352], [3536, 1352], [3537, 1352]], [[635, 1371], [636, 1372], [637, 1372], [696, 1372], [928, 1376], [1160, 1382], [1392, 1386], [1624, 1390], [1856, 1393], [2088, 1396], [2320, 1397], [2552, 1399], [2784, 1403], [3016, 1403], [3248, 1405], [3480, 1410], [3535, 1412], [3536, 1412], [3537, 1412]], [[635, 1431], [636, 1432], [637, 1432], [696, 1432], [928, 1436], [1160, 1442], [1392, 1446], [1624, 1450], [1856, 1453], [2088, 1456], [2320, 1457], [2552, 1459], [2784, 1463], [3016, 1463], [3248, 1465], [3480, 1470], [3535, 1472], [3536, 1472], [3537, 1472]]]}, {"staff_no": 5, "bounding_box": {"ncols": 3195, "nrows": 234, "ulx": 458, "uly": 1467}, "num_lines": 4, "line_positions": [[[458, 1339], [459, 1339], [460, 1339], [464, 1341], [696, 1344], [928, 1349], [1160, 1356], [1392, 1361], [1624, 1366], [1856, 1368], [2088, 1372], [2320, 1375], [2552, 1377], [2784, 1378], [3016, 1379], [3248, 1381], [3480, 1383], [3651, 1384], [3652, 1385], [3653, 1386]], [[458, 1403], [459, 1403], [460, 1403], [464, 1405], [696, 1408], [928, 1413], [1160, 1420], [1392, 1425], [1624, 1430], [1856, 1432], [2088, 1436], [2320, 1439], [2552, 1441], [2784, 1442], [3016, 1443], [3248, 1445], [3480, 1447], [3651, 1448], [3652, 1449], [3653, 1450]], [[458, 1467], [459, 1467], [460, 1467], [464, 1469], [696, 1472], [928, 1477], [1160, 1484], [1392, 1489], [1624, 1494], [1856, 1496], [2088, 1500], [2320, 1503], [2552, 1505], [2784, 1506], [3016, 1507], [3248, 1509], [3480, 1511], [3651, 1512], [3652, 1513], [3653, 1514]], [[458, 1532], [459, 1532], [460, 1532], [464, 1533], [696, 1537], [928, 1541], [1160, 1547], [1392, 1552], [1624, 1558], [1856, 1564], [2088, 1565], [2320, 1567], [2552, 1570], [2784, 1570], [3016, 1572], [3248, 1574], [3480, 1576], [3651, 1577], [3652, 1578], [3653, 1580]], [[458, 1594], [459, 1594], [460, 1594], [464, 1594], [696, 1597], [928, 1604], [1160, 1612], [1392, 1614], [1624, 1620], [1856, 1624], [2088, 1626], [2320, 1630], [2552, 1631], [2784, 1632], [3016, 1635], [3248, 1637], [3480, 1639], [3651, 1640], [3652, 1642], [3653, 1642]], [[458, 1651], [459, 1651], [460, 1651], [464, 1651], [696, 1654], [928, 1658], [1160, 1662], [1392, 1671], [1624, 1676], [1856, 1681], [2088, 1682], [2320, 1686], [2552, 1687], [2784, 1690], [3016, 1692], [3248, 1693], [3480, 1697], [3651, 1701], [3652, 1701], [3653, 1701]], [[458, 1707], [459, 1707], [460, 1707], [464, 1707], [696, 1710], [928, 1714], [1160, 1718], [1392, 1727], [1624, 1732], [1856, 1737], [2088, 1738], [2320, 1742], [2552, 1743], [2784, 1746], [3016, 1748], [3248, 1749], [3480, 1753], [3651, 1757], [3652, 1757], [3653, 1757]], [[458, 1763], [459, 1763], [460, 1763], [464, 1763], [696, 1766], [928, 1770], [1160, 1774], [1392, 1783], [1624, 1788], [1856, 1793], [2088, 1794], [2320, 1798], [2552, 1799], [2784, 1802], [3016, 1804], [3248, 1805], [3480, 1809], [3651, 1813], [3652, 1813], [3653, 1813]]]}, {"staff_no": 6, "bounding_box": {"ncols": 3091, "nrows": 232, "ulx": 463, "uly": 1804}, "num_lines": 4, "line_positions": [[[463, 1676], [464, 1676], [465, 1676], [467, 1676], [696, 1680], [928, 1685], [1160, 1694], [1392, 1699], [1624, 1705], [1856, 1709], [2088, 1712], [2320, 1717], [2552, 1719], [2784, 1719], [3016, 1722], [3248, 1726], [3480, 1729], [3551, 1729], [3552, 1730], [3553, 1730], [3554, 1731]], [[463, 1740], [464, 1740], [465, 1740], [467, 1740], [696, 1744], [928, 1749], [1160, 1758], [1392, 1763], [1624, 1769], [1856, 1773], [2088, 1776], [2320, 1781], [2552, 1783], [2784, 1783], [3016, 1786], [3248, 1790], [3480, 1793], [3551, 1793], [3552, 1794], [3553, 1794], [3554, 1795]], [[463, 1804], [464, 1804], [465, 1804], [467, 1804], [696, 1808], [928, 1813], [1160, 1822], [1392, 1827], [1624, 1833], [1856, 1837], [2088, 1840], [2320, 1845], [2552, 1847], [2784, 1847], [3016, 1850], [3248, 1854], [3480, 1857], [3551, 1857], [3552, 1858], [3553, 1858], [3554, 1859]], [[463, 1867], [464, 1867], [465, 1867], [467, 1869], [696, 1871], [928, 1875], [1160, 1879], [1392, 1890], [1624, 1896], [1856, 1900], [2088, 1905], [2320, 1907], [2552, 1910], [2784, 1909], [3016, 1913], [3248, 1917], [3480, 1917], [3551, 1918], [3552, 1919], [3553, 1920], [3554, 1920]], [[463, 1928], [464, 1928], [465, 1929], [467, 1931], [696, 1933], [928, 1936], [1160, 1945], [1392, 1951], [1624, 1957], [1856, 1962], [2088, 1965], [2320, 1967], [2552, 1968], [2784, 1969], [3016, 1972], [3248, 1976], [3480, 1979], [3551, 1980], [3552, 1981], [3553, 1981], [3554, 1981]], [[463, 1984], [464, 1989], [465, 1989], [467, 1989], [696, 1989], [928, 1992], [1160, 1996], [1392, 2008], [1624, 2013], [1856, 2017], [2088, 2019], [2320, 2019], [2552, 2021], [2784, 2022], [3016, 2026], [3248, 2029], [3480, 2034], [3551, 2036], [3552, 2036], [3553, 2036], [3554, 2036]], [[463, 2040], [464, 2045], [465, 2045], [467, 2045], [696, 2045], [928, 2048], [1160, 2052], [1392, 2064], [1624, 2069], [1856, 2073], [2088, 2075], [2320, 2075], [2552, 2077], [2784, 2078], [3016, 2082], [3248, 2085], [3480, 2090], [3551, 2092], [3552, 2092], [3553, 2092], [3554, 2092]], [[463, 2096], [464, 2101], [465, 2101], [467, 2101], [696, 2101], [928, 2104], [1160, 2108], [1392, 2120], [1624, 2125], [1856, 2129], [2088, 2131], [2320, 2131], [2552, 2133], [2784, 2134], [3016, 2138], [3248, 2141], [3480, 2146], [3551, 2148], [3552, 2148], [3553, 2148], [3554, 2148]]]}, {"staff_no": 7, "bounding_box": {"ncols": 3204, "nrows": 226, "ulx": 446, "uly": 2135}, "num_lines": 4, "line_positions": [[[446, 2007], [447, 2007], [448, 2007], [449, 2007], [464, 2007], [696, 2011], [928, 2016], [1160, 2027], [1392, 2029], [1624, 2030], [1856, 2033], [2088, 2033], [2320, 2032], [2552, 2034], [2784, 2035], [3016, 2043], [3248, 2046], [3480, 2048], [3647, 2049], [3648, 2050], [3649, 2051], [3650, 2052]], [[446, 2071], [447, 2071], [448, 2071], [449, 2071], [464, 2071], [696, 2075], [928, 2080], [1160, 2091], [1392, 2093], [1624, 2094], [1856, 2097], [2088, 2097], [2320, 2096], [2552, 2098], [2784, 2099], [3016, 2107], [3248, 2110], [3480, 2112], [3647, 2113], [3648, 2114], [3649, 2115], [3650, 2116]], [[446, 2135], [447, 2135], [448, 2135], [449, 2135], [464, 2135], [696, 2139], [928, 2144], [1160, 2155], [1392, 2157], [1624, 2158], [1856, 2161], [2088, 2161], [2320, 2160], [2552, 2162], [2784, 2163], [3016, 2171], [3248, 2174], [3480, 2176], [3647, 2177], [3648, 2178], [3649, 2179], [3650, 2180]], [[446, 2200], [447, 2200], [448, 2200], [449, 2200], [464, 2200], [696, 2202], [928, 2206], [1160, 2214], [1392, 2218], [1624, 2222], [1856, 2224], [2088, 2224], [2320, 2224], [2552, 2226], [2784, 2227], [3016, 2235], [3248, 2239], [3480, 2244], [3647, 2245], [3648, 2246], [3649, 2248], [3650, 2248]], [[446, 2260], [447, 2260], [448, 2260], [449, 2260], [464, 2261], [696, 2264], [928, 2267], [1160, 2274], [1392, 2280], [1624, 2284], [1856, 2286], [2088, 2285], [2320, 2286], [2552, 2291], [2784, 2295], [3016, 2297], [3248, 2299], [3480, 2301], [3647, 2301], [3648, 2302], [3649, 2302], [3650, 2302]], [[446, 2316], [447, 2316], [448, 2316], [449, 2316], [464, 2316], [696, 2320], [928, 2323], [1160, 2331], [1392, 2337], [1624, 2340], [1856, 2342], [2088, 2342], [2320, 2342], [2552, 2346], [2784, 2350], [3016, 2353], [3248, 2357], [3480, 2360], [3647, 2361], [3648, 2361], [3649, 2361], [3650, 2361]], [[446, 2372], [447, 2372], [448, 2372], [449, 2372], [464, 2372], [696, 2376], [928, 2379], [1160, 2387], [1392, 2393], [1624, 2396], [1856, 2398], [2088, 2398], [2320, 2398], [2552, 2402], [2784, 2406], [3016, 2409], [3248, 2413], [3480, 2416], [3647, 2417], [3648, 2417], [3649, 2417], [3650, 2417]], [[446, 2428], [447, 2428], [448, 2428], [449, 2428], [464, 2428], [696, 2432], [928, 2435], [1160, 2443], [1392, 2449], [1624, 2452], [1856, 2454], [2088, 2454], [2320, 2454], [2552, 2458], [2784, 2462], [3016, 2465], [3248, 2469], [3480, 2472], [3647, 2473], [3648, 2473], [3649, 2473], [3650, 2473]]]}, {"staff_no": 8, "bounding_box": {"ncols": 3124, "nrows": 212, "ulx": 460, "uly": 2486}, "num_lines": 4, "line_positions": [[[460, 2358], [461, 2358], [462, 2358], [464, 2358], [696, 2362], [928, 2364], [1160, 2370], [1392, 2374], [1624, 2376], [1856, 2376], [2088, 2375], [2320, 2375], [2552, 2378], [2784, 2379], [3016, 2384], [3248, 2387], [3480, 2390], [3582, 2390], [3583, 2391], [3584, 2392]], [[460, 2422], [461, 2422], [462, 2422], [464, 2422], [696, 2426], [928, 2428], [1160, 2434], [1392, 2438], [1624, 2440], [1856, 2440], [2088, 2439], [2320, 2439], [2552, 2442], [2784, 2443], [3016, 2448], [3248, 2451], [3480, 2454], [3582, 2454], [3583, 2455], [3584, 2456]], [[460, 2486], [461, 2486], [462, 2486], [464, 2486], [696, 2490], [928, 2492], [1160, 2498], [1392, 2502], [1624, 2504], [1856, 2504], [2088, 2503], [2320, 2503], [2552, 2506], [2784, 2507], [3016, 2512], [3248, 2515], [3480, 2518], [3582, 2518], [3583, 2519], [3584, 2520]], [[460, 2550], [461, 2550], [462, 2550], [464, 2550], [696, 2553], [928, 2556], [1160, 2563], [1392, 2566], [1624, 2567], [1856, 2568], [2088, 2567], [2320, 2567], [2552, 2569], [2784, 2572], [3016, 2574], [3248, 2579], [3480, 2580], [3582, 2580], [3583, 2581], [3584, 2581]], [[460, 2611], [461, 2616], [462, 2616], [464, 2616], [696, 2616], [928, 2618], [1160, 2623], [1392, 2627], [1624, 2629], [1856, 2630], [2088, 2629], [2320, 2630], [2552, 2632], [2784, 2633], [3016, 2636], [3248, 2640], [3480, 2640], [3582, 2641], [3583, 2641], [3584, 2641]], [[460, 2667], [461, 2667], [462, 2667], [464, 2667], [696, 2672], [928, 2674], [1160, 2680], [1392, 2684], [1624, 2685], [1856, 2686], [2088, 2685], [2320, 2686], [2552, 2689], [2784, 2690], [3016, 2692], [3248, 2695], [3480, 2696], [3582, 2698], [3583, 2698], [3584, 2698]], [[460, 2723], [461, 2723], [462, 2723], [464, 2723], [696, 2728], [928, 2730], [1160, 2736], [1392, 2740], [1624, 2741], [1856, 2742], [2088, 2741], [2320, 2742], [2552, 2745], [2784, 2746], [3016, 2748], [3248, 2751], [3480, 2752], [3582, 2754], [3583, 2754], [3584, 2754]], [[460, 2779], [461, 2779], [462, 2779], [464, 2779], [696, 2784], [928, 2786], [1160, 2792], [1392, 2796], [1624, 2797], [1856, 2798], [2088, 2797], [2320, 2798], [2552, 2801], [2784, 2802], [3016, 2804], [3248, 2807], [3480, 2808], [3582, 2810], [3583, 2810], [3584, 2810]]]}, {"staff_no": 9, "bounding_box": {"ncols": 2889, "nrows": 210, "ulx": 625, "uly": 2828}, "num_lines": 4, "line_positions": [[[625, 2704], [626, 2704], [627, 2704], [696, 2704], [928, 2709], [1160, 2714], [1392, 2717], [1624, 2718], [1856, 2719], [2088, 2721], [2320, 2722], [2552, 2723], [2784, 2725], [3016, 2726], [3248, 2729], [3480, 2729], [3512, 2729], [3513, 2729], [3514, 2729]], [[625, 2766], [626, 2766], [627, 2766], [696, 2766], [928, 2771], [1160, 2776], [1392, 2779], [1624, 2780], [1856, 2781], [2088, 2783], [2320, 2784], [2552, 2785], [2784, 2787], [3016, 2788], [3248, 2791], [3480, 2791], [3512, 2791], [3513, 2791], [3514, 2791]], [[625, 2828], [626, 2828], [627, 2828], [696, 2828], [928, 2833], [1160, 2838], [1392, 2841], [1624, 2842], [1856, 2843], [2088, 2845], [2320, 2846], [2552, 2847], [2784, 2849], [3016, 2850], [3248, 2853], [3480, 2853], [3512, 2853], [3513, 2853], [3514, 2853]], [[625, 2890], [626, 2890], [627, 2890], [696, 2891], [928, 2896], [1160, 2901], [1392, 2904], [1624, 2905], [1856, 2906], [2088, 2908], [2320, 2909], [2552, 2911], [2784, 2913], [3016, 2915], [3248, 2916], [3480, 2917], [3512, 2917], [3513, 2918], [3514, 2918]], [[625, 2954], [626, 2959], [627, 2959], [696, 2959], [928, 2959], [1160, 2962], [1392, 2965], [1624, 2967], [1856, 2968], [2088, 2971], [2320, 2972], [2552, 2974], [2784, 2976], [3016, 2977], [3248, 2977], [3480, 2979], [3512, 2980], [3513, 2980], [3514, 2980]], [[625, 3009], [626, 3010], [627, 3010], [696, 3010], [928, 3015], [1160, 3019], [1392, 3022], [1624, 3023], [1856, 3025], [2088, 3027], [2320, 3029], [2552, 3031], [2784, 3033], [3016, 3034], [3248, 3034], [3480, 3037], [3512, 3038], [3513, 3038], [3514, 3038]], [[625, 3065], [626, 3066], [627, 3066], [696, 3066], [928, 3071], [1160, 3075], [1392, 3078], [1624, 3079], [1856, 3081], [2088, 3083], [2320, 3085], [2552, 3087], [2784, 3089], [3016, 3090], [3248, 3090], [3480, 3093], [3512, 3094], [3513, 3094], [3514, 3094]], [[625, 3121], [626, 3122], [627, 3122], [696, 3122], [928, 3127], [1160, 3131], [1392, 3134], [1624, 3135], [1856, 3137], [2088, 3139], [2320, 3141], [2552, 3143], [2784, 3145], [3016, 3146], [3248, 3146], [3480, 3149], [3512, 3150], [3513, 3150], [3514, 3150]]]}, {"staff_no": 10, "bounding_box": {"ncols": 3190, "nrows": 227, "ulx": 430, "uly": 3154}, "num_lines": 4, "line_positions": [[[430, 3026], [431, 3026], [432, 3026], [433, 3026], [464, 3026], [696, 3034], [928, 3041], [1160, 3046], [1392, 3048], [1624, 3050], [1856, 3053], [2088, 3056], [2320, 3058], [2552, 3060], [2784, 3062], [3016, 3065], [3248, 3067], [3480, 3069], [3617, 3070], [3618, 3071], [3619, 3072], [3620, 3073]], [[430, 3090], [431, 3090], [432, 3090], [433, 3090], [464, 3090], [696, 3098], [928, 3105], [1160, 3110], [1392, 3112], [1624, 3114], [1856, 3117], [2088, 3120], [2320, 3122], [2552, 3124], [2784, 3126], [3016, 3129], [3248, 3131], [3480, 3133], [3617, 3134], [3618, 3135], [3619, 3136], [3620, 3137]], [[430, 3154], [431, 3154], [432, 3154], [433, 3154], [464, 3154], [696, 3162], [928, 3169], [1160, 3174], [1392, 3176], [1624, 3178], [1856, 3181], [2088, 3184], [2320, 3186], [2552, 3188], [2784, 3190], [3016, 3193], [3248, 3195], [3480, 3197], [3617, 3198], [3618, 3199], [3619, 3200], [3620, 3201]], [[430, 3218], [431, 3218], [432, 3218], [433, 3218], [464, 3219], [696, 3224], [928, 3231], [1160, 3235], [1392, 3239], [1624, 3241], [1856, 3244], [2088, 3247], [2320, 3250], [2552, 3251], [2784, 3254], [3016, 3255], [3248, 3257], [3480, 3259], [3617, 3260], [3618, 3261], [3619, 3262], [3620, 3262]], [[430, 3281], [431, 3281], [432, 3281], [433, 3281], [464, 3281], [696, 3287], [928, 3293], [1160, 3297], [1392, 3300], [1624, 3303], [1856, 3306], [2088, 3308], [2320, 3313], [2552, 3314], [2784, 3316], [3016, 3319], [3248, 3318], [3480, 3321], [3617, 3321], [3618, 3322], [3619, 3322], [3620, 3322]], [[430, 3338], [431, 3338], [432, 3338], [433, 3338], [464, 3338], [696, 3343], [928, 3350], [1160, 3353], [1392, 3357], [1624, 3359], [1856, 3362], [2088, 3364], [2320, 3367], [2552, 3369], [2784, 3372], [3016, 3376], [3248, 3375], [3480, 3378], [3617, 3381], [3618, 3381], [3619, 3381], [3620, 3381]], [[430, 3394], [431, 3394], [432, 3394], [433, 3394], [464, 3394], [696, 3399], [928, 3406], [1160, 3409], [1392, 3413], [1624, 3415], [1856, 3418], [2088, 3420], [2320, 3423], [2552, 3425], [2784, 3428], [3016, 3432], [3248, 3431], [3480, 3434], [3617, 3437], [3618, 3437], [3619, 3437], [3620, 3437]], [[430, 3450], [431, 3450], [432, 3450], [433, 3450], [464, 3450], [696, 3455], [928, 3462], [1160, 3465], [1392, 3469], [1624, 3471], [1856, 3474], [2088, 3476], [2320, 3479], [2552, 3481], [2784, 3484], [3016, 3488], [3248, 3487], [3480, 3490], [3617, 3493], [3618, 3493], [3619, 3493], [3620, 3493]]]}, {"staff_no": 11, "bounding_box": {"ncols": 3133, "nrows": 209, "ulx": 442, "uly": 3499}, "num_lines": 4, "line_positions": [[[442, 3363], [443, 3363], [444, 3363], [464, 3363], [696, 3369], [928, 3372], [1160, 3373], [1392, 3374], [1624, 3375], [1856, 3378], [2088, 3381], [2320, 3381], [2552, 3382], [2784, 3383], [3016, 3383], [3248, 3386], [3480, 3388], [3573, 3388], [3574, 3389], [3575, 3390]], [[442, 3431], [443, 3431], [444, 3431], [464, 3431], [696, 3437], [928, 3440], [1160, 3441], [1392, 3442], [1624, 3443], [1856, 3446], [2088, 3449], [2320, 3449], [2552, 3450], [2784, 3451], [3016, 3451], [3248, 3454], [3480, 3456], [3573, 3456], [3574, 3457], [3575, 3458]], [[442, 3499], [443, 3499], [444, 3499], [464, 3499], [696, 3505], [928, 3508], [1160, 3509], [1392, 3510], [1624, 3511], [1856, 3514], [2088, 3517], [2320, 3517], [2552, 3518], [2784, 3519], [3016, 3519], [3248, 3522], [3480, 3524], [3573, 3524], [3574, 3525], [3575, 3526]], [[442, 3566], [443, 3566], [444, 3566], [464, 3567], [696, 3568], [928, 3572], [1160, 3573], [1392, 3574], [1624, 3575], [1856, 3577], [2088, 3582], [2320, 3581], [2552, 3582], [2784, 3582], [3016, 3584], [3248, 3588], [3480, 3588], [3573, 3589], [3574, 3590], [3575, 3590]], [[442, 3623], [443, 3624], [444, 3624], [464, 3624], [696, 3630], [928, 3635], [1160, 3636], [1392, 3635], [1624, 3636], [1856, 3639], [2088, 3642], [2320, 3642], [2552, 3643], [2784, 3644], [3016, 3646], [3248, 3648], [3480, 3650], [3573, 3651], [3574, 3651], [3575, 3651]], [[442, 3680], [443, 3681], [444, 3681], [464, 3681], [696, 3686], [928, 3691], [1160, 3693], [1392, 3691], [1624, 3694], [1856, 3694], [2088, 3698], [2320, 3699], [2552, 3701], [2784, 3701], [3016, 3703], [3248, 3705], [3480, 3707], [3573, 3708], [3574, 3708], [3575, 3708]], [[442, 3736], [443, 3737], [444, 3737], [464, 3737], [696, 3742], [928, 3747], [1160, 3749], [1392, 3747], [1624, 3750], [1856, 3750], [2088, 3754], [2320, 3755], [2552, 3757], [2784, 3757], [3016, 3759], [3248, 3761], [3480, 3763], [3573, 3764], [3574, 3764], [3575, 3764]], [[442, 3792], [443, 3793], [444, 3793], [464, 3793], [696, 3798], [928, 3803], [1160, 3805], [1392, 3803], [1624, 3806], [1856, 3806], [2088, 3810], [2320, 3811], [2552, 3813], [2784, 3813], [3016, 3815], [3248, 3817], [3480, 3819], [3573, 3820], [3574, 3820], [3575, 3820]]]}, {"staff_no": 12, "bounding_box": {"ncols": 3187, "nrows": 212, "ulx": 416, "uly": 3850}, "num_lines": 4, "line_positions": [[[416, 3722], [417, 3722], [464, 3722], [696, 3727], [928, 3730], [1160, 3731], [1392, 3730], [1624, 3732], [1856, 3733], [2088, 3735], [2320, 3738], [2552, 3740], [2784, 3741], [3016, 3742], [3248, 3745], [3480, 3749], [3601, 3749], [3602, 3750], [3603, 3751]], [[416, 3786], [417, 3786], [464, 3786], [696, 3791], [928, 3794], [1160, 3795], [1392, 3794], [1624, 3796], [1856, 3797], [2088, 3799], [2320, 3802], [2552, 3804], [2784, 3805], [3016, 3806], [3248, 3809], [3480, 3813], [3601, 3813], [3602, 3814], [3603, 3815]], [[416, 3850], [417, 3850], [464, 3850], [696, 3855], [928, 3858], [1160, 3859], [1392, 3858], [1624, 3860], [1856, 3861], [2088, 3863], [2320, 3866], [2552, 3868], [2784, 3869], [3016, 3870], [3248, 3873], [3480, 3877], [3601, 3877], [3602, 3878], [3603, 3879]], [[416, 3914], [417, 3914], [464, 3915], [696, 3919], [928, 3921], [1160, 3922], [1392, 3921], [1624, 3923], [1856, 3925], [2088, 3927], [2320, 3929], [2552, 3931], [2784, 3933], [3016, 3935], [3248, 3938], [3480, 3939], [3601, 3941], [3602, 3943], [3603, 3943]], [[416, 3975], [417, 3976], [464, 3976], [696, 3981], [928, 3984], [1160, 3981], [1392, 3983], [1624, 3984], [1856, 3986], [2088, 3988], [2320, 3992], [2552, 3994], [2784, 3995], [3016, 3998], [3248, 4001], [3480, 4003], [3601, 4003], [3602, 4003], [3603, 4003]], [[416, 4033], [417, 4033], [464, 4033], [696, 4038], [928, 4041], [1160, 4045], [1392, 4040], [1624, 4041], [1856, 4042], [2088, 4045], [2320, 4049], [2552, 4051], [2784, 4053], [3016, 4054], [3248, 4058], [3480, 4060], [3601, 4062], [3602, 4062], [3603, 4062]], [[416, 4091], [417, 4091], [464, 4091], [696, 4096], [928, 4099], [1160, 4103], [1392, 4098], [1624, 4099], [1856, 4100], [2088, 4103], [2320, 4107], [2552, 4109], [2784, 4111], [3016, 4112], [3248, 4116], [3480, 4118], [3601, 4120], [3602, 4120], [3603, 4120]], [[416, 4149], [417, 4149], [464, 4149], [696, 4154], [928, 4157], [1160, 4161], [1392, 4156], [1624, 4157], [1856, 4158], [2088, 4161], [2320, 4165], [2552, 4167], [2784, 4169], [3016, 4170], [3248, 4174], [3480, 4176], [3601, 4178], [3602, 4178], [3603, 4178]]]}, {"staff_no": 13, "bounding_box": {"ncols": 3187, "nrows": 213, "ulx": 448, "uly": 4183}, "num_lines": 4, "line_positions": [[[448, 4063], [449, 4063], [450, 4063], [464, 4063], [696, 4067], [928, 4071], [1160, 4072], [1392, 4075], [1624, 4072], [1856, 4074], [2088, 4078], [2320, 4081], [2552, 4084], [2784, 4084], [3016, 4086], [3248, 4086], [3480, 4090], [3633, 4091], [3634, 4092], [3635, 4094]], [[448, 4123], [449, 4123], [450, 4123], [464, 4123], [696, 4127], [928, 4131], [1160, 4132], [1392, 4135], [1624, 4132], [1856, 4134], [2088, 4138], [2320, 4141], [2552, 4144], [2784, 4144], [3016, 4146], [3248, 4146], [3480, 4150], [3633, 4151], [3634, 4152], [3635, 4154]], [[448, 4183], [449, 4183], [450, 4183], [464, 4183], [696, 4187], [928, 4191], [1160, 4192], [1392, 4195], [1624, 4192], [1856, 4194], [2088, 4198], [2320, 4201], [2552, 4204], [2784, 4204], [3016, 4206], [3248, 4206], [3480, 4210], [3633, 4211], [3634, 4212], [3635, 4214]], [[448, 4244], [449, 4244], [450, 4244], [464, 4244], [696, 4249], [928, 4253], [1160, 4257], [1392, 4260], [1624, 4255], [1856, 4257], [2088, 4260], [2320, 4263], [2552, 4265], [2784, 4268], [3016, 4270], [3248, 4270], [3480, 4275], [3633, 4276], [3634, 4277], [3635, 4277]], [[448, 4304], [449, 4304], [450, 4304], [464, 4304], [696, 4310], [928, 4314], [1160, 4314], [1392, 4315], [1624, 4318], [1856, 4320], [2088, 4322], [2320, 4326], [2552, 4330], [2784, 4331], [3016, 4331], [3248, 4336], [3480, 4338], [3633, 4339], [3634, 4339], [3635, 4339]], [[448, 4362], [449, 4362], [450, 4362], [464, 4362], [696, 4366], [928, 4368], [1160, 4369], [1392, 4372], [1624, 4375], [1856, 4376], [2088, 4379], [2320, 4382], [2552, 4385], [2784, 4387], [3016, 4388], [3248, 4389], [3480, 4394], [3633, 4396], [3634, 4396], [3635, 4396]], [[448, 4420], [449, 4420], [450, 4420], [464, 4420], [696, 4424], [928, 4426], [1160, 4427], [1392, 4430], [1624, 4433], [1856, 4434], [2088, 4437], [2320, 4440], [2552, 4443], [2784, 4445], [3016, 4446], [3248, 4447], [3480, 4452], [3633, 4454], [3634, 4454], [3635, 4454]], [[448, 4478], [449, 4478], [450, 4478], [464, 4478], [696, 4482], [928, 4484], [1160, 4485], [1392, 4488], [1624, 4491], [1856, 4492], [2088, 4495], [2320, 4498], [2552, 4501], [2784, 4503], [3016, 4504], [3248, 4505], [3480, 4510], [3633, 4512], [3634, 4512], [3635, 4512]]]}, {"staff_no": 14, "bounding_box": {"ncols": 3192, "nrows": 222, "ulx": 405, "uly": 4509}, "num_lines": 4, "line_positions": [[[405, 4381], [406, 4381], [407, 4381], [464, 4382], [696, 4391], [928, 4394], [1160, 4397], [1392, 4398], [1624, 4399], [1856, 4402], [2088, 4406], [2320, 4409], [2552, 4412], [2784, 4413], [3016, 4414], [3248, 4416], [3480, 4419], [3594, 4419], [3595, 4420], [3596, 4420], [3597, 4421]], [[405, 4445], [406, 4445], [407, 4445], [464, 4446], [696, 4455], [928, 4458], [1160, 4461], [1392, 4462], [1624, 4463], [1856, 4466], [2088, 4470], [2320, 4473], [2552, 4476], [2784, 4477], [3016, 4478], [3248, 4480], [3480, 4483], [3594, 4483], [3595, 4484], [3596, 4484], [3597, 4485]], [[405, 4509], [406, 4509], [407, 4509], [464, 4510], [696, 4519], [928, 4522], [1160, 4525], [1392, 4526], [1624, 4527], [1856, 4530], [2088, 4534], [2320, 4537], [2552, 4540], [2784, 4541], [3016, 4542], [3248, 4544], [3480, 4547], [3594, 4547], [3595, 4548], [3596, 4548], [3597, 4549]], [[405, 4572], [406, 4572], [407, 4573], [464, 4574], [696, 4582], [928, 4584], [1160, 4587], [1392, 4590], [1624, 4592], [1856, 4594], [2088, 4596], [2320, 4599], [2552, 4602], [2784, 4603], [3016, 4605], [3248, 4607], [3480, 4609], [3594, 4609], [3595, 4610], [3596, 4611], [3597, 4611]], [[405, 4636], [406, 4636], [407, 4636], [464, 4636], [696, 4644], [928, 4647], [1160, 4651], [1392, 4654], [1624, 4652], [1856, 4654], [2088, 4657], [2320, 4659], [2552, 4663], [2784, 4666], [3016, 4667], [3248, 4670], [3480, 4673], [3594, 4674], [3595, 4675], [3596, 4675], [3597, 4675]], [[405, 4692], [406, 4692], [407, 4692], [464, 4692], [696, 4700], [928, 4704], [1160, 4706], [1392, 4709], [1624, 4710], [1856, 4711], [2088, 4714], [2320, 4715], [2552, 4720], [2784, 4723], [3016, 4725], [3248, 4728], [3480, 4730], [3594, 4731], [3595, 4731], [3596, 4731], [3597, 4731]], [[405, 4748], [406, 4748], [407, 4748], [464, 4748], [696, 4756], [928, 4760], [1160, 4762], [1392, 4765], [1624, 4766], [1856, 4767], [2088, 4770], [2320, 4771], [2552, 4776], [2784, 4779], [3016, 4781], [3248, 4784], [3480, 4786], [3594, 4787], [3595, 4787], [3596, 4787], [3597, 4787]], [[405, 4804], [406, 4804], [407, 4804], [464, 4804], [696, 4812], [928, 4816], [1160, 4818], [1392, 4821], [1624, 4822], [1856, 4823], [2088, 4826], [2320, 4827], [2552, 4832], [2784, 4835], [3016, 4837], [3248, 4840], [3480, 4842], [3594, 4843], [3595, 4843], [3596, 4843], [3597, 4843]]]}, {"staff_no": 15, "bounding_box": {"ncols": 3199, "nrows": 220, "ulx": 430, "uly": 4844}, "num_lines": 4, "line_positions": [[[430, 4716], [431, 4716], [432, 4716], [433, 4716], [464, 4716], [696, 4725], [928, 4727], [1160, 4729], [1392, 4732], [1624, 4733], [1856, 4735], [2088, 4739], [2320, 4738], [2552, 4744], [2784, 4745], [3016, 4747], [3248, 4749], [3480, 4753], [3626, 4754], [3627, 4755], [3628, 4756], [3629, 4757]], [[430, 4780], [431, 4780], [432, 4780], [433, 4780], [464, 4780], [696, 4789], [928, 4791], [1160, 4793], [1392, 4796], [1624, 4797], [1856, 4799], [2088, 4803], [2320, 4802], [2552, 4808], [2784, 4809], [3016, 4811], [3248, 4813], [3480, 4817], [3626, 4818], [3627, 4819], [3628, 4820], [3629, 4821]], [[430, 4844], [431, 4844], [432, 4844], [433, 4844], [464, 4844], [696, 4853], [928, 4855], [1160, 4857], [1392, 4860], [1624, 4861], [1856, 4863], [2088, 4867], [2320, 4866], [2552, 4872], [2784, 4873], [3016, 4875], [3248, 4877], [3480, 4881], [3626, 4882], [3627, 4883], [3628, 4884], [3629, 4885]], [[430, 4907], [431, 4907], [432, 4907], [433, 4907], [464, 4907], [696, 4915], [928, 4918], [1160, 4917], [1392, 4919], [1624, 4921], [1856, 4923], [2088, 4925], [2320, 4928], [2552, 4933], [2784, 4937], [3016, 4939], [3248, 4941], [3480, 4944], [3626, 4944], [3627, 4944], [3628, 4945], [3629, 4945]], [[430, 4972], [431, 4972], [432, 4973], [433, 4974], [464, 4975], [696, 4977], [928, 4980], [1160, 4984], [1392, 4979], [1624, 4979], [1856, 4986], [2088, 4991], [2320, 4990], [2552, 4994], [2784, 4999], [3016, 5001], [3248, 5003], [3480, 5005], [3626, 5006], [3627, 5008], [3628, 5008], [3629, 5008]], [[430, 5029], [431, 5033], [432, 5033], [433, 5033], [464, 5033], [696, 5033], [928, 5035], [1160, 5039], [1392, 5037], [1624, 5035], [1856, 5042], [2088, 5047], [2320, 5046], [2552, 5051], [2784, 5056], [3016, 5057], [3248, 5060], [3480, 5062], [3626, 5064], [3627, 5064], [3628, 5064], [3629, 5064]], [[430, 5085], [431, 5089], [432, 5089], [433, 5089], [464, 5089], [696, 5089], [928, 5091], [1160, 5095], [1392, 5093], [1624, 5091], [1856, 5098], [2088, 5103], [2320, 5102], [2552, 5107], [2784, 5112], [3016, 5113], [3248, 5116], [3480, 5118], [3626, 5120], [3627, 5120], [3628, 5120], [3629, 5120]], [[430, 5141], [431, 5145], [432, 5145], [433, 5145], [464, 5145], [696, 5145], [928, 5147], [1160, 5151], [1392, 5149], [1624, 5147], [1856, 5154], [2088, 5159], [2320, 5158], [2552, 5163], [2784, 5168], [3016, 5169], [3248, 5172], [3480, 5174], [3626, 5176], [3627, 5176], [3628, 5176], [3629, 5176]]]}, {"staff_no": 16, "bounding_box": {"ncols": 3242, "nrows": 211, "ulx": 410, "uly": 5192}, "num_lines": 4, "line_positions": [[[410, 5076], [411, 5076], [412, 5076], [464, 5076], [696, 5079], [928, 5078], [1160, 5081], [1392, 5081], [1624, 5079], [1856, 5084], [2088, 5086], [2320, 5092], [2552, 5095], [2784, 5099], [3016, 5101], [3248, 5103], [3480, 5104], [3651, 5105], [3652, 5107]], [[410, 5134], [411, 5134], [412, 5134], [464, 5134], [696, 5137], [928, 5136], [1160, 5139], [1392, 5139], [1624, 5137], [1856, 5142], [2088, 5144], [2320, 5150], [2552, 5153], [2784, 5157], [3016, 5159], [3248, 5161], [3480, 5162], [3651, 5163], [3652, 5165]], [[410, 5192], [411, 5192], [412, 5192], [464, 5192], [696, 5195], [928, 5194], [1160, 5197], [1392, 5197], [1624, 5195], [1856, 5200], [2088, 5202], [2320, 5208], [2552, 5211], [2784, 5215], [3016, 5217], [3248, 5219], [3480, 5220], [3651, 5221], [3652, 5223]], [[410, 5250], [411, 5250], [412, 5251], [464, 5253], [696, 5254], [928, 5256], [1160, 5260], [1392, 5256], [1624, 5258], [1856, 5262], [2088, 5269], [2320, 5271], [2552, 5274], [2784, 5278], [3016, 5279], [3248, 5281], [3480, 5282], [3651, 5283], [3652, 5285]], [[410, 5312], [411, 5319], [412, 5319], [464, 5319], [696, 5319], [928, 5319], [1160, 5319], [1392, 5322], [1624, 5320], [1856, 5324], [2088, 5331], [2320, 5333], [2552, 5336], [2784, 5340], [3016, 5341], [3248, 5344], [3480, 5343], [3651, 5347], [3652, 5347]], [[410, 5366], [411, 5370], [412, 5370], [464, 5370], [696, 5370], [928, 5374], [1160, 5378], [1392, 5381], [1624, 5383], [1856, 5385], [2088, 5387], [2320, 5390], [2552, 5392], [2784, 5397], [3016, 5398], [3248, 5400], [3480, 5399], [3651, 5403], [3652, 5403]], [[410, 5420], [411, 5424], [412, 5424], [464, 5424], [696, 5424], [928, 5428], [1160, 5432], [1392, 5435], [1624, 5437], [1856, 5439], [2088, 5441], [2320, 5444], [2552, 5446], [2784, 5451], [3016, 5452], [3248, 5454], [3480, 5453], [3651, 5457], [3652, 5457]], [[410, 5474], [411, 5478], [412, 5478], [464, 5478], [696, 5478], [928, 5482], [1160, 5486], [1392, 5489], [1624, 5491], [1856, 5493], [2088, 5495], [2320, 5498], [2552, 5500], [2784, 5505], [3016, 5506], [3248, 5508], [3480, 5507], [3651, 5511], [3652, 5511]]]}], "glyphs": [{"pitch": {"staff": "1", "offset": "57", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 46, "ulx": 57, "uly": 589}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "1", "offset": "73", "strt_pos": "11", "note": "f", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 49, "ulx": 73, "uly": 594}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "76", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 42, "ulx": 76, "uly": 492}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "1", "offset": "474", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 41, "nrows": 105, "ulx": 474, "uly": 397}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "1", "offset": "563", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 103, "ulx": 563, "uly": 525}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "679", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 96, "ulx": 679, "uly": 524}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "740", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 113, "ulx": 740, "uly": 556}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "860", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 95, "ulx": 860, "uly": 591}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "955", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 39, "ulx": 955, "uly": 623}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "1019", "strt_pos": "5", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 235, "ulx": 1019, "uly": 460}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "1", "offset": "1094", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 125, "ulx": 1094, "uly": 568}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "1264", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 115, "ulx": 1264, "uly": 572}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "1348", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 231, "ulx": 1348, "uly": 462}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "1", "offset": "1452", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 117, "ulx": 1452, "uly": 512}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "1575", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 39, "ulx": 1575, "uly": 516}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "1608", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 26, "ulx": 1608, "uly": 477}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "1629", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 46, "nrows": 42, "ulx": 1629, "uly": 519}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "1682", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 209, "ulx": 1682, "uly": 451}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "1", "offset": "1715", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 38, "ulx": 1715, "uly": 545}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "1799", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 39, "ulx": 1799, "uly": 546}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "1", "offset": "1867", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 238, "ulx": 1867, "uly": 448}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "1", "offset": "2026", "strt_pos": "4", "note": "d", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 42, "nrows": 71, "ulx": 2026, "uly": 441}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2094", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 60, "ulx": 2094, "uly": 452}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2177", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 60, "ulx": 2177, "uly": 490}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2231", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 48, "nrows": 114, "ulx": 2231, "uly": 459}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2311", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 51, "nrows": 112, "ulx": 2311, "uly": 518}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2390", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 45, "nrows": 102, "ulx": 2390, "uly": 555}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2635", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 122, "ulx": 2635, "uly": 455}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2732", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 97, "ulx": 2732, "uly": 456}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2824", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 102, "ulx": 2824, "uly": 457}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "1", "offset": "2880", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 234, "ulx": 2880, "uly": 429}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "2", "offset": "2960", "strt_pos": "4", "note": "d", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 120, "ulx": 2960, "uly": 464}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "2", "offset": "3077", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 39, "ulx": 3077, "uly": 469}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "2", "offset": "3114", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 38, "ulx": 3114, "uly": 467}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "2", "offset": "3171", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 55, "ulx": 3171, "uly": 522}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "2", "offset": "3199", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 26, "nrows": 57, "ulx": 3199, "uly": 554}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "2", "offset": "3242", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 209, "ulx": 3242, "uly": 471}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "3", "offset": "1580", "strt_pos": "12", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 24, "nrows": 17, "ulx": 1580, "uly": 1024}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "27", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 31, "ulx": 27, "uly": 1162}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "4", "offset": "31", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 36, "ulx": 31, "uly": 1112}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "71", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 152, "ulx": 71, "uly": 1097}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "623", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 62, "ulx": 623, "uly": 1120}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "630", "strt_pos": "4", "note": "d", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 24, "nrows": 21, "ulx": 630, "uly": 1098}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "666", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 74, "ulx": 666, "uly": 1286}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "781", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 39, "ulx": 781, "uly": 1232}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "871", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 61, "nrows": 73, "ulx": 871, "uly": 1292}, "state": "AUTOMATIC", "name": "neume.oblique2"}}, {"pitch": {"staff": "4", "offset": "957", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 21, "nrows": 198, "ulx": 957, "uly": 1163}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "4", "offset": "1146", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 82, "ulx": 1146, "uly": 1177}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "4", "offset": "1254", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 91, "ulx": 1254, "uly": 1188}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "1327", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 234, "ulx": 1327, "uly": 1127}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "1468", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 116, "ulx": 1468, "uly": 1186}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "1639", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 39, "ulx": 1639, "uly": 1223}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "1695", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 222, "ulx": 1695, "uly": 1122}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "1841", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 132, "ulx": 1841, "uly": 1191}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "1987", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 38, "ulx": 1987, "uly": 1261}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "2044", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 218, "ulx": 2044, "uly": 1129}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "2103", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 90, "ulx": 2103, "uly": 1182}, "state": "AUTOMATIC", "name": "neume.liquescent.up"}}, {"pitch": {"staff": "4", "offset": "2193", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 145, "ulx": 2193, "uly": 1200}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "2266", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 223, "ulx": 2266, "uly": 1118}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "2424", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 112, "ulx": 2424, "uly": 1199}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "2564", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 120, "ulx": 2564, "uly": 1133}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "2649", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 85, "ulx": 2649, "uly": 1124}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "4", "offset": "2721", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 183, "ulx": 2721, "uly": 1121}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "2821", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 121, "ulx": 2821, "uly": 1203}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "2970", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 39, "ulx": 2970, "uly": 1233}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "4", "offset": "3029", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 179, "ulx": 3029, "uly": 1173}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "4", "offset": "3127", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 127, "ulx": 3127, "uly": 1205}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "3241", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 128, "ulx": 3241, "uly": 1236}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "3304", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 24, "nrows": 269, "ulx": 3304, "uly": 1132}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "4", "offset": "3376", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 113, "ulx": 3376, "uly": 1270}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "4", "offset": "3534", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 106, "ulx": 3534, "uly": 1267}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "4", "offset": "3691", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 78, "ulx": 3691, "uly": 1166}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "0", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 42, "ulx": 0, "uly": 1458}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "11", "strt_pos": "4", "note": "d", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 45, "ulx": 11, "uly": 1418}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "5", "offset": "45", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 70, "ulx": 45, "uly": 1536}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "49", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 23, "nrows": 35, "ulx": 49, "uly": 1496}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "81", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 20, "nrows": 29, "ulx": 81, "uly": 1562}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "89", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 37, "ulx": 89, "uly": 1500}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "99", "strt_pos": "12", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 23, "nrows": 58, "ulx": 99, "uly": 1645}, "state": "HEURISTIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "5", "offset": "462", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 114, "ulx": 462, "uly": 1409}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "5", "offset": "515", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 110, "ulx": 515, "uly": 1539}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "618", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 40, "ulx": 618, "uly": 1550}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "628", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 25, "nrows": 21, "ulx": 628, "uly": 1506}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "760", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 41, "nrows": 47, "ulx": 760, "uly": 1577}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "790", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 39, "ulx": 790, "uly": 1550}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "820", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 33, "ulx": 820, "uly": 1586}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "862", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 8, "nrows": 39, "ulx": 862, "uly": 1614}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "933", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 73, "ulx": 933, "uly": 1580}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "990", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 240, "ulx": 990, "uly": 1479}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "1038", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 124, "ulx": 1038, "uly": 1524}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1138", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 126, "ulx": 1138, "uly": 1557}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1209", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 241, "ulx": 1209, "uly": 1445}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "1251", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 137, "ulx": 1251, "uly": 1535}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1337", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 114, "ulx": 1337, "uly": 1560}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1415", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 117, "ulx": 1415, "uly": 1596}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1488", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 226, "ulx": 1488, "uly": 1472}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "1565", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 120, "ulx": 1565, "uly": 1561}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1683", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 128, "ulx": 1683, "uly": 1540}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "1785", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 82, "ulx": 1785, "uly": 1536}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "5", "offset": "1844", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 20, "nrows": 255, "ulx": 1844, "uly": 1460}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "1923", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 102, "ulx": 1923, "uly": 1607}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "2045", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 100, "ulx": 2045, "uly": 1570}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "5", "offset": "2125", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 180, "ulx": 2125, "uly": 1510}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "2178", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 44, "nrows": 48, "ulx": 2178, "uly": 1610}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "2239", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 61, "nrows": 93, "ulx": 2239, "uly": 1575}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "5", "offset": "2341", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 118, "ulx": 2341, "uly": 1606}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "2416", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 19, "nrows": 240, "ulx": 2416, "uly": 1468}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "2443", "strt_pos": "6", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 121, "ulx": 2443, "uly": 1450}, "state": "AUTOMATIC", "name": "accidental.flat"}}, {"pitch": {"staff": "5", "offset": "2497", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 73, "nrows": 55, "ulx": 2497, "uly": 1537}, "state": "AUTOMATIC", "name": "neume.pescephalicus2"}}, {"pitch": {"staff": "5", "offset": "2547", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 39, "ulx": 2547, "uly": 1476}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "5", "offset": "2609", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 55, "ulx": 2609, "uly": 1537}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "5", "offset": "2638", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 57, "ulx": 2638, "uly": 1564}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "5", "offset": "2820", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 107, "ulx": 2820, "uly": 1614}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "2929", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 70, "nrows": 116, "ulx": 2929, "uly": 1606}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "5", "offset": "3026", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 22, "nrows": 255, "ulx": 3026, "uly": 1495}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "5", "offset": "3135", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 75, "ulx": 3135, "uly": 1676}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "3393", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 81, "ulx": 3393, "uly": 1668}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "5", "offset": "3527", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 43, "nrows": 93, "ulx": 3527, "uly": 1579}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "5", "offset": "3675", "strt_pos": "6", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 97, "ulx": 3675, "uly": 1560}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "6", "offset": "15", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 20, "nrows": 60, "ulx": 15, "uly": 1904}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "6", "offset": "57", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 73, "ulx": 57, "uly": 1893}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "61", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 38, "ulx": 61, "uly": 1850}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "6", "offset": "106", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 21, "nrows": 48, "ulx": 106, "uly": 1869}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "6", "offset": "109", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 9, "nrows": 42, "ulx": 109, "uly": 1818}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "6", "offset": "453", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 108, "ulx": 453, "uly": 1758}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "6", "offset": "533", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 107, "ulx": 533, "uly": 1935}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "616", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 228, "ulx": 616, "uly": 1809}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "6", "offset": "661", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 83, "ulx": 661, "uly": 1914}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "740", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 38, "ulx": 740, "uly": 1971}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "6", "offset": "845", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 39, "ulx": 845, "uly": 1969}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "6", "offset": "929", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 21, "nrows": 236, "ulx": 929, "uly": 1792}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "6", "offset": "1161", "strt_pos": "13", "note": "b", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 33, "ulx": 1161, "uly": 2027}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "6", "offset": "1291", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 57, "ulx": 1291, "uly": 1866}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "1356", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 37, "ulx": 1356, "uly": 1864}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "6", "offset": "1439", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 60, "ulx": 1439, "uly": 1901}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "1497", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 42, "nrows": 55, "ulx": 1497, "uly": 1928}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "1576", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 93, "ulx": 1576, "uly": 1865}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "6", "offset": "1692", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 24, "nrows": 78, "ulx": 1692, "uly": 1910}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "2116", "strt_pos": "3", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 103, "ulx": 2116, "uly": 1852}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "6", "offset": "2153", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 72, "nrows": 126, "ulx": 2153, "uly": 1885}, "state": "HEURISTIC", "name": "neume.scandicus23"}}, {"pitch": {"staff": "6", "offset": "2305", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 111, "ulx": 2305, "uly": 1889}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "2396", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 121, "ulx": 2396, "uly": 1890}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "2597", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 82, "nrows": 94, "ulx": 2597, "uly": 1884}, "state": "AUTOMATIC", "name": "neume.torculus32"}}, {"pitch": {"staff": "6", "offset": "2812", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 27, "nrows": 134, "ulx": 2812, "uly": 1890}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "2979", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 106, "ulx": 2979, "uly": 1857}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "3063", "strt_pos": "5", "note": "e", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 126, "ulx": 3063, "uly": 1833}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "3191", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 127, "ulx": 3191, "uly": 1867}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "3247", "strt_pos": "1", "note": "b", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 40, "ulx": 3247, "uly": 1708}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "6", "offset": "3343", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 138, "ulx": 3343, "uly": 1897}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "6", "offset": "3457", "strt_pos": "8", "note": "b", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 68, "nrows": 127, "ulx": 3457, "uly": 1897}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "6", "offset": "3655", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 36, "ulx": 3655, "uly": 1980}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "7", "offset": "2", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 37, "ulx": 2, "uly": 2189}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "4", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 26, "nrows": 47, "ulx": 4, "uly": 2229}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "453", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 110, "ulx": 453, "uly": 2086}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "7", "offset": "527", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 138, "ulx": 527, "uly": 2183}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "626", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 126, "ulx": 626, "uly": 2211}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "705", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 95, "ulx": 705, "uly": 2182}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "828", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 40, "ulx": 828, "uly": 2216}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "923", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 116, "ulx": 923, "uly": 2188}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1008", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 278, "ulx": 1008, "uly": 2109}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "1071", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 109, "ulx": 1071, "uly": 2131}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1136", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 115, "ulx": 1136, "uly": 2134}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1232", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 131, "ulx": 1232, "uly": 2137}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1319", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 11, "nrows": 157, "ulx": 1319, "uly": 2209}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "1444", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 86, "ulx": 1444, "uly": 2126}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "7", "offset": "1585", "strt_pos": "4", "note": "d", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 94, "ulx": 1585, "uly": 2122}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1692", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 122, "ulx": 1692, "uly": 2170}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1757", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 230, "ulx": 1757, "uly": 2128}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "1810", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 63, "nrows": 120, "ulx": 1810, "uly": 2133}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "7", "offset": "1913", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 107, "ulx": 1913, "uly": 2205}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "1998", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 38, "ulx": 1998, "uly": 2237}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "2090", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 41, "nrows": 106, "ulx": 2090, "uly": 2143}, "state": "AUTOMATIC", "name": "neume.podatus3"}}, {"pitch": {"staff": "7", "offset": "2163", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 25, "nrows": 36, "ulx": 2163, "uly": 2201}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "2251", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 272, "ulx": 2251, "uly": 2119}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "2368", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 65, "nrows": 104, "ulx": 2368, "uly": 2234}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "7", "offset": "2524", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 26, "nrows": 43, "ulx": 2524, "uly": 2304}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "2544", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 19, "ulx": 2544, "uly": 2140}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "2628", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 89, "ulx": 2628, "uly": 2230}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "7", "offset": "2691", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 62, "nrows": 100, "ulx": 2691, "uly": 2230}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "7", "offset": "2775", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 281, "ulx": 2775, "uly": 2123}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "2896", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 112, "ulx": 2896, "uly": 2244}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "3042", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 86, "ulx": 3042, "uly": 2203}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "7", "offset": "3054", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 20, "ulx": 3054, "uly": 2202}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "3119", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 21, "nrows": 263, "ulx": 3119, "uly": 2134}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "3255", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 43, "ulx": 3255, "uly": 2304}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "3342", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 39, "ulx": 3342, "uly": 2309}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "7", "offset": "3412", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 215, "ulx": 3412, "uly": 2162}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "7", "offset": "3504", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 112, "ulx": 3504, "uly": 2306}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "7", "offset": "3645", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 95, "ulx": 3645, "uly": 2205}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "8", "offset": "75", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 29, "ulx": 75, "uly": 2483}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "8", "offset": "453", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 106, "ulx": 453, "uly": 2436}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "8", "offset": "506", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 117, "ulx": 506, "uly": 2592}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "632", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 27, "nrows": 39, "ulx": 632, "uly": 2564}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "8", "offset": "718", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 128, "ulx": 718, "uly": 2562}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "800", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 66, "nrows": 134, "ulx": 800, "uly": 2588}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "8", "offset": "939", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 40, "ulx": 939, "uly": 2653}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "8", "offset": "1172", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 106, "ulx": 1172, "uly": 2599}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "8", "offset": "1324", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 112, "ulx": 1324, "uly": 2603}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "1430", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 98, "ulx": 1430, "uly": 2609}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "1550", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 43, "nrows": 101, "ulx": 1550, "uly": 2485}, "state": "AUTOMATIC", "name": "neume.podatus3"}}, {"pitch": {"staff": "8", "offset": "1657", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 115, "ulx": 1657, "uly": 2577}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "1758", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 40, "ulx": 1758, "uly": 2638}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "8", "offset": "1817", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 238, "ulx": 1817, "uly": 2470}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "8", "offset": "1881", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 41, "nrows": 89, "ulx": 1881, "uly": 2568}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "8", "offset": "1984", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 141, "ulx": 1984, "uly": 2574}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2041", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 11, "nrows": 210, "ulx": 2041, "uly": 2463}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "8", "offset": "2095", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 129, "ulx": 2095, "uly": 2542}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "8", "offset": "2237", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 100, "ulx": 2237, "uly": 2638}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2320", "strt_pos": "12", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 90, "ulx": 2320, "uly": 2630}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "8", "offset": "2405", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 98, "ulx": 2405, "uly": 2635}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2473", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 273, "ulx": 2473, "uly": 2480}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "8", "offset": "2712", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 62, "ulx": 2712, "uly": 2487}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2769", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 65, "ulx": 2769, "uly": 2485}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2829", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 52, "ulx": 2829, "uly": 2483}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2908", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 58, "ulx": 2908, "uly": 2560}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "2965", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 71, "ulx": 2965, "uly": 2489}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "8", "offset": "3020", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 49, "ulx": 3020, "uly": 2511}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "8", "offset": "3046", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 38, "ulx": 3046, "uly": 2562}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "8", "offset": "3646", "strt_pos": "17", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 153, "ulx": 3646, "uly": 2752}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "9", "offset": "33", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 27, "nrows": 123, "ulx": 33, "uly": 2900}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "84", "strt_pos": "5", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 149, "ulx": 84, "uly": 2823}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "638", "strt_pos": "3", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 107, "ulx": 638, "uly": 2840}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "9", "offset": "691", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 19, "ulx": 691, "uly": 2951}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "9", "offset": "691", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 89, "ulx": 691, "uly": 2975}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "755", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 116, "ulx": 755, "uly": 2871}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "819", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 111, "ulx": 819, "uly": 2935}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "882", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 270, "ulx": 882, "uly": 2801}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "1019", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 62, "nrows": 78, "ulx": 1019, "uly": 2966}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "9", "offset": "1125", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 154, "ulx": 1125, "uly": 2910}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "1197", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 83, "ulx": 1197, "uly": 2971}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "1288", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 116, "ulx": 1288, "uly": 2946}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "1380", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 123, "ulx": 1380, "uly": 2884}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "1478", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 44, "nrows": 106, "ulx": 1478, "uly": 2883}, "state": "AUTOMATIC", "name": "neume.podatus3"}}, {"pitch": {"staff": "9", "offset": "1556", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 223, "ulx": 1556, "uly": 2801}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "1613", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 97, "ulx": 1613, "uly": 2975}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "1731", "strt_pos": "12", "note": "e", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 89, "ulx": 1731, "uly": 2967}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "9", "offset": "1845", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 102, "ulx": 1845, "uly": 2970}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "1920", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 298, "ulx": 1920, "uly": 2795}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "2016", "strt_pos": "8", "note": "b", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 129, "ulx": 2016, "uly": 2920}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "2134", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 113, "ulx": 2134, "uly": 2890}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "2240", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 130, "ulx": 2240, "uly": 2855}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "2279", "strt_pos": "12", "note": "e", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 22, "nrows": 18, "ulx": 2279, "uly": 3054}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "9", "offset": "2391", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 90, "ulx": 2391, "uly": 2845}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "9", "offset": "2459", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 21, "nrows": 243, "ulx": 2459, "uly": 2802}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "2558", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 88, "ulx": 2558, "uly": 2945}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "9", "offset": "2744", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 24, "nrows": 50, "ulx": 2744, "uly": 2879}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "9", "offset": "2841", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 86, "ulx": 2841, "uly": 2822}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "9", "offset": "2904", "strt_pos": "5", "note": "e", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 81, "ulx": 2904, "uly": 2828}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "2970", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 209, "ulx": 2970, "uly": 2805}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "3057", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 122, "ulx": 3057, "uly": 2864}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "3138", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 126, "ulx": 3138, "uly": 2864}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "3195", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 188, "ulx": 3195, "uly": 2875}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "9", "offset": "3288", "strt_pos": "8", "note": "b", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 133, "ulx": 3288, "uly": 2925}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "3403", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 152, "ulx": 3403, "uly": 2865}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "3514", "strt_pos": "5", "note": "e", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 141, "ulx": 3514, "uly": 2831}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "9", "offset": "3569", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 200, "ulx": 3569, "uly": 2817}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "10", "offset": "96", "strt_pos": "14", "note": "c", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 50, "ulx": 96, "uly": 3391}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "10", "offset": "445", "strt_pos": "3", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 114, "ulx": 445, "uly": 3156}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "10", "offset": "527", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 124, "ulx": 527, "uly": 3169}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "672", "strt_pos": "8", "note": "b", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 71, "nrows": 129, "ulx": 672, "uly": 3205}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "10", "offset": "830", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 85, "ulx": 830, "uly": 3258}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "10", "offset": "898", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 240, "ulx": 898, "uly": 3148}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "10", "offset": "1069", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 26, "nrows": 66, "ulx": 1069, "uly": 3205}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "1083", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 42, "nrows": 42, "ulx": 1083, "uly": 3274}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "10", "offset": "1208", "strt_pos": "8", "note": "b", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 77, "ulx": 1208, "uly": 3252}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "1392", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 120, "ulx": 1392, "uly": 3274}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "10", "offset": "1485", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 248, "ulx": 1485, "uly": 3145}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "10", "offset": "1648", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 40, "ulx": 1648, "uly": 3311}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "10", "offset": "1755", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 39, "ulx": 1755, "uly": 3313}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "10", "offset": "1829", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 270, "ulx": 1829, "uly": 3143}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "10", "offset": "2178", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 74, "ulx": 2178, "uly": 3228}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "2236", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 76, "ulx": 2236, "uly": 3226}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "2294", "strt_pos": "8", "note": "b", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 74, "ulx": 2294, "uly": 3252}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "10", "offset": "2343", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 66, "ulx": 2343, "uly": 3226}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "2406", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 65, "ulx": 2406, "uly": 3285}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "2485", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 106, "ulx": 2485, "uly": 3311}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "2897", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 111, "ulx": 2897, "uly": 3235}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "3006", "strt_pos": "8", "note": "b", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 64, "nrows": 128, "ulx": 3006, "uly": 3229}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "10", "offset": "3134", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 125, "ulx": 3134, "uly": 3288}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "10", "offset": "3160", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 42, "ulx": 3160, "uly": 3328}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "10", "offset": "3233", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 19, "nrows": 330, "ulx": 3233, "uly": 3126}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "10", "offset": "3268", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 119, "ulx": 3268, "uly": 3295}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "10", "offset": "3379", "strt_pos": "10", "note": "g", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 38, "ulx": 3379, "uly": 3328}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "10", "offset": "3447", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 210, "ulx": 3447, "uly": 3180}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "10", "offset": "3523", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 59, "ulx": 3523, "uly": 3269}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "10", "offset": "3665", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 25, "nrows": 113, "ulx": 3665, "uly": 3157}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "11", "offset": "63", "strt_pos": "9", "note": "a", "octave": "3", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 50, "ulx": 63, "uly": 3603}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "11", "offset": "436", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 81, "ulx": 436, "uly": 3503}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "11", "offset": "488", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 28, "ulx": 488, "uly": 3551}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "11", "offset": "540", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 56, "nrows": 62, "ulx": 540, "uly": 3533}, "state": "AUTOMATIC", "name": "neume.oblique2"}}, {"pitch": {"staff": "11", "offset": "549", "strt_pos": "5", "note": "e", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 22, "nrows": 15, "ulx": 549, "uly": 3507}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "11", "offset": "639", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 135, "ulx": 639, "uly": 3544}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "819", "strt_pos": "5", "note": "e", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 99, "ulx": 819, "uly": 3485}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "882", "strt_pos": "5", "note": "e", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 102, "ulx": 882, "uly": 3488}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "963", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 121, "ulx": 963, "uly": 3521}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "1033", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 181, "ulx": 1033, "uly": 3478}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "11", "offset": "1114", "strt_pos": "4", "note": "f", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 145, "ulx": 1114, "uly": 3458}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "1270", "strt_pos": "5", "note": "e", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 124, "ulx": 1270, "uly": 3492}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "1338", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 205, "ulx": 1338, "uly": 3467}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "11", "offset": "1574", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 119, "ulx": 1574, "uly": 3522}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "1923", "strt_pos": "6", "note": "d", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 41, "nrows": 47, "ulx": 1923, "uly": 3525}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "11", "offset": "2123", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 133, "ulx": 2123, "uly": 3561}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "2254", "strt_pos": "7", "note": "c", "octave": "4", "clef_pos": "7", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 129, "ulx": 2254, "uly": 3559}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "2341", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 238, "ulx": 2341, "uly": 3487}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "11", "offset": "2364", "strt_pos": "2", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 117, "ulx": 2364, "uly": 3585}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "11", "offset": "2488", "strt_pos": "7", "note": "e", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 134, "ulx": 2488, "uly": 3560}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "2708", "strt_pos": "6", "note": "f", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 115, "ulx": 2708, "uly": 3528}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "2841", "strt_pos": "5", "note": "g", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 117, "ulx": 2841, "uly": 3494}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "2962", "strt_pos": "6", "note": "f", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 143, "ulx": 2962, "uly": 3519}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "3044", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 260, "ulx": 3044, "uly": 3481}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "11", "offset": "3170", "strt_pos": "5", "note": "g", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 134, "ulx": 3170, "uly": 3501}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "3291", "strt_pos": "7", "note": "e", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 102, "ulx": 3291, "uly": 3563}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "11", "offset": "3359", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 277, "ulx": 3359, "uly": 3489}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "11", "offset": "3422", "strt_pos": "6", "note": "f", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 103, "ulx": 3422, "uly": 3531}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "11", "offset": "3446", "strt_pos": "7", "note": "e", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 32, "ulx": 3446, "uly": 3584}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "11", "offset": "3516", "strt_pos": "8", "note": "d", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 40, "ulx": 3516, "uly": 3599}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "11", "offset": "3574", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 234, "ulx": 3574, "uly": 3484}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "11", "offset": "3670", "strt_pos": "8", "note": "d", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 134, "ulx": 3670, "uly": 3532}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "12", "offset": "42", "strt_pos": "11", "note": "a", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 28, "ulx": 42, "uly": 4030}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "423", "strt_pos": "2", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 106, "ulx": 423, "uly": 3924}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "12", "offset": "521", "strt_pos": "9", "note": "c", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 134, "ulx": 521, "uly": 3956}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "684", "strt_pos": "8", "note": "d", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 139, "ulx": 684, "uly": 3929}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "841", "strt_pos": "6", "note": "f", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 123, "ulx": 841, "uly": 3864}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "978", "strt_pos": "9", "note": "c", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 116, "ulx": 978, "uly": 3963}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "1063", "strt_pos": "3", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 262, "ulx": 1063, "uly": 3806}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "12", "offset": "1147", "strt_pos": "10", "note": "b", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 69, "nrows": 108, "ulx": 1147, "uly": 3957}, "state": "AUTOMATIC", "name": "neume.clivis3"}}, {"pitch": {"staff": "12", "offset": "1235", "strt_pos": "10", "note": "b", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 75, "ulx": 1235, "uly": 3970}, "state": "AUTOMATIC", "name": "neume.liquescent.up"}}, {"pitch": {"staff": "12", "offset": "1297", "strt_pos": "10", "note": "b", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 104, "ulx": 1297, "uly": 3992}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "1426", "strt_pos": "11", "note": "a", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 67, "ulx": 1426, "uly": 4020}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "1529", "strt_pos": "12", "note": "g", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 19, "ulx": 1529, "uly": 4047}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "1606", "strt_pos": "12", "note": "g", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 36, "ulx": 1606, "uly": 4050}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "1667", "strt_pos": "10", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 266, "ulx": 1667, "uly": 3868}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "12", "offset": "1762", "strt_pos": "12", "note": "g", "octave": "3", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 74, "ulx": 1762, "uly": 4006}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "12", "offset": "1912", "strt_pos": "9", "note": "c", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 123, "ulx": 1912, "uly": 3962}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2001", "strt_pos": "8", "note": "d", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 125, "ulx": 2001, "uly": 3935}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2082", "strt_pos": "9", "note": "c", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 108, "ulx": 2082, "uly": 3970}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2163", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 194, "ulx": 2163, "uly": 3860}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "12", "offset": "2208", "strt_pos": "9", "note": "c", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 124, "ulx": 2208, "uly": 3971}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2305", "strt_pos": "8", "note": "d", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 141, "ulx": 2305, "uly": 3940}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2389", "strt_pos": "7", "note": "e", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 41, "ulx": 2389, "uly": 3905}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "2407", "strt_pos": "8", "note": "d", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 49, "ulx": 2407, "uly": 3947}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "2472", "strt_pos": "7", "note": "e", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 125, "ulx": 2472, "uly": 3911}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2546", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 208, "ulx": 2546, "uly": 3855}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "12", "offset": "2643", "strt_pos": "8", "note": "d", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 59, "ulx": 2643, "uly": 3939}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "2780", "strt_pos": "9", "note": "c", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 121, "ulx": 2780, "uly": 3975}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "2915", "strt_pos": "8", "note": "d", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 119, "ulx": 2915, "uly": 3941}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "12", "offset": "3115", "strt_pos": "9", "note": "c", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 40, "ulx": 3115, "uly": 3981}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "3173", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 260, "ulx": 3173, "uly": 3836}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "12", "offset": "3386", "strt_pos": "7", "note": "e", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 64, "ulx": 3386, "uly": 3919}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "3444", "strt_pos": "7", "note": "e", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 60, "ulx": 3444, "uly": 3917}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "12", "offset": "3494", "strt_pos": "9", "note": "c", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 44, "nrows": 43, "ulx": 3494, "uly": 3982}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "3536", "strt_pos": "8", "note": "d", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 45, "ulx": 3536, "uly": 3950}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "12", "offset": "3543", "strt_pos": "7", "note": "e", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 37, "ulx": 3543, "uly": 3910}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "13", "offset": "430", "strt_pos": "2", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 106, "ulx": 430, "uly": 4246}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "13", "offset": "498", "strt_pos": "8", "note": "d", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 50, "ulx": 498, "uly": 4254}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "13", "offset": "589", "strt_pos": "9", "note": "c", "octave": "4", "clef_pos": "9", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 83, "ulx": 589, "uly": 4278}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "1025", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 86, "ulx": 1025, "uly": 4159}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "13", "offset": "1116", "strt_pos": "12", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 26, "ulx": 1116, "uly": 4378}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "13", "offset": "1241", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 77, "ulx": 1241, "uly": 4352}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "1324", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 85, "nrows": 241, "ulx": 1324, "uly": 4169}, "state": "AUTOMATIC", "name": "neume.scandicus33"}}, {"pitch": {"staff": "13", "offset": "1441", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 112, "ulx": 1441, "uly": 4234}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "1526", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 95, "ulx": 1526, "uly": 4236}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "1602", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 262, "ulx": 1602, "uly": 4150}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "13", "offset": "1676", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 129, "ulx": 1676, "uly": 4235}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "1825", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 139, "ulx": 1825, "uly": 4269}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "1953", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 148, "ulx": 1953, "uly": 4240}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "2048", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 9, "nrows": 240, "ulx": 2048, "uly": 4172}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "13", "offset": "2173", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 133, "ulx": 2173, "uly": 4241}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "2302", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 103, "ulx": 2302, "uly": 4273}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "2427", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 117, "ulx": 2427, "uly": 4307}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "2570", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 88, "ulx": 2570, "uly": 4246}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "2609", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 11, "nrows": 229, "ulx": 2609, "uly": 4169}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "13", "offset": "2661", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 113, "ulx": 2661, "uly": 4179}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "13", "offset": "2768", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 118, "ulx": 2768, "uly": 4248}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "2919", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 87, "ulx": 2919, "uly": 4237}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "13", "offset": "3040", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 59, "nrows": 96, "ulx": 3040, "uly": 4246}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "13", "offset": "3175", "strt_pos": "5", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 229, "ulx": 3175, "uly": 4203}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "13", "offset": "3215", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 87, "ulx": 3215, "uly": 4274}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "13", "offset": "3375", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 138, "ulx": 3375, "uly": 4249}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "3487", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 58, "nrows": 108, "ulx": 3487, "uly": 4287}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "13", "offset": "3553", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 122, "ulx": 3553, "uly": 4288}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "13", "offset": "3653", "strt_pos": "17", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 25, "nrows": 113, "ulx": 3653, "uly": 4445}, "state": "AUTOMATIC", "name": "custos"}}, {"pitch": {"staff": "14", "offset": "27", "strt_pos": "4", "note": "d", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 43, "ulx": 27, "uly": 4445}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "14", "offset": "40", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 39, "ulx": 40, "uly": 4529}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "423", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 88, "ulx": 423, "uly": 4472}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "14", "offset": "499", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 66, "nrows": 116, "ulx": 499, "uly": 4608}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "14", "offset": "604", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 91, "ulx": 604, "uly": 4676}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "749", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 121, "nrows": 130, "ulx": 749, "uly": 4591}, "state": "AUTOMATIC", "name": "neume.torculus34"}}, {"pitch": {"staff": "14", "offset": "931", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 65, "ulx": 931, "uly": 4687}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "1012", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 69, "ulx": 1012, "uly": 4685}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "1090", "strt_pos": "12", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 39, "ulx": 1090, "uly": 4718}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "1150", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 156, "ulx": 1150, "uly": 4581}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "14", "offset": "1239", "strt_pos": "12", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 27, "ulx": 1239, "uly": 4716}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "1376", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 65, "ulx": 1376, "uly": 4682}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "1432", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 83, "ulx": 1432, "uly": 4595}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "14", "offset": "1547", "strt_pos": "10", "note": "e", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 82, "ulx": 1547, "uly": 4616}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "14", "offset": "1616", "strt_pos": "9", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 229, "ulx": 1616, "uly": 4539}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "14", "offset": "1701", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 39, "ulx": 1701, "uly": 4691}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "1775", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 41, "ulx": 1775, "uly": 4689}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "1845", "strt_pos": "10", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 170, "ulx": 1845, "uly": 4581}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "14", "offset": "2164", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 66, "ulx": 2164, "uly": 4581}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "2226", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 44, "ulx": 2226, "uly": 4576}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2306", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 51, "ulx": 2306, "uly": 4612}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2391", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 54, "ulx": 2391, "uly": 4641}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2495", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 41, "ulx": 2495, "uly": 4617}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2503", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 39, "ulx": 2503, "uly": 4569}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2560", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 25, "ulx": 2560, "uly": 4641}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2602", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 20, "ulx": 2602, "uly": 4656}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2609", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 27, "ulx": 2609, "uly": 4633}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2664", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 27, "nrows": 25, "ulx": 2664, "uly": 4705}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2916", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 21, "ulx": 2916, "uly": 4718}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "2971", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 112, "ulx": 2971, "uly": 4616}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "3074", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 96, "ulx": 3074, "uly": 4614}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "3144", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 92, "ulx": 3144, "uly": 4516}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "3233", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 118, "ulx": 3233, "uly": 4586}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "3306", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 40, "ulx": 3306, "uly": 4619}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "3367", "strt_pos": "6", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 138, "ulx": 3367, "uly": 4577}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "14", "offset": "3419", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 137, "ulx": 3419, "uly": 4588}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "3483", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 28, "nrows": 38, "ulx": 3483, "uly": 4625}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "14", "offset": "3533", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 126, "ulx": 3533, "uly": 4592}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "14", "offset": "3596", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 229, "ulx": 3596, "uly": 4509}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "15", "offset": "40", "strt_pos": "11", "note": "d", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 12, "nrows": 30, "ulx": 40, "uly": 5034}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "420", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 106, "ulx": 420, "uly": 4797}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "15", "offset": "506", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 39, "ulx": 506, "uly": 4823}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "662", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 150, "ulx": 662, "uly": 4895}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "834", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 111, "ulx": 834, "uly": 4917}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "15", "offset": "971", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 83, "ulx": 971, "uly": 4889}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "15", "offset": "1068", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 127, "ulx": 1068, "uly": 4896}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "1157", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 227, "ulx": 1157, "uly": 4819}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "15", "offset": "1273", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 40, "ulx": 1273, "uly": 4931}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "1365", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 39, "ulx": 1365, "uly": 4929}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "1438", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 242, "ulx": 1438, "uly": 4813}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "15", "offset": "1519", "strt_pos": "12", "note": "c", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 17, "nrows": 18, "ulx": 1519, "uly": 5058}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "1562", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 39, "ulx": 1562, "uly": 4935}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "1683", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 47, "nrows": 98, "ulx": 1683, "uly": 4840}, "state": "AUTOMATIC", "name": "neume.podatus3"}}, {"pitch": {"staff": "15", "offset": "1787", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 137, "ulx": 1787, "uly": 4841}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "1870", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 131, "ulx": 1870, "uly": 4843}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "1936", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 124, "ulx": 1936, "uly": 4844}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "2004", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 16, "nrows": 285, "ulx": 2004, "uly": 4793}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "15", "offset": "2073", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 71, "nrows": 121, "ulx": 2073, "uly": 4899}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "15", "offset": "2224", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 134, "ulx": 2224, "uly": 4909}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "2352", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 112, "ulx": 2352, "uly": 4845}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "2421", "strt_pos": "3", "note": "e", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 11, "nrows": 91, "ulx": 2421, "uly": 4810}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "2446", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 41, "nrows": 109, "ulx": 2446, "uly": 4863}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "2457", "strt_pos": "4", "note": "d", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 20, "ulx": 2457, "uly": 4838}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "2538", "strt_pos": "4", "note": "d", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 18, "nrows": 21, "ulx": 2538, "uly": 4843}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "2626", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 15, "nrows": 246, "ulx": 2626, "uly": 4815}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "15", "offset": "2715", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 42, "ulx": 2715, "uly": 4888}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "2723", "strt_pos": "4", "note": "d", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 28, "ulx": 2723, "uly": 4836}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "2877", "strt_pos": "4", "note": "d", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 41, "ulx": 2877, "uly": 4820}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "15", "offset": "2981", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 113, "ulx": 2981, "uly": 4857}, "state": "AUTOMATIC", "name": "neume.liquescent.down"}}, {"pitch": {"staff": "15", "offset": "3089", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 42, "nrows": 93, "ulx": 3089, "uly": 4839}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "15", "offset": "3161", "strt_pos": "6", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 9, "nrows": 96, "ulx": 3161, "uly": 4902}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "15", "offset": "3255", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 130, "ulx": 3255, "uly": 4921}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "3385", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 131, "ulx": 3385, "uly": 4956}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "15", "offset": "3525", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 26, "nrows": 112, "ulx": 3525, "uly": 4917}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "32", "strt_pos": "17", "note": "e", "octave": "2", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 14, "nrows": 48, "ulx": 32, "uly": 5459}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "16", "offset": "412", "strt_pos": "4", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 108, "ulx": 412, "uly": 5140}, "state": "AUTOMATIC", "name": "clef.c"}}, {"pitch": {"staff": "16", "offset": "474", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 127, "ulx": 474, "uly": 5170}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "531", "strt_pos": "7", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 19, "nrows": 237, "ulx": 531, "uly": 5140}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "16", "offset": "634", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 88, "ulx": 634, "uly": 5226}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "16", "offset": "719", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 133, "ulx": 719, "uly": 5237}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "792", "strt_pos": "8", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 13, "nrows": 253, "ulx": 792, "uly": 5152}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "16", "offset": "886", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 130, "ulx": 886, "uly": 5236}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "1019", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 67, "nrows": 109, "ulx": 1019, "uly": 5267}, "state": "AUTOMATIC", "name": "neume.clivis2"}}, {"pitch": {"staff": "16", "offset": "1130", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 82, "ulx": 1130, "uly": 5231}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "16", "offset": "1203", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 40, "nrows": 74, "ulx": 1203, "uly": 5216}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "1310", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 43, "nrows": 95, "ulx": 1310, "uly": 5185}, "state": "AUTOMATIC", "name": "neume.podatus3"}}, {"pitch": {"staff": "16", "offset": "1391", "strt_pos": "3", "note": "None", "octave": "None", "clef_pos": "None", "clef": "None"}, "glyph": {"bounding_box": {"ncols": 10, "nrows": 243, "ulx": 1391, "uly": 5148}, "state": "AUTOMATIC", "name": "divisio.maxima"}}, {"pitch": {"staff": "16", "offset": "1445", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 33, "nrows": 114, "ulx": 1445, "uly": 5266}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "1572", "strt_pos": "9", "note": "f", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 92, "ulx": 1572, "uly": 5257}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "16", "offset": "1694", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 125, "ulx": 1694, "uly": 5268}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2017", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 31, "nrows": 72, "ulx": 2017, "uly": 5182}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2074", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 32, "nrows": 72, "ulx": 2074, "uly": 5183}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2143", "strt_pos": "6", "note": "b", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 35, "nrows": 64, "ulx": 2143, "uly": 5217}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2204", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 68, "ulx": 2204, "uly": 5184}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2256", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 72, "ulx": 2256, "uly": 5248}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2315", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 37, "nrows": 71, "ulx": 2315, "uly": 5282}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2699", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 153, "ulx": 2699, "uly": 5194}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2794", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 38, "nrows": 159, "ulx": 2794, "uly": 5193}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "2921", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 40, "ulx": 2921, "uly": 5201}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "16", "offset": "3003", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 36, "nrows": 42, "ulx": 3003, "uly": 5195}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "16", "offset": "3049", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 34, "nrows": 125, "ulx": 3049, "uly": 5198}, "state": "AUTOMATIC", "name": "neume.virga"}}, {"pitch": {"staff": "16", "offset": "3097", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 22, "nrows": 22, "ulx": 3097, "uly": 5214}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "16", "offset": "3121", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 29, "nrows": 42, "ulx": 3121, "uly": 5243}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "16", "offset": "3155", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 23, "nrows": 58, "ulx": 3155, "uly": 5282}, "state": "AUTOMATIC", "name": "neume.inclinatum"}}, {"pitch": {"staff": "16", "offset": "3200", "strt_pos": "8", "note": "g", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 39, "nrows": 86, "ulx": 3200, "uly": 5228}, "state": "AUTOMATIC", "name": "neume.podatus2b"}}, {"pitch": {"staff": "16", "offset": "3265", "strt_pos": "5", "note": "c", "octave": "4", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 30, "nrows": 42, "ulx": 3265, "uly": 5199}, "state": "AUTOMATIC", "name": "neume.punctum"}}, {"pitch": {"staff": "16", "offset": "3302", "strt_pos": "7", "note": "a", "octave": "3", "clef_pos": "5", "clef": "clef.c"}, "glyph": {"bounding_box": {"ncols": 24, "nrows": 38, "ulx": 3302, "uly": 5274}, "state": "AUTOMATIC", "name": "neume.punctum"}}]} \ No newline at end of file diff --git a/rodan-main/code/rodan/views/resource.py b/rodan-main/code/rodan/views/resource.py index ada3cc6eb..affb8ba63 100644 --- a/rodan-main/code/rodan/views/resource.py +++ b/rodan-main/code/rodan/views/resource.py @@ -4,6 +4,7 @@ import re # import urlparse import six.moves.urllib.parse +import base64, io from celery import registry from django.conf import settings @@ -408,11 +409,14 @@ def get(self, request, format=None): archive = registry.tasks['rodan.core.create_archive'] \ .si(resource_uuids).apply_async(queue="celery") - storage = archive.get() - if storage is None: + encoded_archive = archive.get() + + if encoded_archive is None: raise ValidationError({'resource_uuid': ["The specified resources must exist."]}) + + binary_data = base64.b64decode(encoded_archive) response = FileResponse( - storage, + io.BytesIO(binary_data), content_type="application/zip" ) response['Content-Disposition'] = "attachment; filename=Archive.zip" diff --git a/scripts/install_gpu_rodan_jobs b/scripts/install_gpu_rodan_jobs index 75e43b4a2..437168eae 100644 --- a/scripts/install_gpu_rodan_jobs +++ b/scripts/install_gpu_rodan_jobs @@ -37,7 +37,7 @@ which pip3 && $PIP install --no-cache-dir . # Install Paco classifier cd / -git clone -b v2.0.3 --depth 1 https://github.com/DDMAL/Paco_classifier.git +git clone -b v2.0.4 --depth 1 https://github.com/DDMAL/Paco_classifier.git mv Paco_classifier .Paco_classifier cd .Paco_classifier which pip3 && $PIP install --no-cache-dir .
NameExtension Description URL