net.charlesames.music.score.KeySignature
The clef type combines features required by the MusicXML clef element: clef type, staff position, and octave displacement.
Key signatures are indicated textually beginning with the clef type: C (movable) F (bass) G (treble) or X (unpitched). Next comes a staff position in the range from 1 (bottom line of staff) to 5 (top line of staff). Last comes an octave displacement indicator, which is optional. Octave displacements can be -15, -8, +8, or +15.
net.charlesames.music.score.Duration
The duration type describes a note duration modified by zero or more dots. The neume gives a power-of-two duration, with the whole note taken as unity. The first dot extends the duration by 1/2 the power-of-two value; the second dot extends the duration by an additional 1/4; and so forth.
Durations are indicated textually using a nueme (W, H, Q, I, S, T, X) and an optional sequence of dots.
net.charlesames.music.score.HarpPedalling
A harp pedalling is described by an array of seven accidentals, each indicating the pedalling for a degree of the diatonic scale.
HarpPedallings are indicated textually using seven consecutive accidentals (!, %, #).
net.charlesames.music.score.KeySignature
The key signature type combines a count of accidentals with a mode.
Key signatures are indicated textually beginning with the letter K. Next comes the number of accidentals, a flat/sharp indicator (when the number is nonzero), and a mode indicator. The number of accidentals is given as an unsigned integer. The flat/sharp indicator is ! for flat or # for sharp; it is not present for C major / A minor. The mode indicator is upper-case M for major and lower-case m for minor.
net.charlesames.music.score.Pitch
The pitch type combines a letter name with an accidental, an octave, and a cents deviation. The letter name indicates a base number of cents: 0 (C), 200 (D), 400 (E), 500 (F), 700 (G), 900 (A), 1100 (B). The accidental adjusts this base value: -200 (!!), -100 (!), 0 (%), 100 (#), 200 (##). The octave determines the register with octave #4 at 0 cents, octave #3 at -1200 cents, etc. This may be further modified by a cents deviation in the rage from -99 to +99.
Pitches are indicated textually using a letter name (C, D, E, F, G, A, B), an optional accidental (!!, !, %, #, ##), an integer octave number(0-9) and an optional cents deviation (-99 to -1 or +1 to +99). C4 is middle C. The lone letter R indicates a rest.
net.charlesames.utility.math.Ratio
The ratio type indicates a rational number using and explicit numerator and an explicit denominators. This allows calculations to be preformed without rounding errors.
The text defining a ratio type begins with an optional sign. It normally continues with an integer (the numerator), a colon, and a second integer (the denominator). Alternatively option-5 (sideways 8) may be used with an optional sign to indicate positive or negative infinity.
net.charlesames.music.score.TimeSignature
The time signature type combines a beat unit and a beat count. The beat unit is a duration; that is, a neume modified by zero or dots. The beat count is a positive integer.
Time signatures are indicated textually using a duration, a dollar sign, and an integer beat count. The duration within a time signature is indicated using a nueme (W, H, Q, I, S, T, X) and an optional sequence of dots.
net.charlesames.music.score.Score
A score has a start time, and end time, and three sub elements: ensemble, groups, events.
Score start time in whole notes. Set negative for pickup notes.
Score end time (duration) in whole notes.
Ensemble-mapping data for contours, voices, and instruments.
net.charlesames.music.score.ScoreEnsembleData
The ensemble sub-element of a score contains contour, voice, and instrument declarations.
net.charlesames.music.score.ScoreContour
The contour element of the score-ensemble data maps a score contour to an ensemble contour. There must be a one-to-one correspondance between score contours and ensemble contours. The segments which make up a contour are listed among the score-events data. Each contour can have one of three modes: DISCRETE, LINEAR, or EXPONENTIAL. Each score contour must have the same mode as its corresponding ensemble contour.
Globally unique contour number. The score contour id maps to the ensemble contour index.
DISCRETE mode calculates values within a segment by reiterating the origin. LINEAR mode calculates values within a segment by linear interpolation between origin and goal, EXPONENTIAL mode calculates values within a segment by equal-ratios interpolation between origin and goal.
net.charlesames.music.score.ScoreVoice
The voice element of the score-ensemble data maps a score voice to ensemble voice. The events occuring within a voice are listed among the score-events data.
Globally unique voice id. There must be a one-to-one correspondance between score voices and ensemble voices.
net.charlesames.music.score.ScoreInstrument
The instrument element of the score-ensemble data maps a score instrument to an ensemble instruments.
Globally unique instrument id. There must be a one-to-one correspondance between score instrument ids and ensemble instrument ids.
Group declarations; e.g. measures, chords, tuplets, slurs, and phrases.
net.charlesames.music.score.ScoreGroupData
The groups sub-element of a score contains group declarations for measures, chords, tuplets, slurs, and phrases.
Count of group declarations.
net.charlesames.music.score.ScoreSegment
Segment elements detail the evolution of a contour declared within the score-ensemble data.
Starting ordinate (inclusive).
Ending ordinate (exclusive).
Contour value as of starting ordinate.
Contour value as of ending ordinate.
ID referencing a contour declaration in score/ensemble data.
net.charlesames.music.score.ScoreMeasure
The measure element of the score-groups data identifies a short section of the score deliniated by bar lines. The measure containing an event such as a note/rest or chord start/end is determined using both the event time and the event alignment.
Time signature.
Key signature.
Flag for pickup measure, which suppresses notated time signature.
Expansion/compression ratio, expressed as actual durations divided by reference durations. The ratio is expressed notationally a relative tempo change.
Globally unique measure number.
net.charlesames.music.score.Chord
A chord is a group of notes sharing common start times and durations. For each chord, the score events data lists a chord-start event, and a chord-end event, along with the notes contained within the chord.
Chord start time in whole notes relative to the beginning of the score.
Chord end time in whole notes relative to the beginning of the score.
net.charlesames.music.score.ScoreTuplet
The tuplet element of score-groups data declares a region within a measure during which neume durations are compressed or expanded according to a prescribed ratio. Tuplets may be nested. For each tuplet, the score events data lists a tuplet-start event, and a tuplet-end event, along with the notes (and rests) directly contained within the tuplet.
Expansion/compression ratio, expressed as actual durations divided by reference durations.
Tuplet start time in whole notes relative to the beginning of the score.
Tuplet end time in whole notes relative to the beginning of the score.
Id of parent tuplet, if any.
Globally unique tuplet number. This number is referenced both by child tuplets and by notes and rests directly contained within the tuplet.
net.charlesames.music.score.ScorePhrase
The phrase element of score-groups data declares a phrase. How phrases are used is left to the user. The notes contained within the phrase are listed among the score-events data.
Globally unique phrase number, referenced by the notes.
net.charlesames.music.score.Slur
The slur element of score-groups data declares a group of notes which are to be contained within a slur. This is the grouping to use if you wish to your MusicXML export file to join all the notes under a slur. It is also the grouping to use for software sound-systhesis slurs.
Voice id referencing a voice declaration in score/ensemble data. Notes within a slur must all share this voice id.
Globally unique slur number, referenced by the notes.
Count of group declarations.
Timed events including notes/rests chord starts/ends, segment starts/ends, tuplet starts/ends, and harp pedallings, and clef changes.
net.charlesames.music.score.ScoreEventData
The events sub-collection of a score contains timed events: notes, chord starts/ends, tuplet starts/ends, clef changes, harp pedalings, and contour segments.
net.charlesames.music.score.ScoreNote
Notes share the properties common to all timed events: onset time, voice id (referencing a score-ensemble element), and process id. Notes are also distinguished by duration, onset pitch, release pitch, instrument ID (referencing a score-ensemble instrument), accent, tie-from note, and tie-to note. For MusicXML compatibility, the note also contains a notated duration, a beaming indicator, a MusicXML staff id, and one or more MusicXML indications. Note events are aligned left.
Event onset time in seconds from the beginning of the score.
Event process id, whose interpretation is left to the user.
Event voice id, referencing a voice declaration in the score/ensemble data.
Event measure number, referencing a measure declaration in the score/groups data. This element is provided for user reference but is ignored by the score-file loader.
A notatedDuration element within a note specifies a duration combining a neume with zero or more dots. This element should be present if neither a non-notated period nor non-notated duration element is present.
A period element within a note specifies a ratio indicating the time interval in whole notes between the note onset and the following score event. This element should be present if the note is not a rest and if no notatedDuration element is present.
A duration element within a note specifies a ratio indicating the time interval in whole notes between the note onset and the note release. This element should be present if the note is not a rest and if no notatedDuration element is present.
An accent element within a note specifies an integer value, associated with the note, which the user can employ freely.
An instrument element within a note specifies an id referencing an instrument declaration in the score/ensemble data. This element is required except when the note is a rest.
A chord element within a note specifies an id referencing a chord declaration in the score/groups data. If present, the element signifies membership in the indicated chord.
A tuplet element within a note specifies an id referencing a tuplet declaration in the score/groups data. If present, the element signifies direct membership in the indicated tuplet.
A slur element within a note specifies an id referencing a slur declaration in the score/groups data. If present, the element signifies membership in the indicated slur.
A phrase element within a note specifies an id referencing a phrase declaration in the score/groups data. If present, the element signifies membership in the indicated phrase.
Pitch as of the note's onset time. If the onset pitch is a rest, then the note is a rest.
The tieFrom element specifies a the id of a previous note whose release time coincides with the current onset time and whose release pitch coincides with the current note's ending pitch.
The staff element, if present, causes the note to be written on other than the default staff associated with the voice.
The comment element contains text concerning the note which the user can exploit however he or she desires.
net.charlesames.music.score.ChordStart
Chord-start events share the properties common to all timed events: onset time, voice id, measure id, and process id. They also reference the controlling chord among the score-groups data. Chord-start events are aligned left.
Event onset time in seconds from the beginning of the score.
Event process id, whose interpretation is left to the user.
Event voice id, referencing a voice declaration in the score/ensemble data.
Event measure number, referencing a measure declaration in the score/groups data. This element is provided for user reference but is ignored by the score-file loader.
net.charlesames.music.score.ChordEnd
Chord-end events share the properties common to all timed events: onset time, voice id, measure id, and process id. They also reference the controlling chord among the score-groups data. Chord-end events are aligned right.
Event onset time in seconds from the beginning of the score.
Event process id, whose interpretation is left to the user.
Event voice id, referencing a voice declaration in the score/ensemble data.
Event measure number, referencing a measure declaration in the score/groups data. This element is provided for user reference but is ignored by the score-file loader.
net.charlesames.music.score.SegmentStart
Segment-start events share the properties common to all timed events: onset time, voice id (referencing a score-ensemble element), and process id. They also reference the controlling contour's id among the score-ensemble data.
Event onset time in seconds from the beginning of the score.
Event process id, whose interpretation is left to the user.
Event voice id, referencing a voice declaration in the score/ensemble data.
Event measure number, referencing a measure declaration in the score/groups data. This element is provided for user reference but is ignored by the score-file loader.
net.charlesames.music.score.SegmentEnd
Segment-end events share the properties common to all timed events: onset time, voice id (referencing a score-ensemble element), and process id. They also reference the controlling contour's id among the score-ensemble data.
Event onset time in seconds from the beginning of the score.
Event process id, whose interpretation is left to the user.
Event voice id, referencing a voice declaration in the score/ensemble data.
Event measure number, referencing a measure declaration in the score/groups data. This element is provided for user reference but is ignored by the score-file loader.
net.charlesames.music.score.ScoreTupletStart
Tuplet-start events share the properties common to all timed events: onset time, voice id (referencing a score-ensemble element), and process id. They also reference the controlling tuplet among the score-groups data. Tuplet-start events are aligned left.
Event onset time in seconds from the beginning of the score.
Event process id, whose interpretation is left to the user.
Event voice id, referencing a voice declaration in the score/ensemble data.
Event measure number, referencing a measure declaration in the score/groups data. This element is provided for user reference but is ignored by the score-file loader.
net.charlesames.music.score.ScoreTupletEnd
Tuplet-end events share the properties common to all timed events: onset time, voice id (referencing a score-ensemble element), and process id. They also reference the controlling tuplet among the score-groups data. Tuplet-end events are aligned right.
Event onset time in seconds from the beginning of the score.
Event process id, whose interpretation is left to the user.
Event voice id, referencing a voice declaration in the score/ensemble data.
Event measure number, referencing a measure declaration in the score/groups data. This element is provided for user reference but is ignored by the score-file loader.
net.charlesames.music.score.ClefChange
Clef changes share the properties common to all timed events: onset time, voice id, measure id, and process id. They also identify the new clef. Clef-change events are aligned left.
Event onset time in seconds from the beginning of the score.
Event process id, whose interpretation is left to the user.
Event voice id, referencing a voice declaration in the score/ensemble data.
Event measure number, referencing a measure declaration in the score/groups data. This element is provided for user reference but is ignored by the score-file loader.
Clef name.
net.charlesames.music.score.HarpPedallingChange
HarpPedalling changes share the properties common to all timed events: onset time, voice id, measure id, and process id. They also identify the new pedal configuration. HarpPedalling-change events are aligned left.
Event onset time in seconds from the beginning of the score.
Event process id, whose interpretation is left to the user.
Event voice id, referencing a voice declaration in the score/ensemble data.
Event measure number, referencing a measure declaration in the score/groups data. This element is provided for user reference but is ignored by the score-file loader.
HarpPedalling name.