.mid file holds its vocals in vocal tracks: PART VOCALS for the lead vocals, and HARM1 to HARM3 for up to three harmonies. Each holds the notes to sing, the lyric sung on each, and phrases that group them into lines:
Hel- sung on C4, joined to lo on D4.
Clone Hero reads only PART VOCALS, and only its lyrics and phrases: it shows the lyrics, and has no vocals to sing. YARG reads every vocal track, as vocals and harmonies to sing. A .chart file holds one set of lyrics, without notes. See Lyrics.
Vocal tracks
- Required: one track at most for each part.
- Required: the harmony tracks in order in the file:
HARM1, thenHARM2, thenHARM3. - Recommended:
PART VOCALSin a chart with harmonies, because Clone Hero shows lyrics only fromPART VOCALS.
Notes
- A note’s length is how long it’s sung. Vocal notes have no sustain cutoff.
- Required: each note of a part ends at or before the tick where the next note of the part starts.
- Clone Hero reads only the phrases. YARG reads every note in the table.
Lyrics
A lyric is a text event on a vocal track: the syllable sung on the note at its tick.- Required: a lyric event,
FF 05, or a text event,FF 01. Recommended:FF 05. - Required: one lyric at most at a tick, and in a part with notes, each lyric on a note’s tick.
- Recommended: one lyric on each note. A note that slides from the note before it has the lyric
+. - Required: no spaces at a lyric’s ends, and no
[or]in it.
.chart file, a lyric has no lyric prefix, and it’s in a vocal track, not in EVENTS.
Edge case: songs Clone Hero lists as having lyrics. From its code, Clone Hero’s song scan counts the track name as a lyric. So its song list marks a song as having lyrics when its PART VOCALS has a phrase, even with no lyrics in it.
Lyric symbols
A symbol at the end of a lyric changes how it’s sung or shown. YARG reads each one as a property of the lyric’s note. Clone Hero only changes how it shows the lyric:$may also come at the start of a lyric.=shows as-anywhere in a lyric, and joins the next syllable only at the end.- Two symbols stand for a character anywhere in a lyric:
§joins two syllables sung as one, and_is a space. Clone Hero shows each as a space. YARG’s vocals show§as‿. - Any other symbol elsewhere in a lyric has no meaning, and isn’t shown.
- Required:
-and+only at the end of a lyric. For a hyphen shown inside a lyric, write=. - Clone Hero and YARG show the symbols the same way in a
.chartfile’s lyrics.
Formatting tags
A lyric may hold a formatting tag, such as<i> and </i> around italic text. Clone Hero allows the tags i, b, s, u, sup, sub, br, voffset, lowercase, uppercase, smallcaps, cspace, color and mspace, and colors written as <#rrggbb>. Required: angle brackets only around these tags.
Phrases
A phrase is a note 105. It holds the notes and lyrics from its start tick through its end tick, as a.chart phrase holds its lyrics:
- Required: every note and lyric inside a phrase.
- Required: each phrase has a length, and ends at or before the tick where the next phrase of its part starts.
- Recommended: each phrase ends after its last note starts, or where the next phrase starts.
.chart phrase, a .mid phrase is one note, so it always has an end.
Edge case: lyrics without notes. A part may hold phrases and lyrics with no notes, for lyrics without pitches. Clone Hero and YARG show its lyrics, and YARG and scan-chart list no vocals part for it.
Star power
Note 116 onPART VOCALS or HARM1 gives star power to each phrase that starts inside it. Clone Hero ignores it. HARM2 and HARM3 take HARM1’s star power.
Harmonies
The three harmony parts share their phrases:HARM1’s phrases are the phrases of all three harmonies: they set where each is scored, and its star power. AHARM2orHARM3note outside them isn’t scored.HARM2’s phrases mark where YARG moves the lyrics of harmonies 2 and 3 to a new line. Required: they cover everyHARM3note.HARM3has no phrases of its own.
Deprecated
PART HARM1toPART HARM3, names from The Beatles: Rock Band. YARG reads them asHARM1toHARM3when the file has noHARM1toHARM3, and scan-chart reads them as the same parts. WriteHARM1toHARM3instead.- Note 106, the second player’s phrase in older Rock Band charts. Every scanner reads it as a phrase, but they disagree where it differs from a 105. Write 105 instead. Required: each 106 starts and ends where a 105 does.
[range_shift]and[range_shift <seconds>]. YARG reads them as a range shift, and Clone Hero and scan-chart ignore them. Write note 0 instead.
Ignored
- Note 97, hidden percussion. No scanner reads it.
- Any other note number, such as 104, which YARG reads as a censorship marker after a
[CENSORSHIP_MARKERS]event. - A text event that starts with
[, such as[play]. No scanner reads it as a lyric, and scan-chart writes it back as a text event. - An empty lyric.
- Star power on
HARM2andHARM3, and phrases onHARM3. YARG and scan-chart useHARM1’s andHARM2’s instead.
Invalid forms
A second track for one part
A second track for one part
PART VOCALS. YARG sings the first PART VOCALS, and shows the lyrics of every PART VOCALS track. It sings the last of each harmony track. scan-chart’s export leaves out the others.Both HARMn and PART HARMn for one part
Both HARMn and PART HARMn for one part
HARMn, wherever it is, as YARG and scan-chart do, and scan-chart’s export writes only that track. Clone Hero reads neither.Harmony tracks out of order, or without HARM1
Harmony tracks out of order, or without HARM1
HARM1’s phrases into HARM2 and HARM3 as it reads each track, so a harmony track before HARM1 gets no phrases there. Without HARM1, YARG doesn’t list harmonies 2 and 3. scan-chart reads the tracks in any order, and uses HARM2’s and HARM3’s own phrases when there’s no HARM1. Its export writes the tracks in order.A lyric or note outside every phrase
A lyric or note outside every phrase
A phrase note-on with no note-off, or a note-off with no note-on
A phrase note-on with no note-off, or a note-off with no note-on
.chart file. There, a phrase with no note-off runs to the next phrase’s start, and the last one is dropped, unless nothing in the song-wide events comes after it. A note-off with no note-on starts a phrase, which the next phrase start or end closes.A - or + that isn't at the end of a lyric
A - or + that isn't at the end of a lyric
- anywhere in it, and joins a lyric that starts with + to the one before it. YARG and scan-chart give such a symbol no meaning. Clone Hero and YARG’s lyrics don’t show it, and YARG’s vocals and scan-chart keep a -.Overlapping phrases, or a 106 that doesn't match a 105
Overlapping phrases, or a 106 that doesn't match a 105
A phrase of length 0
A phrase of length 0
A lyric in another type of text event
A lyric in another type of text event
FF 04 and FF 06 to FF 09 too. scan-chart’s export writes every lyric it reads as FF 05.A bracket inside a lyric
A bracket inside a lyric
brk[x] as the lyric brk[x]. YARG’s vocals read it as the text x, not a lyric.Other text in angle brackets
Other text in angle brackets
Spaces at a lyric's ends
Spaces at a lyric's ends
Two lyrics at one tick
Two lyrics at one tick
A lyric that isn't on its note's tick
A lyric that isn't on its note's tick
Overlapping notes of one part
Overlapping notes of one part