> ## Documentation Index
> Fetch the complete documentation index at: https://chart-spec.enchor.us/llms.txt
> Use this file to discover all available pages before exploring further.

# Instrument sections

> The section names for each instrument and difficulty, and their note values.

Each instrument section holds one track: the notes, modifiers and phrases of one instrument at one difficulty.

```text theme={null}
[ExpertSingle]
{
  768 = N 0 0
  768 = N 1 0
  960 = N 2 192
  960 = S 2 768
  1152 = N 3 0
}
```

## Section names

A section's name is a difficulty followed by an instrument, such as `ExpertSingle` for Expert guitar. The difficulties are `Easy`, `Medium`, `Hard` and `Expert`.

| Instrument in the name | Instrument | Kind |
| - | - | - |
| `Single` | Lead guitar | 5-fret |
| `DoubleGuitar` | Co-op guitar | 5-fret |
| `DoubleBass` | Bass guitar | 5-fret |
| `DoubleRhythm` | Rhythm guitar | 5-fret |
| `Keyboard` | Keys, played on a guitar controller | 5-fret |
| `Drums` | Drums | Drums |
| `GHLGuitar` | 6-fret guitar | 6-fret |
| `GHLBass` | 6-fret bass | 6-fret |
| `GHLRhythm` | 6-fret rhythm guitar | 6-fret |
| `GHLCoop` | 6-fret co-op guitar | 6-fret |
| `GHLKeys` | 6-fret keys | 6-fret |

A scanner matches names exactly, in the letter case shown.

**Edge case: names close to these.** Clone Hero checks only some of a name's characters, so it reads a few other names as instrument sections: `[ExpertSingl]` is Expert guitar there. YARG's chart loader adds `[ExpertDoubleDrums]` to Expert drums when the file also has `[ExpertDrums]`. YARG's song list and scan-chart match names exactly.

## Notes

A note is an `N` event:

```text theme={null}
<tick> = N <value> <length>
```

The value says which note it is, and depends on the kind of instrument. The length is the note's sustain, in ticks: the note is held from its tick to `tick + length`. A length of 0 means no sustain.

### 5-fret

| Value | Note |
| - | - |
| `0` | Green |
| `1` | Red |
| `2` | Yellow |
| `3` | Blue |
| `4` | Orange |
| `7` | Open: strummed with no fret held |

`N 5` and `N 6` are modifiers, not notes. See [Note modifiers](/chart/modifiers).

### 6-fret

The 6-fret frets are in two rows: three black frets on top and three white frets below them.

| Value | Note |
| - | - |
| `0` | White 1 |
| `1` | White 2 |
| `2` | White 3 |
| `3` | Black 1 |
| `4` | Black 2 |
| `7` | Open |
| `8` | Black 3 |

`N 5` and `N 6` are modifiers, as on 5-fret. See [Note modifiers](/chart/modifiers).

### Drums

| Value | 4-lane and pro | 5-lane |
| - | - | - |
| `0` | Kick | Kick |
| `1` | Red | Red |
| `2` | Yellow | Yellow |
| `3` | Blue | Blue |
| `4` | Green | Orange |
| `5` | Green tom, in a pro chart. See [Drum types](/chart/drums#drum-types) | Green |
| `32` | Double kick | Double kick |

[Drums](/chart/drums) gives the kinds of drum chart, and the modifiers for cymbals, accents, ghosts and flams.

## Notes at one tick

* Notes of different values at one tick form a chord. Each note of a chord keeps its own length, so a chord's sustains can end at different ticks.
* An open note may be in a chord with fret notes. The player holds the fret notes and strums.
* **Required:** one note of each value at most at a tick.

## Range shifts

A range shift tells the player which frets a stretch of one 5-fret difficulty uses, so that their hand can move with the notes. It's an `E` event in the section of that difficulty, on guitar, co-op guitar, bass, rhythm guitar or keys:

```text theme={null}
<tick> = E ld_range_shift <difficulty> <position>
<tick> = E ld_range_shift <difficulty> <position> <size>
```

| Part | Values |
| - | - |
| Difficulty | `0` Easy, `1` Medium, `2` Hard, `3` Expert: the difficulty of the section the event is in |
| Position | The lowest fret of the range, where the index finger goes: `1` green to `5` orange |
| Size | The number of frets in the range, from `1` to `5`. Without it, the size is 3 on Easy, 4 on Medium, and 5 on Hard and Expert |

```text theme={null}
[EasySingle]
{
  0 = E ld_range_shift 0 1 3
  3072 = E ld_range_shift 0 3
}
```

Here Easy guitar uses green, red and yellow from tick 0, and yellow, blue and orange from tick 3072.

* **Required:** a position and size that end at orange or before: the position plus the size is no more than 6.
* **Required:** the parts separated by single spaces, and the numbers in digits without a sign, with no brackets or quotation marks around the text. The difficulty is the section's, and the position and size are each from 1 to 5. Range shifts go only in 5-fret sections.
* A range shift lasts from its tick until the next range shift of its section. Before the first one, all five frets are in range.
* **Recommended:** one range shift at most at a tick.

**Edge case:** of two range shifts at one tick, a scanner uses the later one in the file.

## Tracks

A section is a track only if it holds at least one note. [How notes resolve](/chart/note-resolution) says how a scanner turns a section's notes into the notes a player plays.

**Edge case: a section without notes.** A section with only modifiers, phrases or text events is allowed, for example while a charter copies phrases to every difficulty before charting its notes. It isn't a track: a scanner doesn't list it, and it gets no [hash](/hashes/btrack#which-tracks-have-one). scan-chart reports it as a warning.

## Ignored

* **An `N` value that the tables don't list** for the section's instrument, such as `N 8` in a 5-fret section.
* **A section with any other name.** Older games used names such as `ExpertSingleBass` and `ExpertDoubleDrums`.

## Invalid forms

<Accordion title="A range shift in another form, or with a value out of range">
  A scanner ignores it. That includes another spelling, letter case or spacing, square brackets, a sign before a number, and a size of 0. It also includes a difficulty other than the section's, a position or size outside 1 to 5, a position and size that add up to more than 6, and a range shift outside a 5-fret section. A range shift in quotation marks is read as one without them: see [Syntax](/chart/syntax#invalid-forms). scan-chart keeps the text, and writes it back.
</Accordion>

<Accordion title="Two notes of one value at one tick">
  A scanner uses the note with the longer sustain, as Clone Hero and scan-chart do. YARG uses the one written first. On guitar, it counts the two as a chord when it decides strums and HOPOs, so the note is a strum there unless a modifier changes it. When scan-chart saves an edited song, it removes a line written twice, and keeps notes of different lengths as written.
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.