Skip to content

Chart Format

This page features an in-depth guide on the game's preferred chart format. Other chart formats can be used, specifically .sm and .ppr, but .psf is highly preferred due to it being developed alongside PSFMania.
The following format is explained using a sample chart for the song "8000000" from pop'n music Lapistoria.

Metadata

md
TITLE:8000000
SUBTITLE:kors k / pop'n music Lapistoria
SUBTITLEJA:kors k 「pop'n music ラピストリア」より

INFO

TITLE and SUBTITLE can be translated into Japanese and/or Korean by adding JA or KR respectively to the end of TITLE or SUBTITLE.
If a TITLEJA is not present, but SUBTITLEJA is, the game displays the standard TITLE specified above, and vice versa for SUBTITLEs.

md
BPM:200

INFO

BPM must be a single value, as any changes must be specified in the charts themselves.
This is to allow for multiple difficulty levels to have different speed changes.

md
DISPBPM:

INFO

Optional field, used to display a different BPM range in-game if needed.

md
SONG:8000000.ogg

INFO

OGGs are highly recommended to reduce audio latency, however I assume WAV might work?
MP3 will also work but at the cost of a messed up offset.

md
JACKET:Jacket.png
BACKGROUND:8000000.png

INFO

PNG and JPG are supported, however PNG is highly recommended.
If a background is specified, this must be at least 640x480 in size.
Widescreen configurations will scale the background to fit the screen, and then show a bigger, blurred copy behind it.
However, if cover art is specified, they must be at least 100x100 in size.

md
VIDEO:
VIDEOOFFSET:

INFO

Optional field, replaces the background image in-game.
Must be a .mp4, not sure of the size limitations yet.

md
OFFSET:0
md
PREVIEW:0,0

INFO

The two values represent where the preview starts and ends.
The values can also be replaced by a filename (extension included) for the game to use a file as the preview audio instead.

Charts

INFO

Songs can have up to 6 difficulties in one .psf file, similar to .tja or .sm.
This example chart only has one to better explain all the different fields and functions.
Difficulty must be any of the following:
1/Easy
2/Normal
3/Hard
4/Hard4
5/SuperHard
6/Ultimate

md
DIFFICULTY:5
md
LABEL:

INFO

Optional field, used to show a different difficulty name in-game.

md
LEVEL:

WARNING

Required, can be any positive integer.

md
CHARTER:

INFO

Optional field, used to display who made the chart in-game.

md
ROLL:

INFO

Comma-separated values that specify the values of each roll in the chart.
This is required for any chart that has rolls in it.

WARNING

The following note types can be used:
0 - Empty (No note)
1 - Standard tap note
2 - Roll head
3 - Roll body
4 - Roll tail
Each set of numbers below corresponds to the lanes in-game.
The left-most digit corresponds to the left-most lane, etc.

md
#START
0000,
0000,
0000,
1000,
0000,
0000,
0100,
0000,
0000,
0010,
0000,
0000,
0001,
0000,
0000,
2000,
3000,
3000,
3000,
3000,
3000,
3000,
4000,
#BPM 400
#SCROLL 0.5
1000,
0000,
0000,
0000,
0000,
0000,
0000,
0000,
0000,
0000,
0100,
0000,
0000,
0000,
0000,
0000,
0000,
0000,
0000,
0000,
0010,
0000,
0000,
0000,
0000,
0000,
0000,
0000,
0000,
0000,
0001,
0000,
0000,
0000,
0000,
0000,
0000,
0000,
0000,
0000,
#END