2007:Score File Format

From MIREX Wiki
Revision as of 10:51, 25 June 2007 by Diemo (talk | contribs) (intro)

Score File Format

The proposed MIREX score file format is in ASCII text, with one line per note or other event such as trill, tempo change, or signature change.

Notes are time-ordered, tempo or signature changes can come at any place. (This could be restrained to "must come at the beginning of the file", if this helps someone.)

The MIREX text score file format will be also used as alignment reference format, where the clock time is no longer the score time but the aligned time in the performance, and maybe as alignment result file.

Note that we introduced an event ID field, that unambiguously links events across all three types of files.


NOTE EVENTS

template:

event-id onset-position onset-ms type pitch interval duration-beat duration-ms cue-num stream-id

example:

1 1	 0	note	72	0	2	4000	1	0
2 3+1/4	 4500	note	60	0	0+1/4	500	2	0	
3 3+3/4	 5000	note	58	0	0+1/2	1000	3	0	
4 3+3/4	 5000	note	48	0	0+1/2	1000	0	0	

columns for note events:

  1. event ID [int > 1]
  2. event onset position [measure+rational] (ex. 42+1/4, 28+3/7)
  3. event onset clock time [ms] (must be consistent with the onset position)
  4. event type [symbol: note, trill, tremolo, ...] (for tempo and signature, see below)
  5. event pitch [float MIDI note number]
  6. event interval [float halftones] (0 for non-trill)
  7. event duration [measure+rational]
  8. event duration [ms]
  9. cue number [int > 0, 0 = no cue]
  10. stream ID [int]


TEMPO CHANGES

template:

0 onset-position onset-ms tempo tempo - - - - stream-id

example:

0 1	0	tempo	120	-	-	-	-	0

columns for tempo changes:

  1. event ID [constant int = 0]
  2. event onset position [measure+rational] (ex. 42+1/4, 28+3/7)
  3. event onset clock time [ms] (must be consistent with the onset position)
  4. event type [constant symbol = tempo]
  5. tempo [float bpm]
  6. unused
  7. unused
  8. unused
  9. unused
  10. stream ID [int]


SIGNATURE CHANGES

template:

0 onset-position onset-ms signature numerator denominator - - - stream-id

example:

0 1	0	signature	4	4	-	-	-	0

columns for signature changes:

  1. event ID [constant int = 0]
  2. event onset position [measure+rational] (ex. 42+1/4, 28+3/7)
  3. event onset clock time [ms] (must be consistent with the onset position)
  4. event type [constant symbol = signature]
  5. signature numerator [int]
  6. signature denominator [int]
  7. unused
  8. unused
  9. unused
  10. stream ID [int]


Evaluation Metrics

times:

  • t_a reference alignment time
  • t_r reporting time
  • t_e estimated time

measures:

  • d_l = t_r - t_e system latency (between reporting and estimation)
  • d_o = t_a - t_r offset or lag between reporting time and reference
  • d_e = t_a - t_e error between estimation time and reference