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
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.
BPM:200INFO
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.
DISPBPM:INFO
Optional field, used to display a different BPM range in-game if needed.
SONG:8000000.oggINFO
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.
JACKET:Jacket.png
BACKGROUND:8000000.pngINFO
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.
VIDEO:
VIDEOOFFSET:INFO
Optional field, replaces the background image in-game.
Must be a .mp4, not sure of the size limitations yet.
OFFSET:0PREVIEW:0,0INFO
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
DIFFICULTY:5LABEL:INFO
Optional field, used to show a different difficulty name in-game.
LEVEL:WARNING
Required, can be any positive integer.
CHARTER:INFO
Optional field, used to display who made the chart in-game.
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.
#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