.mid file a modifier is a note, or a pair of SysEx events, and it covers the notes that start from its start up to its end:
Which notes a modifier covers
A modifier covers the notes of its difficulty, or of every difficulty, that start at or after its start and before its end. Only where a note starts counts, not its sustain.- A note on the modifier’s end tick isn’t covered, except by a tap. See Taps.
- At one tick, a modifier and its notes may come in any order.
- Required: at least one note under each modifier.
- A modifier written as a note pairs as Note pairing says.
.chart modifier applies to the notes at its own tick, and its length has no effect. See Note modifiers.
Forced
.chart file’s forced modifier, which flips a note between strum and HOPO, .mid forcing sets it. The two agree on chords and first notes, and differ on a note that is already a natural HOPO: N 5 makes it a strum, and a forced HOPO modifier keeps it a HOPO.
Required: a note is forced HOPO or forced strum, not both.
Taps
A tap makes every note it covers a tap, which the player can play without strumming. It has two forms:- Note 104 covers every difficulty of the track.
- Tap SysEx events cover one difficulty, or every difficulty. See The Phase Shift SysEx event.
- Required: a note is tapped or forced, not both.
- Unlike other modifiers, a tap covers the notes on its end tick too.
Open notes
An open note is strummed with no fret held. On 6-fret it’s a note. On 5-fret it has two forms.5-fret
- Notes 59, 71, 83 and 95 are open notes on Easy, Medium, Hard and Expert, in a track that has
ENHANCED_OPENS. Without it, they aren’t notes: Rock Band charts use 59 for animations. - Open SysEx events turn every note they cover into an open note, whatever its fret. The open note keeps the covered note’s length, and forcing and taps still apply to it.
ENHANCED_OPENS instead when an open note is in a chord, or when its sustain overlaps a green note. scan-chart’s export writes open notes this way.
ENHANCED_OPENS is a text event, FF 01, in the 5-fret track:
- It’s written
ENHANCED_OPENS, Recommended, or[ENHANCED_OPENS]. - Required: before the track’s first note. Recommended: at tick 0.
ENHANCED_OPENS. Open SysEx events turn a chord into one open note. Required: open SysEx events over single notes only.
6-fret
Notes 58, 70, 82 and 94 are open notes on Easy, Medium, Hard and Expert. They need no text event, and an open note may be in a chord. See 6-fret.The Phase Shift SysEx event
Taps and opens can be written as SysEx events, a form from Phase Shift. A start event and an end event mark the modifier’s range:- An end event ends the modifier its start began: the same difficulty byte and type.
- Required: exactly this 8-byte form, with a difficulty byte from the table, a type byte below
14, and a value byte of00or01. - Recommended: a difficulty byte from
00to03, for each difficulty, rather thanFF.
Natural HOPOs
A scanner decides strums and HOPOs as How notes resolve says, with two differences in a.mid file.
The HOPO threshold is the resolution divided by 3, rounded down, plus 1:
.chart file it can be a HOPO. An open note counts as a fret for this rule. In this example the resolution is 480, so the threshold is 161 ticks:
hopo_frequency and eighthnote_hopo keys change the threshold as in a .chart file. See How notes resolve.
Deprecated
- Open SysEx events on 6-fret. Every scanner reads them, but 6-fret has open notes. Write the open note instead.
Ignored
- Note 104 and SysEx events in a drums track. On drums, 65, 77, 89 and 101 are 5-lane green notes, not modifiers. See Drums.
- Notes 59, 71, 83 and 95 without
ENHANCED_OPENS, on 5-fret. - Other SysEx events, such as Phase Shift events of other types. scan-chart writes them back as they are. Some Phase Shift events stop Clone Hero from loading the chart: see Invalid forms.
Invalid forms
A modifier that covers no note
A modifier that covers no note
A forced HOPO and a forced strum on one note
A forced HOPO and a forced strum on one note
A tap and a forcing modifier on one note
A tap and a forcing modifier on one note
Overlapping modifiers of one number
Overlapping modifiers of one number
Open SysEx events over a chord
Open SysEx events over a chord
ENHANCED_OPENS after the track's first note
ENHANCED_OPENS after the track's first note
ENHANCED_OPENS spelled another way
ENHANCED_OPENS spelled another way
[enhanced_opens], but only in a text event, FF 01, and not with spaces around it. scan-chart reads it so. YARG reads it with spaces around it, and in other types of text event, but only in capitals.A SysEx event of another length
A SysEx event of another length
fixIssues can rewrite it in the 8-byte form, which changes the TrackHash. Every scanner skips an event that has another value in place of the 00 that marks a modifier.A SysEx difficulty byte other than 00 to 03 or FF
A SysEx difficulty byte other than 00 to 03 or FF
A Phase Shift event Clone Hero can't load
A Phase Shift event Clone Hero can't load
FF counted as 4. It fails to load a chart with an event whose number is 100 or more, on any track, with or without an end. So a tap with a difficulty byte from 50 up fails, and so does an event whose type byte is 14 or more. A scanner refuses such a file, as scan-chart does. YARG ignores types other than open and tap.A SysEx value byte other than 00 or 01
A SysEx value byte other than 00 or 01
A start with no end
A start with no end