Skip to content
Andrew Alexeyew edited this page Jun 23, 2015 · 3 revisions

The main template is as follows (sample below):

  • song_name: UTF-8 encoding, currently works for latin and japanese alphabets (probably chinese too, to some degree)
  • difficulty: numeric 1-4 (1 being the lowest difficulty - easy)
  • rank_info: a list of rank items
  • song_info: a list of items (currently the game handles only 1 item)

Each rank item contains the following info:

  • rank: numeric id representing the rank 5-0 (5 being the lowest - no rank)
  • rank_max: max amount of points required to meet this rank

A song info item contains the following elements:

  • notes_speed: in seconds, this represents the time it takes the note to reach the tap zone since it appears on screen
  • notes: the list of notes of the beatmap

Each note contains the following information:

  • timing_sec: represents the time when this note should be tapped relative to the start of the song
  • effect: effect mask representing different possible effects (more info below).
  • effect_value: numeric value can be left blank except for holds
  • position: represents the circle which should be tapped (numbered from 1-9, with 1 being the rightmost circle)

Sample:

{
  "song_name": "SAMPLE NAME",
  "difficulty": 2,
  "rank_info": [
    {
      "rank": 5,
      "rank_max": 25775
    },
    {
      "rank": 4,
      "rank_max": 51551
    },
    {
      "rank": 3,
      "rank_max": 64439
    },
    {
      "rank": 2,
      "rank_max": 77327
    },
    {
      "rank": 1,
      "rank_max": 0
    }
  ],
  "song_info": [
    {
      "notes_speed": 1.3,
      "notes": [
        {
          "timing_sec": 3.043,
          "effect": 1,
          "effect_value": 2,
          "position": 9
        },
        {
          "timing_sec": 4.889,
          "effect": 1,
          "effect_value": 2,
          "position": 1
        },
        {
          "timing_sec": 6.736,
          "effect": 2,
          "effect_value": 2,
          "position": 7
        },
        {
          "timing_sec": 8.351,
          "effect": 1,
          "effect_value": 2,
          "position": 3
        }
      ]
    }
  ]
}
  • Effects:
Note Type Effect Mask Mask value in decimal Effect Value
Normal | 0b00000001 | 1 | 2
Filled | 0b00000010 | 2 | 2
Hold | 0b00000100 | 4 | time in seconds
Exclamation | 0b00001000 | 8 | 2 
Simult Start | 0b00010000 | 16 | 
Simult End | 0b00100000 | 32 | **not used**
  • Normal Example:

    { "timing_sec": 8.351, "effect": 1, "effect_value": 2 "position": 3 }

  • Filled Example:

    { "timing_sec": 8.351, "effect": 2, "effect_value": 2 "position": 3 }

  • Hold Example:

    { "timing_sec": 8.351, "effect": 4, "effect_value": 4.214 "position": 3 }

  • Exclamation Example:

    { "timing_sec": 8.351, "effect": 8, "effect_value": 2 "position": 3 }

  • Simultaneous (normals - 16+1/ filled 16+2 / holds 16+4 / exclamation 16 + 8):

    { "timing_sec": 31.698, "effect": 17, "effect_value": 2, "position": 6 }, { "timing_sec": 31.698, "effect": 17, "effect_value": 2, "position": 4 }

For more examples, please check the files under datafiles

Clone this wiki locally