The .SSC file format

The .SSC file format is a new format created for StepMania 5. It is primarily designed to allow for split timing, a feature found in many of the Pump It Up games.

Its format is very similar to the .SM format: as such, refer to that page for many of the tags and details for the repeating ones.

Split Timing Nature

The way that split timing is handled right now is as follows.

Each song has a default timing provided for the entire song. This is very similar to how the .SM format is set up: there are just more tags available.

If an individual chart has any different timing for any tag, ALL tags are replaced in the individual step as appropriate.

Tags are as follows:

  • #BPMS:[beat number]=[BPM],[beat number]=[BPM],etc.; This represents the BPM segent, where the chart changes speed based on the music. There must ALWAYS be at least one BPM defined at beat 0.
  • #STOPS:[beat number]=[length of stop in seconds],etc.; This represnts the Stop segment, where the chart judges the row and then pauses for the length of time. This is similar to how Dance Dance Revolution handles pauses.
  • #DELAYS:[beat number]=[length of delay in seconds],etc.; This represents the Delay segment, where the chart pauses for the length of time before judging that row. This is similar to how Pump It Up originally handled pauses.
  • #WARPS:[beat number]=[beats to warp past],etc.; These represent Warp segments that allow for skipping beats of notes without them needing to be judged. More information can be found in the article.
  • #TIMESIGNATURES:[beat number]=[numerator]=[denominator],etc.; This is a helper timing tag for authors and players to know when the timing of a song changes. As a basic example, use this tag to indicate 3/4 time for Burning Heat, 5/4 for GO! Mahalo/E.K. Mix, or 7/8 7/4 4/4 for Holic. There must ALWAYS be at least one Time Signature defined at beat 0.
  • #TICKCOUNTS:[beat number]=[ticks per beat (int, quantized)],etc.; For the players that prefer holds to act more like Pump It Up, this tag gives players control over how often a judgment is generated during a hold. If the chart/theme/rules do not allow for tickcount style holds, this tag is ignored. There must ALWAYS be at least one Tickcount defined at beat 0.
  • #COMBOS:[beat number]=[combo gained on hit][=[combo "gained" on miss]],etc.; This tag was based on what may have been a misunderstanding of how Pump It Up's combo system worked for specified notes. With this, it is possible to have notes increase your shown combo (or miss combo) as appropriate. Defining the miss portion is optional: if not included, it is the same value as the hit. There must ALWAYS be at least one Combo defined at beat 0.
  • #SPEEDS:[beat number]=[field multiplier][=[duration until fully activated][=[(0 if beats, 1 if seconds)]]],etc.; The speed segments are designed to be similar to how Pump It Up handled bpm changes in the old days. Both the duration and boolean flag are optional, and default to 0 duration and beats automatically in that case. Use this tag with caution: if the duration is not set to be gradual, then the change may be too jarring for some charts and/or players. There must ALWAYS be at least one Speed defined at beat 0.
  • #SCROLLS:[beat number]=[field multiplier],etc.; Scroll segments can be seen as a combination of BPM, Stop, Delay, and Speed segments, while others use them more for effects. It behaves similar to the speed segments in terms of the field multiplier, but instead of there being a duration, the note field is already set up. There is no jarring effect: it is designed to look natural. There must ALWAYS be at least one Scroll defined at beat 0.
  • #LABELS:[beat number]=[String of text],etc.; Label segments are meant to act similar to Guitar Hero/Rock Band in providing context to a particular section of a chart and/or song. Unlike the other tags, each label must be unique. There must ALWAYS be at least one Label defined at beat 0.
  • #FAKES:[beat number]=[beats to not judge],etc.; Fake segments make a segment of notes unable to be judged or scored in any way. Unlike the warp segments, fakes scroll normally.

New Song Tags

  • #VERSION:...; Each SSC file is to have a version tag indicating what version the step file was created on. This way, changes can take place while maintaining compatibility.
  • #NOTEDATA:; The NoteData tag is discussed farther below.


HEY! Why don't you just get up and add information to this article man?

Thanks to (donated web hosting)