Difference between revisions of "2024:Symbolic Music Generation"

From MIREX Wiki
(Data Format)
(Data Format)
Line 27: Line 27:
 
The symbol property of a chord should be a string based on the syntax of (Harte, 2010). In other words, each chord string should be able to be passed as a parameter to mir_eval.chord.encode() without causing an error.
 
The symbol property of a chord should be a string based on the syntax of (Harte, 2010). In other words, each chord string should be able to be passed as a parameter to mir_eval.chord.encode() without causing an error.
  
 +
====Data Representation Example===
 
Below is an example of the input lead sheet in the JSON format:
 
Below is an example of the input lead sheet in the JSON format:
  

Revision as of 07:12, 13 September 2024

Description

Symbolic music generation is a broad topic. It covers a wide range of tasks, including generation, harmonization, arrangement, instrumentation, and more. We have multiple ways to represent music data, and the evaluation metrics also vary. To define a MIREX challenge within this topic, we need to narrow our focus to specific subtasks that are both relevant to the community and feasible to evaluate effectively.

This year, we select the task to be piano accompaniment arrangement from a lead sheet. The lead sheet provides information about the melody, chord progression, and optional phrase labels. The goal is to generate a piano accompaniment that complements the lead melody. The music data consists of 8-measure segments in 4/4 meter, quantized to a sixteenth-note resolution. A more detailed description of the data structure is provided in the data format section. The genre of the lead sheets is broadly within western pop music (refer to the music examples for more detail).

Data Format

The input lead sheet consists of 8 bars for the melody and harmony, with an additional mandatory pickup measure (left blank if not used). The data is prepared in JSON format containing two properties: melody and chords:

  • melody: a list of notes. Each note contains properties of start, pitch, and duration.
  • chords: a list of chords. Each chord contains properties of start, symbol, and duration.

The output generation should also follow the JSON format containing one property acc:

  • acc: a list of notes. Each note contains properties of start, pitch, and duration.

Detailed explanation of start and duration attributes.

The data is assumed to be in 4/4 meter, quantized to a sixteenth-note resolution. For both melody and chords, onsets and durations are counted in sixteenth notes. Both onsets and durations are integers ranging from 0 to 9 * 16 - 1 = 143. Notes that end later than the ninth measure (i.e., 9 * 16 = 144th time step) will be truncated to the end of the ninth measure. Melody notes are not allowed to overlap with one another. There should be no gaps or overlaps between chords. Chords must follow one another directly. If there is a blank space where no chord is played, it must be filled with the N chord.

Detailed explanation of the pitch attribute.

The pitch property of a note should be integers ranging from 0 to 127, corresponding to the MIDI pitch numbers.

Detailed explanation of the chord symbol attribute.

The symbol property of a chord should be a string based on the syntax of (Harte, 2010). In other words, each chord string should be able to be passed as a parameter to mir_eval.chord.encode() without causing an error.

=Data Representation Example

Below is an example of the input lead sheet in the JSON format:

{
  "melody": [
    {"start": 12, "pitch": 72, "duration": 4},
    {"start": 16, "pitch": 69, "duration": 8},
    ...
  ],
  "chords": [
    {"start": 0, "symbol": "N", "duration": 16},
    {"start": 16, "symbol": "F", "duration": 16},
    ...
  ]
}

Evaluation

We will evaluate the submitted algorithms through an online subjective double-blind test.

  • We use a "potluck" test set. Before submitting the algorithm, each team is required to submit two lead sheets. The organizer team will supplement the lead sheet if necessary.
  • Once the organizer team receives the lead sheet submission, a schedule for the subjective test will be made. Depending on the number of submissions, there could be more than one round of subjective test.
  • We will use objective measurements only as a reference. The correlation between subjective and objective scores will be presented in the end.

Subjective Metrics

We will ask the subjects to listen to the original lead sheet first and then listen to the anonymized generations. Subjects will be asked to rate the generation according to the following criteria:

  • Harmony correctness (5-point scale) (To be done)
  • Creativity (5-point scale) (To be done)
  • Naturalness (5-point scale) (To be done)
  • Coherence and stylistic appropriateness? To be done.

Objective Metrics

We will report these metrics as reference:

  • To be done.

Data Example

TBD

Submission

The submission process contains three stages.

  • [Date 1, TBA]: submission of two lead sheets as a part of the test set. This is also a confirmation of participation. The detailed subjective evaluation format will be announced according to the number of participants.
  • Date 2: submission of code. [JJY can help.]
  • Date 3: complete the online subjective evaluation.

Format

TBD. JJY can help.

Baselines

TBD

References

  • Harte. Towards Automatic Extraction of Harmony Information from Music Signals. PhD thesis, Queen Mary University of London, August 2010.