← Back to proposal · Next steps
Appendix C
Draft schema, validation rules, file-size expectations, and a sample file so StarManch can prepare per-song melody data before Alpha.
version — integer schema version (start at 1)a4Hz — optional reference A4 in Hz (default 440)notes — array of note objects:
midi — MIDI note number 0–127startMs — note start in ms from song start (≥ 0)durationMs — note length in ms (> 0)One lead-vocal melody line per song for initial scoring and correction. LRC lyric timing files are not assumed to contain note-level pitch data.
notes not emptymidi between 0–127startMs ≥ 0, durationMs > 0startMs ascending{
"version": 1,
"a4Hz": 440,
"notes": [
{ "midi": 60, "startMs": 0, "durationMs": 500 },
{ "midi": 62, "startMs": 500, "durationMs": 500 },
{ "midi": 64, "startMs": 1000, "durationMs": 1000 },
{ "midi": 65, "startMs": 2000, "durationMs": 750 },
{ "midi": 67, "startMs": 2750, "durationMs": 1250 }
]
}