> ## 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.

# Charting guidelines

> How to make a chart that plays well and is easy to share: its audio and art, its timing, its difficulties, its notes and its phrases.

These guidelines say how to make a chart that plays well and is easy to share. Each one is a recommendation: a song that misses one is still valid. They add to the reference pages, which give what a song folder holds and the **Recommended** form of each file: [Files in a song folder](/song-folders), [.sng files](/sng), the `.chart` and `.mid` pages, and the song.ini pages, [Metadata](/ini/metadata) and [Settings](/ini/settings). Follow those too.

A chart that follows these guidelines starts like this:

```text theme={null}
[Song]
{
  Resolution = 192
}
[SyncTrack]
{
  0 = TS 4
  0 = B 140000
}
[Events]
{
  0 = E "section Intro"
  1536 = E "section Verse 1"
}
[ExpertSingle]
{
  1536 = N 0 352
  1536 = S 2 768
  1920 = N 1 0
  2112 = N 2 0
}
```

The first note comes two measures in, about 3.4 seconds after the start of the audio. Its sustain ends 32 ticks, about 71 milliseconds, before the next note.

## Files

* Share a finished song as a `.sng` file, which holds the whole folder in one file: see [.sng files](/sng). SngCli packs song folders into `.sng` files, and can convert their audio to Opus.
* Before sharing a song folder, remove the files no game reads, such as alternate album art, charter icons, backups, editor projects and `ch.dat`: see [Files in a song folder](/song-folders#files). Make a `.zip` file without the `__MACOSX` folder that the archive tool built into macOS adds.
* Chorus Encore scans a song only up to 3 GB. A song with a background video, or a chart pack, can be larger: also share a version without the video.

## Audio

* Audio from the best source available, such as a purchased download or a CD. Audio taken from a video site sounds noticeably worse. In a spectrogram, such as Spek's, good audio reaches about 19 to 20 kHz.
* The audio starts with enough silence for the first note: see [Leading silence](#leading-silence).

## Album art

For extremely explicit album art, use another cover of the album, or a censored version.

## Timing

### Tempo map and sync

A chart is tempo-mapped, and in sync with its audio: its tempo markers put the chart's beats where the song's beats are, so that notes placed on the beat line up with the music. A chart without tempo markers plays at 120 BPM: see [The start of the chart](/chart/sync-track#the-start-of-the-chart).

Each time signature comes at the start of a measure, counting measures from the time signature before it.

### Leading silence

The chart's first note comes at least 2 seconds after the start of the audio, or two measures after it if that's sooner. When the notes start earlier, add silence to the start of the audio file, in an audio editor such as Audacity, and keep the chart in sync with it.

* The first note is the first note of any track, vocals included.
* The two measures are at the chart's first tempo and time signature: `2 × numerator × 4 ÷ denominator` beats. In 4/4, they're shorter than 2 seconds only above 240 BPM.
* The start of the audio is the chart's tick 0. Line the notes up with the audio through the tempo map and the leading silence, not with `Offset` or `delay`: see [\[Song\]](/chart/song#deprecated) and [Settings](/ini/settings#deprecated).

## Difficulties

### Expert

Each instrument the chart has includes an Expert difficulty.

### Lower difficulties

Each lower difficulty is reduced from the one above it, with fewer and simpler notes, so that a player can learn the song one step at a time.

* On 5-fret guitar, Easy uses green, red and yellow. Medium adds blue, without a green and blue chord. Hard adds orange, without a green and orange chord.
* On drums, Easy has no kick together with two pads. Only Expert has [double kicks](/chart/drums#double-kicks).

## Note placement

Notes are placed accurately, by their timing and their relative pitch. This is one of the most important parts of a chart, and the most subjective. Good note placement balances accuracy, playability and readability: many choices are plainly wrong, but the best way to chart a passage is often a matter of judgment. It takes practice to learn. The Charting section of the CSC website, the #charting-discussion channel of the Clone Hero Discord server, and the charts of experienced charters show how it's done.

## Sustains

### Sustain gaps

When a sustain ends, the next note starts at least 60 milliseconds later. Where a sustain is cut short to make room for the next note, the gap is 70 to 85 milliseconds.

* The next note is the next note on any lane of the track.
* No game reads the gap: it's a convention for playing comfortably.
* Moonscraper can leave the gap. Its Sustain Gap setting, off by default, shortens each sustain to end the gap before the next note. It measures the gap in ticks, a 1/16 note by default, or in milliseconds.

### Short sustains

A sustain is at least 200 milliseconds long, as a scanner reads it, after the [sustain cutoff](/chart/note-resolution#cut-off-short-sustains). Neither game has a minimum in milliseconds.

## Phrases and events

### Practice sections

Practice sections where they fit the song, such as one for each verse, chorus and solo: see [Practice sections](/chart/events#practice-sections).

### Star power

Star power where it fits. A drums track doesn't need it. See [Star power](/chart/phrases#star-power).

### Solos

Solo sections where they fit: see [Solos](/chart/phrases#solos).

### Drum fills

A drums track with star power has drum fills, which mark where the player can activate it: see [Drum fills](/chart/phrases#drum-fills).

### The end of the song

When the audio runs on long after the last note, such as a long fade-out, an `end` event ends the song there, and shows the results sooner: see [The end of the song](/chart/events#the-end-of-the-song).


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