This is an unofficial compilation and commentation of the TJA format & its related formats.
This article aims at providing a comprehensive enough overview & possible etymologies and addressing undocumented corner cases.
This article is still in construction and will be updated at times. It’s recommended to check its change history regularly.
Also see TODO for known issues and planned changes of this article.
This article also contains tentative proposals by the main maintainer (@IepIweidieng) of this article. These proposals are explicitly expressed to be Proposals and are subject to changes.
See Terminologies for the explanation and conventions of some terminologies used in this article.
When there exist multiple equivalent usages accepted by the simulators, the conventional ones are represented in bold.
Known notechart formats used in 太 鼓 の 達 人 games and simulators:
Extension | Full Name | Content | Supported by | Specification |
---|---|---|---|---|
.bin |
Binary (譜 面 Notechart File Format) | Notechart metadata + definition (binary file) | Official games, taiko-web (plugin “Fumen File Format”) | Proprietary format, not explained in this article. |
.tjf |
Tatsujin 譜 面 Notechart Data (?) | Notechart metadata + definition | Taikosan, TaikoJiro 1 | |
.tja |
Tatsujin Notechart Format A(?) (?) | Notechart metadata + definition | TaikoJiro, TJAPlayer2 for.PC, taiko-web ver.18.10.11, OutFox v0.4.9.9, TaikoManyGimmicks | |
.tjc |
Tatsujin Course (?) | Notechart set metadata | TaikoJiro v2.34, TaikoJiro 2 v0.98 | |
.osu |
osu! Beatmap | Notechart metadata + definition | osu!, taiko-web | See https://osu.ppy.sh/wiki/en/Client/File_formats |
.osz |
osu! Beatmap Archive (“Zipped”) | Notechart metadata + definition + resources (compressed binary file) | osu! | See https://osu.ppy.sh/wiki/en/Client/File_formats |
.tci |
Open Taiko Chart Information | Notechart metadata (JSON) | Koioto (plugin “OpenTaikoChart”), TJAPlayer3-f v1.6.0.1 | See https://github.com/AioiLight/Open-Taiko-Chart |
.tcc |
Open Taiko Chart Course | Notechart definition (JSON) | Koioto (plugin “OpenTaikoChart”), TJAPlayer3-f v1.6.0.1 | See https://github.com/AioiLight/Open-Taiko-Chart |
.tcm |
Open Taiko Chart Medley | Notechart set metadata (JSON) | TJAPlayer3-f v1.6.0.1 | See https://github.com/AioiLight/Open-Taiko-Chart |
.tmg |
TaikoManyGimmicks | Notechart metadata + definition | TaikoManyGimmicks v0.6.1α | The plaintext form is similar to .tja but has some syntax differences (explained right below). |
The TMG format (.tmg
) has plaintext and binary form, where the plaintext form is similar to the TJA format (.tja
) and has the following features:
()
around the whole argument list, even if no arguments are specified. TMG commands are written in the format of #COMMAND(expressions, ...)
.number
-typed and complex-ri-number
–typed argument for commands.str
-typed argument, #
(preserved after substitution) needed to be prepended for applying substitution (?).Excluding .bin
& .osz
, all the formats listed above are text-based and can be edited with any text editor.
The TJA format (.tja
, first used in TaikoJiro) was modified and extended from the much simpler TJF format (.tjf
, first used in Taikosan), both share similarities with the .bms
(Be-Music Script, not BeatMania Score) format and its derivations, especially the .dtx
(DTXMania) format.
The etymology of both .tjf
& .tja
were unexplained.
tj
originally did NOT refer to 太 鼓 さ ん 次 郎 TaikoJiro since it has already appeared in .tjf
, which is already used in 太 鼓 さ ん 太 郎 Taikosan.tj
could refer to (太 鼓 の) 達 人, the official game series. .ttf
might be one of the intended file extension but was not usable because it had already been used for TrueType font files.f
in .tjf
probably means 譜 面 デー タ notechart data, according to the notechart file selection dialog of Taikosan. a
could just be the alphabet numbering, could instead mean “advanced” (refers to 次 “next”), “add” (refers to + “plus”), etc., or could even instead mean 譜 面 デー タ notechart data as the f
in .tjf
.Thus, .tja
possibly means (太 鼓 の) 達 人 (simulator) 譜 面 デー タ “(Taiko no) Tatsujin (Simulator) Notechart Format A”.
The specification and behavior of TJA in TaikoJiro (active in 2008–2013) was often considered the standard for many years.
However, many extensions after are developed and adopted after TaikoJiro, especially since TJAPlayer2 for.PC, and there lacks a cross-simulator standard.
Since around 2022, OpenTaiko (0auBSQ) and Project OutFox have started to collaborate on a new cross-simulator standardization, which is referred to as “OpenTaiko-OutFox standard” in this article.
For OpenTaiko (0auBSQ) and Project OutFox, the per-simulator behaviors are documented, but their behaviors will be unified through their development. Any new-found discrepancies of these simulators from the OpenTaiko-OutFox standard will be soon consolidated and reported to the relevant project.
The mostly used character encoding for legacy TJA files is Shift-JIS.
However, the actual encoding depended on the system setting and can potentially be any non–UTF-8 encoding, including:
UTF-8 (with BOM or not) is often used for modern TJA files.
Lines are separated (may be unterminated) by either LF (\n
) or CR+LF (\r\n
) (see Terminologies for further explanation).
Lines containing only whitespaces or nothing at all are ignored.
Except when preceded by a text
value, //
starts a comment which ends at the end of the line and is ignored along with the //
.
Except when preceded by a text
value, line-final whitespaces (after ignoring comments) are ignored.
text
value is ignored.
Line-initial whitespaces are allowed and ignored only within the notechart definition enclosed between #START
& #END
(excluding themselves).
Except when within a string
value and around a text
value, consecutive whitespaces within a line is treated as a single space.
For multiple values separated by comma (,
), except for text
-valued fields, optional whitespaces can occur before and/or after the comma.
number
: A real number. number
indicates that it is unspecified whether a number with a fraction part is allowed. Unspecified: The supported upper limit & lower limit of the numeric range, unless otherwise specified.
int
: An integer number in decimal, e.g., 0
/ +10
/ -012
float
: A real number in decimal which can either be an integer or have the fraction part, e.g., 0
/ +.3
/ -1.
,
) can be used as the decimal point instead of a full-stop (.
).+inf
for positive infinity (+∞) & -inf
for negative infinity (−∞).enum-int
(enum-like, int-form): An int
with specific accepted values.+
) may appear for a non-negative or positive value, unless the type is indicated as unsigned-
.complex-ri-number
: A complex number in the form of a real number, an imaginary number, or both added together. complex-ri-number
indicates that it is unspecified whether a number with a fraction part is allowed for any of the real and imaginary components.
complex-ri-float
: A complex number where each of the real and imaginary components can either be an integer or have the fraction part, e.g., 1
/ i
/ .3+.3i
.<number-real>
, a pure real number where the real component is <number-real>
.<optional-sign-imaginary><unsigned-number-imaginary-specifier>
, a pure imaginary number where the imaginary component has the sign of <optional-sign-imaginary>
(defaults to +
) and the absolute value specified by <unsigned-number-imaginary-specifier>
.<number-real><sign-imaginary><unsigned-number-imaginary-specifier>
, a general complex number where the real component is <number-real>
and the imaginary component has the sign of <sign-imaginary>
and the absolute value specified by <unsigned-number-imaginary-specifier>
.<unsigned-number-imaginary-specifier>
can be one of:
i
, the imaginary component has the absolute value of 1.<unsigned-number-imaginary>i
, the imaginary component has the absolute value of <unsigned-float-imaginary>
.j
can be used in place of i
.string
: A string. string
indicates that it is unspecified whether leading or trailing non-newline whitespaces are significant. Unspecified: The maximum supported length.
text
: A string. Can contain leading or trailing non-newline whitespaces & comments.str
: A string. Leading and trailing new-newline whitespaces & comments are ignored.,
) in string
MUST be escaped as \,
(while \
itself requires no escaping).str-enum
(enum-like, string-form): A str
with specific accepted values. Can be spelt in a form of one of Value
/ VALUE
/ value
. Unspecified: Whether other spellings can be used.
V
is also accepted).Vsomething
/ valuesomething
are also accepted)beats
<float-upper-numeral>/<unsigned-float-lower-numeral><enum-str-delay-type>
<float-upper-numeral>
times of a 1/unsigned-float-lower-numeral
-th note.Formula: Amount of beats = 4 ×
upper
/lower
#MEASURE
.<enum-str-delay-type>
can be one of:
-
, the time duration does not contain the #DELAY
command(s) at the end of beat duration interval (if any).+
, the time duration contains the #DELAY
command(s) at the end of beat duration interval (if any).d
, the specified beat duration includes beats which would otherwise pass during all #DELAY
commands.relative-number
: Can be used as a number
for a real number or the leading part of a compound number value. The specified value (include all numeric parts for a compound number value) is relative to a value equivalent to the last defined value. Unspecified: The behavior when being used as an enum-int
.
<relative-specifier><number>
, the value modified relative to a value equivalent to the last defined value=
, a value equivalent to the last defined value<relative-specifier>
can be one of:
+=
, relatively increased.-=
, relatively decreased.*=
, relatively multiplied./=
, relatively divided. The behavior is unspecified when <number>
is 0.TJA header are written in the format of HEADER:values
.
Each header MUST be placed on its own line.
The HEADER:
part MUST be written in an all-upper-case manner and MUST NOT contain whitespaces in-between. No leading non-newline whitespaces are allowed.
Headers with an unrecognized HEADER:
name are ignored.
If the values
part is omitted, the default value is used, which can be used for resetting previously used headers from other difficulties or player sides to their default value.
For non-string values, whitespaces can immediately occur after :
, e.g., LEVEL: 8
.
For headers placed outside any notechart definition enclosed between #START
& #END
, the effect of each header continues until the next occurrence of the same header or the end of the file, regardless of whether it is per-file or per–player-side.
Some headers are allowed to be placed in a notechart definition enclosed between #START
& #END
(e.g., the EXAM headers) and such usage is listed in their scope. Headers placed in a notechart definition are effectively commands.
Scope: per-file
Specify the title of the song.
TITLE:<str-title>
TITLE<enum-str-lang>:<str-title-localized>
— taiko-web ver.19.03.10, OpenTaiko (0auBSQ) v0.5.1
<enum-str-lang>
is an IETF BCP 47 language or region tag (see https://en.wikipedia.org/wiki/IETF_language_tag) and can be one of:
EN
, EnglishJA
, Japanese — taiko-web, OpenTaiko (0auBSQ) v0.6.0+JP
, Japanese (region tag) — OpenTaiko (0auBSQ) before v0.6.0FR
, Français French — OpenTaiko (0auBSQ)ES
, Español Spanish — OpenTaiko (0auBSQ) v0.5.1.1ZH
, 简 体 中 文 Simplified Chinese — OpenTaiko (0auBSQ) v0.5.3CN
, Simplified Chinese (mainland China) (region tag) — taiko-webTW
, Traditional Chinese (臺 灣/台 灣) (region tag) — taiko-webNL
, Nederlands Dutch — OpenTaiko (0auBSQ) v0.6.0KO
, Korean — taiko-web, OpenTaiko (0auBSQ) v0.6.0First seen in: TJF format
Supported by: (Universally supported)
Scope: per-file
Specify the subtitle (not of the meaning of caption) of the song (could be artist, game series, etc.).
The display details are unspecified.
SUBTITLE:<str-subtitle>
<str-subtitle>
can be one of:
--<str-displayed-subtitle>
--
prefix needs to be prepended to the displayed subtitle when the subtitle already begins with --
.++<str-displayed-subtitle>
— TaikoJiro, TJAPlayer2 for.PC, taiko-web ver.19.03.10 / <str-displayed-subtitle>
— TaikoJiro, TJAPlayer2 for.PC ver.2021xxxxxx, TJAPlayer3-f v1.7.2.0, OpenTaiko (0auBSQ) v0.6.0, taiko-web
++
prefix needs to be prepended to the displayed subtitle when the subtitle begins with either ++
or --
.SUBTITLE<enum-str-lang>:<str-displayed-subtitle-localized>
— taiko-web ver.19.03.10, OpenTaiko (0auBSQ) v0.5.1
++
/--
) is instead specified by the SUBTITLE:
header.<enum-str-lang>
can be one of the possible <enum-str-lang>
for the TITLE<enum-str-lang>:
header.First seen in: TaikoJiro v2.64
Supported by: (Universally supported)
Scope: per-file
Specify the creator (“maker”) of the notechart.
The display details are unspecified.
MAKER:<string-name-notechart-creator>
MAKER:<string-name-notechart-creator> <string-notechart-creator-web-url>
<string-notechart-creator-web-url>
is immediately enclosed by a pair of angle brackets (<
& >
).First seen in: taiko-web ver.19.11.25
Supported by: OpenTaiko (0auBSQ) v0.6.0
Scope: per–player-side (?)
Specify the creator (“designer”) of the notechart (“notes”).
The display details are unspecified.
NOTESDESIGNER<enum-int-difficulty-course>:<string-name-notechart-creator>
— (Better)TaikoCatsCaffe (?), OpenTaiko (0auBSQ) v0.6.0
<enum-int-difficulty-course>
can one of the integer argument to the COURSE:
header.<enum-int-difficulty-course>
is different from the difficulty specified by COURSE:
for the notechart definition.NOTESDESIGNER:<string-name-notechart-creator>
— OpenTaiko (0auBSQ) v0.6.0First seen in: (Better)TaikoCatsCaffe (?)
Supported by: OpenTaiko (0auBSQ) v0.6.0
Scope: per-file
Specify the genre of the song.
The display details are unspecified.
GENRE:<str-genre>
<str-genre>
and their aliases.J-POP
アニメ
(Anime) “Animation”ボーカロイド
(Bookaroido) / VOCALOID
どうよう
(童 謡) “Child’s Song”バラエティ
(Baraeti) “Variety”クラシック
(Kurashikku) “Classic”ゲームミュージック
(Geemu Myuujikku) “Game Music”ナムコオリジナル
(Namuko Orijinaru) “Namco Original”First seen in: TJAPlayer2 for.PC
Supported by: taiko-web ver.19.01.06
Scope: per-file
Specify whether the corresponding song entry is displayed, regarding the 裏 譜 面 状 態 “inner notechart state/mode” (“裏 inner or 表 outer side”) of the song selection screen.
Unspecified: Whether and how inner mode is implemented.
Proposal: Make the scope per–player-side.
SIDE:1
/ SIDE:Normal
/ SIDE:normal
SIDE:2
/ SIDE:Ex
/ SIDE:ex
SIDE:3
/ SIDE:Both
/ SIDE:both
/ SIDE:
First seen in: TaikoJiro v2.49
Supported by: OpenTaiko (0auBSQ) v0.6.0
SIDE:
has per-file scope and notechart definitions for SIDE:Normal
& SIDE:Ex
should be separated into 2 files and for SIDE:Both
should be duplicated into these 2 files.
SIDE:
has per–player-side scope.SIDE:
has been re-purposed to be used in conjunction with COURSE:Tower
to specify the actual difficulty in the tower mode and can be one of:
SIDE:Normal
, the 甘 口 “easy” difficulty.SIDE:Ex
/ SIDE:
/ any other unrecognized argument, the 辛 口 “hard” difficulty.Scope: per-file
Specify the filename of the 裏 譜 面 “inner notechart” or 表 譜 面 “outer notechart” version (“the reverse side”) of this notechart file.
SIDEREV:<string-filename-tja-inner-or-outer>
SIDE:Normal
is used, specify the filename of the inner notechart.SIDE:Ex
is used, specify the filename of the outer notechart.SIDE:Both
is used, the behavior is unspecified.First seen in: TaikoJiro 2 v0.70
Scope: per-file
Specify the audio file (“waveform audio file”) of the song.
Unspecified: The exact list of supported file extensions.
Unspecified: Whether the notechart ends at the end of the audio file playback (if the audio file exist).
WAVE:<string-filepath-song-audio-file>
<string-filepath-song-audio-file>
has a file extension of one of, e.g.:
.wav
— TaikoJiro.ogg
— TaikoJiro, TJAPlayer2 for.PC.mp3
— TaikoJiro 1 with lame.exe
WAVE:
First seen in: TJF format
Supported by: (Universally supported)
Scope: per-file
Specify the amount of seconds into the song audio for starting playing the preview (“demonstration”) audio in the song selection screen.
DEMOSTART:<non-negative-float-seconds-preview-audio-offset>
DEMOSTART:0
/ DEMOSTART:
First seen in: TaikoJiro v2.37
Supported by: (Universally supported)
Scope: per–player-side (?)
Specify the amount of seconds past (“offsetted”) from the time position of #START
of the notechart which the song audio should start playing from the beginning.
Equation: offset
= time-point-of-audio-beginning
− time-point-of-chart-start
(Unit: Seconds)
OFFSET:<float-seconds-offset>
OFFSET:0
/ OFFSET:
Replaced the TJF command #GOMUSIC
(starting (“go”) playing the song audio (“music”) from this point).
First seen in: TaikoJiro
Supported by: (Universally supported)
Scope: per-file
Specify the relative amplitude percentage (%) of the desired volume gain of the song audio.
SONGVOL:<non-negative-number-percent-amplitude-gain>
SONGVOL:
First seen in: TaikoJiro v1.66
Supported by: TaikoJiro 2, TJAPlayer3 v1.5.2
Scope: per–player-side (?)
Specify the relative amplitude percentage (%) of the desired volume gain of the taiko sound (“sound effect”).
Unspecified: Whether the volume of system voice is affected.
SEVOL:<non-negative-number-percent-amplitude-gain>
SEVOL:
First seen in: TaikoJiro v1.66
Supported by: TaikoJiro 2
Scope: per–player-side
Specify the initial BPM (beat per minute) of the notechart.
BPM:<non-zero-float-initial-bpm>
— (Universally supported)BPM:0
BPM:
BPM:120
.First seen in: TJF format
Supported by: (Universally supported)
Scope: per–player-side, gimmicky
Specify the normal scrolling velocity (before and non-after the beginning (“head”) of the notechart), relative to the base scrolling velocity.
HEADSCROLL:<float-normal-scroll-velocity>
HEADSCROLL:0
First seen in: TJAPlayer2 for.PC
Scope: per–player-side (?), decorative
Specify the jacket (“preview”) image of the song.
PREIMAGE:<string-filepath-background-image>
PREIMAGE:
First seen in: OpenTaiko (0auBSQ) v0.5.4
Scope: per-file, decorative
Specify the skin in the gameplay screen for taiko-web.
Unspecified: The behavior in other simulators.
TAIKOWEBSKIN:<comma-separated-list-string-key-value>
Each element of <comma-separated-list-string-key-value>
can be one of:
dir <string-dirpath-skin>
<string-dirpath-skin>
defaults to (empty).name <str-skin-variation>
<text-suffix-skin-variation>
to be _<str-skin-variation>
if not empty or to be (empty) if empty.<str-skin-variation>
defaults to (empty).<enum-str-element> <enum-str-type>
, at least 1 element is required
<enum-str-element>
can be one of:
song
, the dancer background (“song” background) of the lower playback screen for single player.stage
, the horizontally repeating dancer floor (“stage”) of the lower playback screen for single player.don
, the horizontally repeating and scrolling background behind the player character (“ど ん ちゃ ん”).<enum-str-type>
can be one of:
none
, blankstatic
, a still image, requires bg_<str-element><text-suffix-skin-variation>.<text-file-extension>
to exist<enum-str-animation-type>
, animated image with pre-defined animation type, requires both bg_<str-element><text-suffix-skin-variation>_a.<text-file-extension>
& bg_<str-element><text-suffix-skin-variation>_b.<text-file-extension>
to exist.
<str-element>
is stage
.First seen in: taiko-web ver.19.02.03
Scope: per–player-side (?), decorative
Specify the pre-defined (“preset”) skin (“scene”) in the gameplay screen.
SCENEPRESET:<string-filepath-scene-preset>
SCENEPRESET:
First seen in: OpenTaiko (0auBSQ) v0.6.0
Scope: per–player-side (?), decorative
Specify the dedicated tower skin (“type”) to use.
Used in conjunction with COURSE:Tower
.
TOWERTYPE:<non-negative-int-tower-skin>
TOWERTYPE:0
/ TOWERTYPE:
First seen in: OpenTaiko (0auBSQ) v0.5.0
Scope: per-file, decorative
Specify the dedicated 段 位 認 定 モー ド “Rank Certification Mode” skin (コ ス メ チッ ク “cosmetic” (?)) to use in the certification challenge selection screen.
段 位 認 定 モー ド “Rank Certification Mode” resembles 段 位 道 場 “Rank Dojo”/Dan-i Dojo in the official games.
Used in conjunction with COURSE:Dan
.
DANTICK:<enum-int-dan-tick-skin>
0
: For ranks below the 初 級 “first level” rank1
: Blue ranks2
: Red ranks3
: Silver ranks, for ? 人 ranks4
: Gold ranks, also for ? 人 ranks5
: For 段 位 道 場 外 伝 Bonus Dojo ranks
DANTICK:0
/ DANTICK:
First seen in: OpenTaiko (0auBSQ) v0.5.1
Scope: per-file, decorative
Specify the color filter to apply to the 段 位 認 定 モー ド “Rank Certification Mode” skin (コ ス メ チッ ク “cosmetic” (?)) objects in the certification challenge selection screen.
段 位 認 定 モー ド “Rank Certification Mode” resembles 段 位 道 場 “Rank Dojo”/Dan-i Dojo in the official games.
Used in conjunction with COURSE:Dan
.
DANTICKCOLOR:<str-color-filter>
<str-color-filter>
can be one of:
#<string-6-digit-24bit-rgb>
#<string-3-digit-12bit-rgb>
<enum-str-html-color-name>
DANTICKCOLOR:#FFFFFF
/ DANTICKCOLOR:
First seen in: OpenTaiko (0auBSQ) v0.5.1
Scope: per–player-side (?), decorative
Specify the background image of the song selection screen. Override the skin settings.
SELECTBG:<string-filepath-selection-background-image>
SELECTBG:
First seen in: OpenTaiko (0auBSQ) v0.6.0
Scope: per–player-side (?), decorative
Specify the background image of the gameplay screen. Override the skin settings.
Unspecified: Whether the image is scaled or stretched to fill the gameplay screen.
BGIMAGE:<string-filepath-background-image>
BGIMAGE:
First seen in: TJAPlayer2 for.PC ver.2016021300
Scope: per–player-side (?), decorative
Specify the amount of seconds past (“offsetted”) from the time position specified by the OFFSET:
header which the background image (“image”) should start displaying.
Equation: bgoffset
= time-point-of-image-displaying
− time-point-of-audio-beginning
(Unit: Seconds)
BGOFFSET:<float-seconds-offset>
BGOFFSET:0
/ BGOFFSET:
First seen in: ?
Reference: TJA Format Support (vscode extension)
Scope: per–player-side (?), decorative
Specify the background video (“movie”) of the gameplay screen. Override the skin settings.
Unspecified: Whether the video is scaled or stretched to fill the gameplay screen.
BGMOVIE:<string-filepath-background-video>
BGMOVIE:
First seen in: TJAPlayer2 for.PC ver.2016021300
Scope: per–player-side (?), decorative
Specify the amount of seconds past (“offsetted”) from the time position specified by the OFFSET:
header which the background video (“movie”) should start playing from the beginning.
Equation: movieoffset
= time-point-of-video-beginning
− time-point-of-audio-beginning
(Unit: Seconds)
MOVIEOFFSET:<positive-float-seconds-offset>
MOVIEOFFSET:0
/ MOVIEOFFSET:
First seen in: TJAPlayer2 for.PC ver.2015081100
#START
of the notechart.
movieoffset_f
= time-point-of-video-beginning
− time-point-of-chart-start
(Unit: Seconds)Scope: per–player-side (?), decorative
Specify a background video (“animation”) to be used in the gameplay screen by the #BGAON
and #BGAOFF
commands.
Unspecified: Whether the video is scaled or stretched to fill the gameplay screen.
Not reset by BGA:
itself.
BGA:<string-filepath-background-video>
BGA:
First seen in: OpenTaiko (0auBSQ) v0.6.0
<string-filepath-background-animation>
must start with <unsigned-int-video-index>
, which must be exactly 2 decimal digits (with 0
prefixed if necessary) and is used to specify the background animation by the #BGAON
and #BGAOFF
commands.Scope: per-file, decorative
Specify the lyric file(s) for the song to display lyrics in the playback screen.
Unspecified: The effective lyric file(s) when both the LYRICS:
& LYRICFILE:
headers are used.
Unspecified: Whether #LYRIC
commands are ignored if the lyric file is used.
LYRICS:<string-filepath-lyric-file>
— taiko-web, OpenTaiko (0auBSQ) v0.6.0 / LYRICFILE:<string-filepath-lyric-file>
— TJAPlayer3-Develop-ReWrite, TJAPlayer3-f v1.6.0.0
<string-filepath-lyric-file>
has a file extension of one of, e.g.:
.vtt
, WebVTT, see https://en.wikipedia.org/wiki/WebVTT — taiko-web, OpenTaiko (0auBSQ) v0.6.0 (only for the LYRICS:
header).lrc
, LRC, see https://en.wikipedia.org/wiki/LRC_(file_format) — TJAPlayer3-Develop-ReWrite, TJAPlayer3-f v1.6.0.0,
) in <string-filepath-lyric-file>
MUST be escaped as \,
LYRICS:<comma-separated-list-string-filepath-lyric-file>
— OpenTaiko (0auBSQ) v0.6.0 / LYRICFILE:<comma-separated-list-string-filepath-lyric-file>
— TJAPlayer3-f v1.6.0.0, OpenTaiko (0auBSQ) v0.6.0
#NEXTSONG
command.COURSE:Dan
.,
) in the filepath specified in <comma-separated-list-string-filepath-lyric-file>
MUST be escaped as \,
LYRICS:
/ LYRICFILE:
#LYRIC
commands (if any).First seen in: taiko-web ver.20.03.31, TJAPlayer3-Develop-ReWrite
Supported by: TJAPlayer3-f v1.6.0.0, OpenTaiko (0auBSQ) v0.6.0
#LYRIC
commands are ignored.Scope: per-file, decorative
If enabled, specify that the song has explicit (of the meaning of not safe for work (NSFW)) lyrics.
The display details are unspecified.
EXPLICIT:1
EXPLICIT:0
/ EXPLICIT:
First seen in: OpenTaiko (0auBSQ) v0.6.0
Scope: per–player-side (?)
Specify the game mode. The meaning of the symbols used in the notechart definition is changed accordingly; see TJA Notechart Definition.
Unspecified: The implemented game modes other than Taiko mode.
See the #GAMETYPE
command for specifying the game mode for specific notechart sections.
GAME:Taiko
/ GAME:
GAME:Jube
— TaikoJiro 1
GAME:Konga
/ GAME:Bongo
— taiko-web (plugin “Donkey Konga Mode”)
First seen in: TaikoJiro v2.13
Supported by: taiko-web (plugin “Donkey Konga Mode”)
GAME:Jube
was unimplemented and was autoplay-only.Scope: per–player-side
Specify the コー ス “course”/む ず か し い “difficulty”/難 易 度 “difficulty (or easiness) level” difficulty/difficulty level (“course”).
Not to be confused with the difficulty star specified by the LEVEL:
header.
“Course” in other rhythm games usually refers to playing multiple songs in a row. In early arcade console versions of the official game series, the player could only play a fixed difficulty during the ク レ(ジッ ト) “credit”/game session. “<difficulty>
コー ス” (“<difficulty>
course”) was displayed in those official games.
Depending on the simulator, the COURSE:
header may affect the judgment window, default scoring, the default increasing rate of the 魂 ゲージ spirit gauge/soul gauge, etc.
COURSE:0
/ COURSE:Easy
/ COURSE:easy
COURSE:1
/ COURSE:Normal
/ COURSE:normal
COURSE:2
/ COURSE:Hard
/ COURSE:hard
COURSE:3
/ COURSE:Oni
/ COURSE:oni
SCOREMODE:0
). This difficulty was always named 鬼/お に Oni in the PS2 console games but the same scoring rule still applied.COURSE:4
/ COURSE:Edit
/ COURSE:edit
COURSE:Ura
/ COURSE:ura
— taiko-web
COURSE:Edit
COURSE:5
/ COURSE:Tower
/ COURSE:tower
— TaikoJiro v1.79
LIFE:
header can be used in conjunction.COURSE:
header.COURSE:6
/ COURSE:Dan
/ COURSE:dan
— TJAPlayer3 v1.5.0
COURSE:
COURSE:Oni
First seen in: TaikoJiro v1.76
Supported by: (Universally supported)
COURSE:Tower
and its equivalent commands cause unintended behaviors. (?; deduced from source code)
Scope: per–player-side
Specify the 難 易 度 “difficulty (or easiness) level“/difficulty star/? (“level”).
Since the Japanese terminology is easily confused with the fore-mentioned “difficulty” specified by the COURSE:
header, the difficulty star is often referred as 星 の 数/★ の 数 “amount of stars” and is displayed as “★×n” in the official PC-generation arcade games.
Depending on the simulator and/or user settings, the LEVEL:
header may affect the default scoring, the default increasing rate of the 魂 ゲージ spirit gauge/soul gauge, etc.
LEVEL:<positive-int-difficulty-star>
— (Universally supported)
LEVEL:0
LEVEL:
LEVEL:0
.LEVEL:<non-negative-float-difficulty-star>
— TaikoJiro v2.78
First seen in: TJF format
Supported by: (Universally supported)
LEVEL:
header is per-difficulty instead of per–player-side. Each per-difficulty scope starts or resumes at COURSE:
headers specifying the target difficulty and ends at another COURSE:
header specifying a different difficulty.
LEVEL:
for the deceptive difficulty star after all notechart definitions in the per-difficulty scope.LEVEL:
header is defined before any COURSE:
headers with difficulty specified, the specified difficulty star instead of 0 stars will be used as the default difficulty star.LEVEL:
header is defined before any COURSE:
headers with value, the specified difficulty star become the difficulty star for the お に Oni/Extreme difficulty, even if no notecharts are defined for the Oni/Extreme difficulty.Scope: per–player-side
Specify the total amount of player-sides of the notechart(s).
The multiple-player-side notecharts of the difficulty is chosen if enough amount of players have chosen the same difficulty.
In the official games, some difficulties may have only 2-player-side notecharts but are still playable in single player mode, where the notechart for one of the player-side is chosen (always the 1st player-side in PC-generation games).
Unspecified: Whether such notecharts are chosen when some players have chosen different difficulties.
If the specified amount of player-sides is not 1, #START <enum-str-player-side>
should be used for specifying the player-side of the notechart.
STYLE:1
/ STYLE:Single
/ STYLE:single
/ STYLE:
STYLE:2
/ STYLE:Double
/ STYLE:double
/ STYLE:Couple
/ STYLE:couple
STYLE:<positive-int-amount-of-player-sides>
Reference: ダブルプレイ (“Double Play”; “Two-player Charts”). 太鼓の達人 譜面とか Wiki* (“Taiko no Tatsujin - Wiki* about Notecharts and so on”). https://wikiwiki.jp/taiko-fumen/収録曲/ダブルプレイ
First seen in: TaikoJiro v1.99
Supported by: TJAPlayer2 for.PC
Scope: per–player-side
Specify the required amount of hits of 激 連 打/ゲ キ 連 打 “fierce drumroll” burst note / 風 船/ふ う せ ん balloon–type notes (denoted by 7
, 9
, or D
in the notechart definition), in the order of their definition, NOT the hit order during playing.
Each balloon-type note with unassigned hit amount requires an unspecified default amount of hits.
5
.Proposal: The #BALLOON
command can be used in the notechart definition for the same purpose instead.
BALLOON:<comma-separated-list-non-negative-int-amount-of-hits>
BALLOONNOR:<comma-separated-list-non-negative-int-amount-of-hits>
— TJAPlayer2 for.PC
BALLOONEXP:<comma-separated-list-non-negative-int-amount-of-hits>
— TJAPlayer2 for.PC
BALLOONMAS:<comma-separated-list-non-negative-int-amount-of-hits>
— TJAPlayer2 for.PC
For each element of <comma-separated-list-non-negative-int-amount-of-hits>
, if the amount of hits is 0
, the per-note behavior is unspecified.
First seen in: TaikoJiro
Supported by: (Universally supported)
BALLOON:
header is erroneously treated as the BALLOONNOR:
header.#BRANCHEND
and before another #BRANCHSTART
, it erroneously uses 3 values from the iteration of the BALLOONNOR:
/ BALLOONEXP:
/ BALLOONMAS:
list according to the last defined “branch”/path before the #BRANCHEND
. (?; deduced from source code)
#BRANCHEND
and before another #BRANCHSTART
, it use 1 value from each iteration of BALLOONNOR:
, BALLOONEXP:
, & BALLOONMAS:
instead of only BALLOONNOR:
.
Scope: per–player-side
Specify the initial life count of the life count gauge (if used).
A 不 可 BAD judgment decreases the life count by 1 (missing). When the life count decreased to 0, the player is immediately judged to be failed and the notechart ends.
Unspecified: Whether there is invincible time after missing and how long is its time duration.
Unspecified: The behavior when a non-zero value is used not in conjunction with COURSE:Tower
.
LIFE:<positive-int-life-count>
LIFE:0
LIFE:
LIFE:0
.LIFE:5
when used in conjunction with COURSE:Tower
.First seen in: TaikoJiro v2.19
Supported by: OpenTaiko (0auBSQ) v0.4.3
Scope: per–player-side
Specify the total 魂 ゲージ spirit gauge/soul gauge increment of the notechart when all hit-type notes are hit with 良 GREAT/GOOD judgment, i.e., ド ン ダ フ ル コ ン ボ Donderful Combo.
TOTAL:<non-negative-number-total-gauge-increment>
TOTAL:
First seen in: TaikoJiro v2.92 & TaikoJiro 2 v0.93
Scope: per–player-side
Specify the rounding mode of the increment of the 魂 ゲージ spirit gauge/soul gauge.
GAUGEINCR:<enum-str-gauge-increment-rounding-mode>
<enum-str-gauge-increment-rounding-mode>
can be one of:
Normal
Floor
Round
, round to the nearest.Notfix
, no rounding is performed.Ceiling
First seen in: TJAPlayer3 v1.5.4
Scope (placed outside of any notechart definition enclosed between #START
& #END
): per–player-side (?)
Scope (placed in a notechart definition enclosed between #START
& #END
): per-song (begins with a #NEXTSONG
command and ends with another #NEXTSONG
command) — TJAPlayer3-Develop-ReWrite
Specify a requirement for passing the notechart in 段 位 認 定 モー ド “Rank Certification Mode” (“examination”).
段 位 認 定 モー ド “Rank Certification Mode” resembles 段 位 道 場 “Rank Dojo”/Dan-i Dojo in the official games.
Used in conjunction with COURSE:Dan
.
EXAM<exam-requirement-index-specifier>:<enum-str-requirement>, <number-pass-requirement>, <number-gold-requirement>, <enum-str-range>
<exam-requirement-index-specifier>
specifies the displayed order of this requirement. The display details are unspecified. Its value range is:
1
–3
1
–4
— TJAPlayer3-Develop-ReWrite
1
, <enum-str-requirement>
is expected to be g
.1
–7
— OpenTaiko (0auBSQ)
1
, <enum-str-requirement>
is expected to be g
.<enum-str-requirement>
can be one of:
g
, final percentage (%) of 魂 ゲージ spirit gauge/soul gauge.jp
, amount of 良 GREAT/GOOD (“perfect”) judgment.jg
amount of 可 GOOD/OK judgment.jb
, amount of 不 可 BAD judgment.jm
, amount of caught bomb/mine notes. — OpenTaiko (0auBSQ)ja
, amount of caught Ad libitum (AD-LIB) notes. — OpenTaiko (0auBSQ)s
, final score.r
, amount of hits on all drumroll-type notes.
r
(bar drumroll notes–only) used for the condition of the #BRANCHSTART
command.h
, amount of non-不 可 BAD, non-blank hits.
Formula:
h
=jp
+jg
+r
c
, maximum/longest combo.a
, final percentage (%) of accuracy. — OpenTaiko (0auBSQ)
Formula: (良 GREAT/GOOD + 0.5 × 可 GOOD/OK) / max{良 GREAT/GOOD + 可 GOOD/OK + 不 可 BAD, 1} × 100(%) (Unit of variables: Amount of judgment results)
<enum-str-range>
can be one of:
m
/ (Proposal) >=
, more than or equal to (“≥”) the given requirementl
/ (Proposal) <
, less than (“<”) the given requirementEXAM<exam-requirement-index-specifier>:<enum-str-requirement>, <comma-separated-list-number-pass-and-gold-requirements>, <enum-str-range>
— TJAPlayer3-f
<comma-separated-list-number-pass-and-gold-requirements>
are pairs of <number-pass-requirement>, <number-gold-requirement>
for each song specified by the #NEXTSONG
command.EXAMGAUGE:<number-pass-requirement>, <number-gold-requirement>, <enum-str-range>
— TJAPlayer3-f
<enum-str-requirement>
is implicitly fixed to g
.EXAM1:
header in TJAPlayer3-Develop-ReWrite & OpenTaiko (0auBSQ).First seen in: TJAPlayer3 v1.5.0
Scope: per–player-side, scoring
Specify the scoring mode.
Affects combo bonus, combo milestone bonus, ゴー ゴー タ イ ム Go-Go Time bonus, & big note bonus.
The main scoring formula has two int
variables: init
& diff
.
The “basic score” below refers to the score awarded per 良 GREAT/GOOD judgment on non-big notes outside Go-Go Time sections.
When either the 真 打 “true percussion (performance)”/”true performance” option is enabled or SCOREMODE:3
is used, the basic score is fixed to init
points and the SCOREDIFF:
header is ignored.
Unspecified: Scoring details other than the basic score in each mode; usually one of the official games is followed.
SCOREMODE:0
COURSE:3
for explanation).init
& diff
are both fixed to 1000 points and the SCOREINIT:
and SCOREDIFF:
headers are both ignored.Combo | 1–199 | 200– |
---|---|---|
Basic score (points) | 1000 | 2000 |
SCOREMODE:1
Combo | 1–9 | 10–19 | 20–29 | 30–39 | 40–49 | 50–59 | 60–69 | 70–79 | 80–89 | 90–99 | 100– |
---|---|---|---|---|---|---|---|---|---|---|---|
n | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
init
points per note.init
+ n × diff
points.An equivalent formula: Basic score =
init
+ min{floor(combo
/ 10), 10} ×diff
(points).
SCOREMODE:2
Combo | 1–9 | 10–29 | 30–49 | 50–99 | 100– |
---|---|---|---|---|---|
n | 0 | 1 | 2 | 3 | 4 |
init
+ n × diff
points.SCOREMODE:3
— TJAPlayer2 for.PC but not TJAPlayer3 v1.4.0+, TJAPlayer3-f
Combo | 1– |
---|---|
Basic score (points) | init |
SCOREMODE:
SCOREMODE:1
Reference: 配点 (“Scoring”). 太鼓の達人 譜面とか Wiki* (“Taiko no Tatsujin - Wiki* about Notecharts and so on”). https://wikiwiki.jp/taiko-fumen/システム/配点
First seen in: TaikoJiro v2.85
Supported by: TaikoJiro 2 v0.72, TJAPlayer2 for.PC
SCOREMODE:3
is treated the same as SCOREMODE:2
, where the behavior of the former SCOREMODE:3
can be enabled by enabling the 真 打 “true performance” option.Scope: per–player-side, scoring
Specify the 初 項 initial term (refers to an arithmetic progression) (init
) used for calculate the basic score. See the explanation for the SCOREMODE:
header.
SCOREINIT:<non-negative-int-score-init>
SCOREINIT:<non-negative-int-score-init>, <non-negative-int-score-init-shin'uchi>
— TaikoJiro v2.70
<non-negative-int-score-init-shin'uchi>
is used for init
when the 真 打 “true percussion (performance)” option (“stable”) is enabledSCOREINIT:0
SCOREINIT:
init
is determined by the simulator. Unspecified: The details for determining it; usually one of the official games is followed.First seen in: TaikoJiro v1.67
Supported by: (Universally supported)
Scope: per–player-side, scoring
Specify the 公 差 common difference (refers to an arithmetic progression) (diff
) used for calculate the basic score. See the explanation for the SCOREMODE:
header.
SCOREDIFF:<non-negative-int-score-diff>
SCOREDIFF:<non-negative-int-score-diff>d
— TaikoJiro v2.49
SCOREMODE:0
were used, except that the SCOREINIT:
& SCOREDIFF:
are not ignored.Combo | 1–199 | 200– |
---|---|---|
Basic score | init |
init + diff |
SCOREDIFF:0
diff
is 0
.SCOREDIFF:
diff
is determined by the simulator. Unspecified: The details for determining it; usually one of the official games is followed.First seen in: TaikoJiro v1.67
Supported by: (Universally supported)
Scope: per–player-side, gimmicky
If enabled, make the 譜 面 分 岐 “notechart branch“/forked path indicator hidden in the song selection screen; hide the “branch”/path mark on the note field from the beginning of the notechart until time point when the “branch”/path–switching effects should play for the first “branch”/path section in the gameplay screen.
HIDDENBRANCH:1
HIDDENBRANCH:0
HIDDENBRANCH:1
HIDDENBRANCH:
First seen in: TJAPlayer2 for.PC
The descriptions of Header Overview for TJA mostly applies. However, sequential headers can appear multiple times within their scope.
Some TJA headers can be used as TJC headers and have similar or even identical effects. Unspecified: Which TJA headers can be used as TJC header aside from TITLE:
, COURSE:
, & TOTAL:
. Only non-TJA headers are listed in this section.
See the #NEXTSONG
command for the TJA command version of TJC headers.
Scope: per-file, sequential
Specify a notechart (“song”) of the notechart set.
SONG:<string-filepath-tja-from-game-root-directory>
First seen in: TaikoJiro v2.34
Supported by: (Universally supported)
TJA commands are written in the format of #COMMAND values
.
Each commands MUST be placed on its own line.
No leading non-newline whitespaces are allowed for the #START
and #END
commands & other commands placed outside of the notechart definition enclosed between #START
& #END
.
However, leading non-newline whitespaces are allowed and ignored in the notechart definition enclosed between #START
& #END
.
Unspecified: The behavior when any commands are placed before any headers outside the notechart definition, especially for the commands which are expected to be placed before the notechart definition.
The #COMMAND
part MUST be written in an all-upper-case manner and MUST NOT contain whitespaces in-between.
Commands with an unrecognized #COMMAND
name are ignored.
Unspecified: The behavior when the whitespaces before the values
part is omitted for all-letter commands with numeric values (occurs in some legacy charts).
values
part.The arguments for commands introduced in TaikoJiro are comma-separated. However, the arguments for commands introduced in TJAPlayer2 for.PC are instead whitespace-separated as in the .bms
format (which is modified and extended into the .dtx
format for DTXMania).
Unspecified: The behavior when a comma (,
) is used as the decimal point (normally a full-stop (.
)).
No known per-file commands exist, which would be effectively headers. Per–player-side commands are similar to headers but the effects of these commands reset at the end of their scope.
Except for one-shot commands, the effect of each command continues until the next occurrence of any command from the same command group or #END
.
,
in TJA) and before such a command in the notechart definition.Some branch-scoped commands are non-sequential, i.e., they can be arranged freely within the same beat position without causing any behavior changes, as long as both their relative order to the sequential commands and the relative order among commands which override each other are not changed. All commands with other type of scope are implicitly sequential.
A command may have some effects applied only when their approach phase is reached. These effects are defined as the late effects. The late effect scope is defined by the targeted game objects which are affected by the late effects.
The approach phase of a command occurs before the head of their defined beat position by a specified time or beat duration (if any) or no duration.
Proposal: Allow the late effect scope to be overridden for branch-scoped commands targeting notes & bar lines, see Proposal: Command Modifier.
Commands only affect their targeting game objects. The target of each command can be any (including none) of:
#SPLITLANE
command is used or (Proposed) the #JPOSSCROLL
command is used inconsistently in any layers defined by the #LAYER
command.#BMSCROLL
/ #HBSCROLL
/ #NMSCROLL
Scope (placed before the #START
command): per–player-side, gimmicky
Scope (placed after the #START
command): branch, non-before, gimmicky — OpenTaiko (0auBSQ) v0.6.0
Late effect scope: (none)
Effect target: notes, bar lines
Use a scrolling mode similar to the scrolling method used in either BEMANI-series or the official Taiko (“normal”) game series for the non-before notes and bar lines, unless overridden by user settings.
#BMSCROLL
— TaikoJiro v1.91
#SCROLL
command is ignored.#HBSCROLL
— TaikoJiro v2.31
#BMSCROLL
(“BEMANI-like”), but the #SCROLL
command (“(per-note) HiSpeed”) is not ignored and is effective.#NMSCROLL
— OpenTaiko (0auBSQ) v0.6.0 / initial value
Scrolling mode comparison: Consider BPM changes occur during notes and bar lines traveling through the whole note field (including the part past the judgment mark).
scroll
is the scrolling rate multiplier specified by the #SCROLL
command and by the HEADSCROLL:
header.
1
when either #BMSCROLL
or REGUL-SPEED (TaikoJiro) is used.Formula:
scroll
=scroll_command
×headscroll
, otherwise
modifier
is the scrolling rate multiplier specified by the speed modifier options.
Scrolling mode | Taiko-like | BEMANI-like XMod |
CMod |
---|---|---|---|
Command or TaikoJiro setting | (Default) #NMSCROLL |
#BMSCROLL #HBSCROLL User option |
User option: REGUL-SPEED |
Varing factor | Relative scrolling speed vector among notes | Scrolling speed vector during travel | Beats taken during traveling |
Position factor Note or bar line position is in linear relation to what factor |
Current time | Current visual beat (actual beat offset toward negative by past negative #DELAY s) |
Current time |
Scrolling velocity Note or bar line traveling takes 4 beats in what BPM |
abs(BPM at the defined position of the note or bar line × scroll × modifier ) |
abs(Current effective BPM (0 during a positive #DELAY ) × scroll × modifier ) |
The apparent BPM specified by REGUL-SPEED settings (“BPM HiSpeed”) modifier |
Default scrolling changes of #BPMCHANGE command |
Set the per-note or per–bar-line base BPM of non-preceding notes and bar lines | Suddenly change the apparent base BPM of all notes & all bar lines | (No changes) |
Default scrolling changes of #DELAY command |
(No changes) | Pause the scrolling if positive; (no changes) if negative |
(No changes) |
Default scrolling changes of #SCROLL command |
Set the per-note or per–bar-line scroll |
(Ignored) (#BMSCROLL ) Set the per-note or per–bar-line scroll (#HBSCROLL ) |
(Ignored) |
Proposal: Mode-invariant #BPMCHANGE command |
#BPMCHANGE <value>; : |
#BPMCHANGE <value>; *:* |
#BPMCHANGE <value>; : + #SCROLL <non-zero-float-bpm>bpm; :* |
Proposal: Mode-invariant #DELAY command |
#DELAY <value>; : |
#DELAY <value>; *:* |
#DELAY <value>; : |
Proposal: Mode-invariant velocity-changing command | #SCROLL <value>; : (default) |
#HISPEED(<value>) (TMG format) #SCROLL <value>; *:* |
#SPEED <value>bpm; *:*; <changing-duration> |
In OutFox, the Taiko-like scrolling mode can be achieved by using CAMod (AMod/”Average BPM Scroll Mode” with constant per-note or per–bar-line scrolling speed) with the BPM parameter set to 4 × the average BPM of the notechart.
See The Measure-terminating Symbol and Timing for the behavior of timing commands.
Proposal: See Proposal: Command Modifier for the syntax for mode-invariant commands.
First seen in: TaikoJiro v1.91
Supported by: TaikoJiro 2, TJAPlayer2 for.PC
#SCROLL 1
applied if #BMSCROLL
is used). Such objects keep a constant velocity even when #BPMCHANGE
commands are used in BMS scrolling modes. This behavior can be utilized for creating bar drumroll notes which stretch when reaching the judgment timing.#PAPAMAMA
Scope: per–player-side (placed before the #START
command)
Effect target: notes
Use the パ パ マ マ サ ポー ト “Parent Support Mode”/Helping Hand Mode gameplay rules from the official arcade games for certain song in the 簡 単/か ん た ん Easy difficulty, where the amount of players is fixed to 1 and the inputs from all players are combined to play the song.
Reference: https://taiko.namco-ch.net/taiko/en/howto/papamama.php#papamama
Unspecified: The behavior when the amount of player-sides specified by the STYLE:
header is not 1.
First seen in: TJAPlayer3-f v1.7.2.0
#END
Scope: per–player-side (enclosing the notechart definition), sequential
Respectively start / end the region of notechart definition.
#START
STYLE:
header is ignored or this header specifies the amount of player-sides to be 1.#START <enum-str-player-side>
— TaikoJiro v1.99 but not TaikoJiro 2
<enum-str-combination>
, which can be one of:
P1
, for the 1st player-side (1P).P2
, for the 2nd player-side (2P) if the amount of player-sides specified by the STYLE:
header ≥ 2.<enum-str-combination>
is used.
<enum-str-combination>
is treated as if the 0-argument #START
were used.#START P<positive-int-player-side>
<positive-int-player-side>
-th player-side if the amount of player-sides specified by the STYLE:
header ≥ <positive-int-player-side>
.#END
Unspecified: The behavior when any of the followings are violated when defining each difficulty:
#START
#START <enum-str-player-side>
or proposed P<positive-int-player-side>
.First seen in: TJF format
Supported by: (Universally supported)
Set of STYLE:1 definitions |
STYLE:2 P1 & P2 defined |
Chosen STYLE:1 1P |
Chosen STYLE:2 1P |
Chosen STYLE:2 2P |
---|---|---|---|---|
Is P2 (s) |
Yes & Yes | Empty Or (crash) when quit from the gameplay after switching from STYLE:2 in the gameplay screen |
Earliest defined STYLE:2 P1 |
Earliest defined STYLE:2 P2 |
Otherwise | Yes & Yes | Earliest defined non-P2 STYLE:1 (if any) Or empty |
Earliest defined STYLE:2 P1 |
Earliest defined STYLE:2 P2 |
Contains P2 (s) |
Yes & No | Earliest defined non-P2 STYLE:1 (if any) Or empty |
(Crash) | (Crash) |
Otherwise | Yes & No | Earliest defined non-P2 STYLE:1 (if any) Or empty |
Earliest defined STYLE:2 P1 |
Any earliest defined |
Contains P1 (s) |
No & Yes | Earliest defined non-P2 STYLE:1 |
Empty | Earliest defined STYLE:2 P2 |
Otherwise | No & Yes | Any earliest defined | Any earliest defined | Earliest defined STYLE:2 P2 |
(Empty) | No & No | Empty | (Crash) | (Crash) |
Contains P1 (s) & P2 (s) |
No & No | Earliest defined non-P2 STYLE:1 |
(Crash) | (Crash) |
Otherwise, contains P1 (s) |
No & No | Earliest defined non-P2 STYLE:1 |
Empty | Any earliest defined |
Otherwise, contains P2 (s) |
No & No | Any earliest defined | (Crash) | (Crash) |
Otherwise (is 0-argument #START (s)) |
No & No | Any earliest defined | Any earliest defined | Any earliest defined |
Scope: branch, non-before, timing
Late effect scope: all (BMS scrolling modes); (none) (otherwise)
Effect target: notes, bar lines
Change the BPM.
#BPMCHANGE <non-zero-float-bpm>
#MEASURE
command used in conjunction.
#BPMCHANGE 0
BPM:
header.First seen in: TJF format
Supported by: (Universally supported)
Scope: branch, measure non-before, timing
Late effect scope: (none)
Effect target: notes, bar lines
Change the time signature / meter signature / measure signature.
#MEASURE <number-upper-numeral>/<non-zero-number-lower-numeral>
Formula: Amount of beats = 4 ×
upper
/lower
#MEASURE <number-upper-numeral>/0
#MEASURE <beats-measure>
<enum-str-delay-type>
part of the beats
value MUST be d
or (empty) and specifies whether the specified measure duration includes the time duration of the #DELAY
commands.#MEASURE 4/4
Replaced the TJF command #ONESYOSETU
(adjust the duration of this one 小 節 “measure” to fit all note symbols on the following line if placed after the previous measure (if any) and before the first notechart symbol of this measure in the notechart definition).
First seen in: TaikoJiro
Supported by: (Universally supported)
<number-upper-numeral>
, only non-zero integers are supported. Zero-duration measures can be constructed using a large <number-upper-numeral>
value due to the limited timing precision.Scope: branch, non-before, timing, sequential
Late effect scope: all (BMS scrolling modes, positive value); (none) (otherwise)
Effect target: notes, bar lines
Adjust (delay) the time position of all notechart object (including commands) non-preceding the #DELAY
command by the specified time duration.
The decorative visual/audio effects are unspecified.
For the timing of notechart object, multiple #DELAY
commands placed at the same beat position act as a single #DELAY
with the value of the sum of their duration, even when negative delay durations are used.
Unspecified: The visual note positioning behavior in BMS scrolling modes when note objects are placed into the time interval of positive delays.
#DELAY <non-zero-float-seconds-delay-duration>
#BMSCROLL
or #HBSCROLL
is used, the notechart stops scrolling for the specified duration even when notechart objects are placed into the stop duration by using negative delays.#DELAY 0
#DELAY <beats-time-duration>
<beats-time-duration>
under the current BPM.<enum-str-delay-type>
part of the beats
value MUST be d
or (empty) and specifies whether the specified measure duration includes the time duration of the #DELAY
commands with overlapping time interval.First seen in: TaikoJiro v1.60
Supported by: (Universally supported)
#BMSCROLL
or #HBSCROLL
is used, delays with positive duration cause the notechart to stop scrolling for the specified duration even when notechart objects are placed into the stop duration by using negative delays.#GOGOSTART
/ #GOGOEND
Scope: branch, non-before, scoring, sequential
Late effect scope: notes: (none), gameplay screen: all
Effect target: notes, gameplay screen
Respectively start / end a ゴー ゴー タ イ ム Go-Go Time section if not already respectively started / ended.
Unspecified: The behavior if #GOGOSTART
occurs when a Go-Go Time section has already started.
For playing the Go-Go Time entering effects during an existing Go-Go Time section, a pair of #GOGOEND
and #GOGOSTART
can be placed together.
First seen in: TaikoJiro
Supported by: (Universally supported)
#DUMMYSTART
/ #DUMMYEND
Scope: branch, non-before, sequential
Late effect scope: (none)
Effect target: notes
Respectively start / end a fake/dummy section if not already respectively started / ended.
First seen in: TaikoManyGimmicks
Scope: branch, non-before, gimmicky
Late effect scope: (none)
Effect target: notes, bar lines
Change the scrolling speed of notes & bar lines, relative to the normal scrolling velocity and direction.
Unspecified: Whether the notes & the bar lines are rotated around their center accordingly when a complex number value is used.
Reset by #RESETCOMMAND
.
#SCROLL <float-scroll-speed-x>
#SCROLL <complex-ri-float-scroll-speed-xy>
— TaikoJiro 2 v0.97, TJAPlayer2 for.PC, TaikoManyGimmicks (TJA)
<complex-ri-float-scroll-speed-xy>
specifies the vertical scrolling speed from the top to the bottom of the screen (↓). The unit is the same as <float-scroll-speed-x>
.#SCROLL(<float-scroll-speed-x>, <float-scroll-speed-y>)
— TaikoManyGimmicks v0.6.1α
<float-scroll-speed-y>
specifies the vertical scrolling speed from the top to the bottom of the screen (↓). The unit is the same as <float-scroll-speed-x>
.#SCROLL 0
#SCROLL <value>bpm
<value>
were used for #BPMCHANGE
and the unit direction of <value>
were used for #SCROLL
.Formula:
scroll
=value
/current_bpm
#SCROLL <float-scroll-speed>, <number-rotation-lower>, <number-rotation-upper>
— TaikoManyGimmicks
<float-scroll-speed>
rotated <number-degrees-upper>/<number-degrees-lower>
turns counterclockwise (↺).
<number-rotation-upper>
depends on the <number-rotation-lower>
, e.g.:
<number-rotation-lower>
is 1.<number-rotation-lower>
is 360.<number-rotation-lower>
is 400.Formula:
scroll_speed_x
=scroll_speed
× cos(2π ×rotation_upper
÷rotation_lower
)
Formula:
scroll_speed_y
=scroll_speed
× sin(2π ×rotation_upper
÷rotation_lower
)
#SCROLL 1
/ #SCROLL 1+0i
/ (TaikoManyGimmicks) #SCROLL 1, 180, 0
First seen in: TaikoJiro
Supported by: (Universally supported)
#SCROLL
has measure-based–scope (specifically, #SCROLL
s defined in the middle of a measure apply instead non-before the next measure) unlike the #BPMCHANGE
command, so splitting the measures using #MEASURE
& #BARLINEOFF
is needed to make #SCROLL
visually work in the middle of a measure.<complex-ri-float-scroll-speed-xy>
specifies the vertical scrolling speed from the bottom to the top of the screen (↑) instead.<complex-ri-float-scroll-speed-xy>
makes bar lines rotate around their center. However, it is misinterpreted as the amount of rotation and the unit is 90 degrees (°) clockwise (↻), see:
#ANGLE
command introduced in TaikoManyGimmicks can achieve such effects without depending on the unspecified behavior.#BARLINESCROLL
Scope: branch, non-before, gimmicky
Late effect scope: (none)
Effect target: bar lines
Change the scrolling speed of only bar lines, relative to the normal scrolling velocity and direction and prevent this speed from being overridden by further #SCROLL
.
#BARLINESCROLL <non-negative-float-scroll-speed-x>
#BARLINESCROLL Off
/ #BARLINESCROLL off
/ #BARLINESCROLL
#SCROLL
.First seen in: taiko-web (plugin “Custom Barlines”)
Scope: branch, non-before, gimmicky
Late effect scope: all (BMS scrolling modes); (none) (otherwise)
Effect target: notes, bar lines
Suddenly change the scrolling speed (HiSpeed / high-speed) of notes & bar lines in BMS scrolling modes, as if the BPM were changed accordingly.
Reset by #RESETCOMMAND
.
#HISPEED(<float-scroll-speed-x>)
<float-scroll-speed-x>
× BPM.First seen in: TaikoManyGimmicks v0.6.1α
Scope: branch, non-before, gimmicky
Late effect scope: all
Effect target: notes, bar lines
Suddenly change the base scrolling speed of notes & bar lines. In other words, suddenly change the normal scrolling velocity and direction.
Targeted notes & bar lines have their distance and/or direction to the visual judgment position scaled and/or rotated. The <approach-specifier>
from the proposal Command Modifier is intended to be used in conjunction.
If the notes & the bar lines are rotated around their center accordingly when a #SCROLL
command with complex number value is used, they are also rotated accordingly when a #SPEED
command with complex number value is used.
#SPEED <float-base-speed-x>
#SPEED <complex-ri-float-base-speed-xy>
<complex-ri-float-base-speed-xy>
specifies the vertical normal scrolling speed from the top to the bottom of the screen (↓). The unit is the same as <float-base-speed-x>
.#SPEED <value>bpm
<value>
were used for #BPMCHANGE
, the unit direction of <value>
were used for #SPEED
, and #SCROLL 1
were used.Formula:
base_speed
=value
/current_bpm
/current_scroll
#SPEED <float-base-speed>, <number-pixel-rotation-center-x>, <float-degrees-angle>
<float-base-speed>
and the normal scrolling direction to <float-degrees-angle>
degrees (°) counterclockwise (↺) centered around the position <number-pixel-rotation-center-x>
from the visual judgment position.#SPEED 1
/ #SPEED 1+0i
/ #SPEED 1, 0, 0
Scope: branch, non-before, gimmicky
Late effect scope: (none)
Effect target: notes, bar lines
Change the scrolling direction of notes & bar lines.
Unspecified: Whether the notes & the bar lines are rotated around their center accordingly.
Unspecified: The behavior when a #SCROLL
command with complex value is active.
Proposal: The direction is relative to the scrolling direction specified by the #SCROLL
command.
#DIRECTION <enum-int-direction>
<enum-int-direction>
specifies the degrees (°) of the counterclockwise (↺) rotation and can be one of:
Rotation (degrees CCW) | Scrolling direction under #SCROLL 1 |
|
---|---|---|
0 |
0° ↺/↻ (no changes) | ← |
1 |
270° ↺ (≡ 90° ↻) | ↑ |
2 |
90° ↺ | ↓ |
3 |
315° ↺ (≡ 45° ↻) | ↖ |
4 |
45° ↺ | ↙ |
5 |
180° ↺ (≡ 180° ↻) | → |
6 |
225° ↺ (≡ 135° ↻) | ↗ |
7 |
135° ↺ | ↘ |
#DIRECTION <number-degrees>deg
<number-degrees-rotation>
specifies the degrees (°) of the counterclockwise (↺) rotation.First seen in: TJAPlayer2 for.PC
<enum-int-direction>
specifies the degrees (°) of the clockwise (↻) rotation instead due to the positive vertical scroll direction being inverted as from the bottom to the top of the screen (↑).#BARLINEOFF
/ #BARLINEON
Scope: branch, non-before, gimmicky
Late effect scope: (none)
Effect target: bar lines
Respectively disable (“turn off”) / enable (“turn on”) the display of all bar lines (including the special bar lines indicating the beginning of a 譜 面 分 岐 “notechart branch“/forked path section) from the definition position and on.
First seen in: TaikoJiro v2.69
Supported by: (Universally supported)
#BARLINE
Scope: branch, beat interval one-shot, gimmicky
Late effect scope: (none)
Effect target: bar lines
Insert a fake/dummy normal bar line displayed at the head of the current beat position.
First seen in: taiko-web (plugin “Custom Barlines”)
Supported by: OpenTaiko (0auBSQ) v0.6.0
Scope: branch, non-before, gimmicky
Late effect scope: all
Effect target: notes, bar lines, judgment mark, note field
Move (“scroll”) the position of the judgment circle from the current position.
Unspecified: The behavior when another #JPOSSCROLL
command is placed within the moving duration interval of the current #JPOSSCROLL
command.
Reset by #RESETCOMMAND
.
The arguments are whitespace-separated.
#JPOSSCROLL <approach-duration-specifier> <distance-specifier> <direction-specifier>
/ #JPOSSCROLL(<approach-duration-specifier>, <number-pixel-distance-x>)
— TaikoManyGimmicks v0.6.1α / #JPOSSCROLL(<approach-duration-specifier>, <number-pixel-distance-x>, <number-pixel-distance-y>)
— TaikoManyGimmicks v0.6.6α
<approach-duration-specifier>
can be one of:
<positive-float-seconds-approach-duration>
<beats-approach-duration>
<distance-specifier>
can be one of:
<number-pixel-distance-x>
<complex-ri-number-pixel-distance-xy>
— TJAPlayer3 v1.6.x, OpenTaiko (0auBSQ) v0.6.0
<complex-ri-number-pixel-distance-xy>
specifies the vertical movement toward the top of the screen (↑).<number-distance-x-upper>/<number-distance-x-lower>
— TaikoManyGimmicks
<number-distance-x-upper>/<number-distance-x-lower>
of the default note field width.<value> deg <float-degrees-angle>
<value>
rotated <float-degrees-angle>
degrees (°) counterclockwise (↺).default
— TaikoManyGimmicks
<direction-specifier>
.<direction-specifier>
can be one of:
0
<pixel-distance-specifier>
were the argument of the #SCROLL
command when the BPM is positive.1
<direction-specifier>
is 0
.First seen in: TJAPlayer2 for.PC
Supported by: TaikoManyGimmicks v0.6α
<complex-ri-number-pixel-distance-xy>
specifies the vertical movement toward the bottom of the screen (↓) instead.Scope: branch, non-after, gimmicky
Late effect scope: (none)
Effect target: notes, bar lines
Specify the per–note/bar line visual judgment point to be offset (“delay”) from the judgment mark.
Reset by #RESETCOMMAND
.
The arguments are whitespace-separated.
#JUDGEDELAY 0
#JUDGEDELAY 1 <float-seconds-duration>
/ #JUDGEDELAY(Sec, <float-seconds-duration>)
<float-seconds-duration>
before the judgment mark.#JUDGEDELAY 2 <float-pixel-position-x> <float-pixel-position-y>
/ #JUDGEDELAY(Pos, <float-pixel-position-x>, <float-pixel-position-y>)
#JUDGEDELAY 3 <float-seconds-duration> <float-pixel-position-x> <float-pixel-position-y>
/ #JUDGEDELAY(Sec_Pos, <float-seconds-duration, <float-pixel-position-x>, <float-pixel-position-y>)
<float-seconds-duration>
before the given position relative to the judgment mark.First seen in: TaikoManyGimmicks
Scope: branch, non-before, gimmicky
Late effect scope: (none)
Effect target: notes
Make non-preceding notes and their 口 唱 歌 “Note phoneticization” respectively appear and move suddenly / disappear (“hidden”) and stop moving suddenly.
Reset by #RESETCOMMAND
.
The arguments are whitespace-separated.
#SUDDEN <float-seconds-appear-duration> <float-seconds-moving-duration>
#SUDDEN <float-seconds-appear-duration> <float-seconds-moving-duration> <enum-str-affected-type>
#HIDDEN <float-seconds-disappear-duration> <float-seconds-stopping-duration>
#HIDDEN <float-seconds-disappear-duration> <float-seconds-stopping-duration> <enum-str-affected-type>
#SUDDEN 0 0
& (Proposal) #HIDDEN 0 0
<float-seconds-*-duration>
specifies the time durations (ms; 0.001s) before the time point of judgment is reached; if its absolute value equals to 0
, the time duration is positive infinity (+∞) for the #SUDDEN
command and is negative infinity (−∞) for the #HIDDEN
command.
Proposal: <enum-str-afftect-type>
can be one of:
n
/ Doron
— Affect only the notes, as in the ド ロ ン “note-wise stealth” game modifier.t
— Affect only the “note phoneticization” (“the texts on the lower note field”).nt
/ Stealth
– Affect both the note & the “note phoneticization” (“text”) (“(true) stealth”).b
— Affect only the bar lines.nb
— Affect both the note & the bar lines.ntb
/ All
— Affect all notechart objects.First seen in: TJAPlayer2 for.PC
Supported by: TaikoManyGimmicks v0.6α
#START
command. (?)Scope: branch, non-before, gimmicky
Late effect scope: (none)
Effect target: notes
Specify the displaying (“spawn”) duration of notes before the time point of judgment.
Reset by #RESETCOMMAND
.
The arguments are whitespace-separated.
#NOTESPAWN 0
#NOTESPAWN 1 <float-seconds-duration>
/ #NOTESPAWN(Spawn, <float-seconds-duration>)
#SUDDEN <float-seconds-duration> 0
after unit conversion.#NOTESPAWN 2 <float-seconds-duration>
/ #NOTESPAWN(Vanish, <float-seconds-duration>)
#HIDDEN <float-seconds-duration> 0
after unit conversion.First seen in: TaikoManyGimmicks
#ENABLEDORON
/ #DISABLEDORON
Scope: branch, non-before, gimmicky
Late effect scope: all
Effect target: notes
Respectively enable / disable the ド ロ ン “note-wise stealth” game modifier. The 口 唱 歌 “Note phoneticization” is not hidden by this game modifier.
First seen in: TJAPlayer3-Extended
Supported by: OpenTaiko (0auBSQ) v0.6.0
Scope: branch, non-before, decorative
Late effect scope: all
Effect target: gameplay screen
Display the specified lyric.
Unspecified: Whether #LYRIC
commands are ignored if the lyric file specified by the LYRICS:
or LYRICFILE:
header is used.
#LYRIC <str-lyric>
\n
in <str-lyric>
is displayed as a newline.First seen in: TJAPlayer2 for.PC
Supported by: taiko-web ver.20.03.31, TaikoManyGimmicks v0.6α
<str-lyric>
terminators the loaded lyric.Scope: branch, note one-shot, gimmicky
Late effect scope: (none)
Effect target: notes
Override (“change”) the automatically assigned 口 唱 歌 “Note phoneticization” (“sound effect of a note” or “発 声 vocalization of a note” (?)) of the nearest note(s) placed non-before the command.
#SENOTECHANGE <enum-int-note-phoneticization>
GAME:Taiko
, <enum-int-note-phoneticization>
can be one of:
Note phoneticization | Designed for what note symbol | |
---|---|---|
1 |
ド ン Don | 1 |
2 |
ド Do | 1 |
3 |
コ (Do) | 1 |
4 |
カッ Ka | 2 |
5 |
カ (Ka) | 2 |
6 |
ド ン(大) DON | 3 |
7 |
カッ(大) KA | 4 |
8 |
連 打 Roll | note head of 5 |
9 |
ー – | bar body of 5 & 6 |
10 |
ーっ!! –!! | note end of 5 & 6 |
11 |
連 打(大) ROLL | note head of 6 |
12 |
ふ う せ ん Balloon | 7 |
<enum-int-note-phoneticization>
not designed for the applied note is used.#SENOTECHANGE <enum-str-note-phoneticization>
<enum-str-note-phoneticization>
can be one of:
D
, the default, use the automatically assigned note phoneticization.L
, long:
1
and カッ Ka for note symbol 2
1
, ポン for 2
, and チャン for 4
.D
.F
, final:
1
, ポッ for 2
, and チャッ for 4
.L
.S
, short:
1
and カ (Ka) Ka for note symbol 2
1
, ポ for 2
, and チャ for 4
.D
.A
, alternate:
1
S
.#SENOTECHANGE <comma-separated-list-enum-note-phoneticization>
<comma-separated-list-enum-note-phoneticization>
are valid <enum-int-note-phoneticization>
or <enum-str-note-phoneticization>
and are iterated and applied to multiple notes in their definition order.#SENOTECHANGE <string-enum-str-note-phoneticization>
<string-enum-str-note-phoneticization>
are valid <enum-str-note-phoneticization>
and are iterated and applied to multiple notes in their definition order.In the official games, the note phoneticization is assigned per-note and does not follow a definite pattern, especially in earlier games.
The general pattern in recent Taiko games seems to be:
x
& y
(d_<x>_to_<y>
below) is used for determining the note phoneticization and is defined as scroll
× beat_duration_<x>_to_<y>
= scroll_command
× headscroll
× beat_duration_<x>_to_<y>
.d_this_to_next_note
> 1/8th, the end of a chain before a pause.d_this_to_next_note
≥ 4.0 / 3 × d_this_to_previous_note
, the end of a chain before a short pause or a sparser chain.d_next_to_2nd_next_note
≤ 2.0 / 3 × d_this_to_next_note
, the end of a chain before a denser chain.d_this_to_previous_note
< 1/16th, to avoid the texts from overlapping.d_this_to_next_note
< 1/8th, with scroll
upper-limited to 1.0 for calculation, to avoid the text for a note from being extended below the next note.However, in the official Konga games, the general pattern is less consistent and “chain-final” is defined less strictly:
First seen in: TJAPlayer3 v1.4.0
Scope: branch, note one-shot
Late effect scope: (none)
Effect target: balloon-type notes
Basically the same as the BALLOON:
header, except that the #BALLOON
command only applies to non-preceding notes in the note definition.
Override the assigned hit amount specified by the one of the BALLOON headers if applies to an already assigned balloon-type note.
#BALLOON <comma-separated-list-non-negative-int-amount-of-hits>
The semantics are otherwise the same as the BALLOON headers.
#SECTION
Scope: branch, instant one-shot
Late effect scope: all (across branches)
Effect target: (none)
Start a 譜 面 分 岐 “notechart branch”/forked path–determining section by resetting the value of the conditions for determining the next not-yet-determined “branch(es)”/path(s) at the beginning of the section. See the explanation for the #BRANCHSTART
command.
When the #SECTION
command & a “branch”/path–determining point occur at the same beat position, the effect of the #SECTION
command should take place after the “notechart branch”/forked path is determined.
The effects of #SECTION
applie regardless the current branch and on which branch the command is defined.
An implicit #SECTION
is placed at the beginning of every notechart definition.
Unspecified: Whether the value of the condition for determining the “branch”/path by score (#BRANCHSTART s, <number-expert-branch-requirement>, <number-master-branch-requirement>
) is reset.
#SECTION
#SECTION <no-punctuation-str-name-section>
First seen in: TaikoJiro v1.63
Supported by: (Universally supported)
#SECTION
command and a “branch”/path–determining point is indeterminate when they occur at the same beat position.Scope: branch, instant one-shot
Late effect scope: all
Effect target: (none)
Resume/end a 譜 面 分 岐 “notechart branch”/forked path–determining section by resuming/stopping updating the value of the conditions for determining the next not-yet-determined “branch(es)”/path(s) at the beginning of the section. See the explanation for the #BRANCHSTART
command.
This command can apply to only named “branch”/path-determining sections.
#SECTIONRESUME <no-punctuation-str-name-section>
#SECTIONEND <no-punctuation-str-name-section>
#LEVELHOLD
Scope: branch, measure non-before
Late effect scope: all
Effect target: (none)
Override the result of all 譜 面 分 岐 “notechart branch“/forked path (“level”) determination from the definition of this measure and on with the current branch/path (“hold”).
Proposal: Its effects end at either the next another #LEVELHOLD
or a #LEVELREDIR command.
#LEVELHOLD
#LEVELREDIR <enum-str-branch-current>, <enum-str-branch-current>, <enum-str-branch-current>
, where <enum-str-branch-current>
represents the current “branch”/path.First seen in: TaikoJiro v1.63
Supported by: TaikoJiro 2, TJAPlayer2 for.PC
Scope: branch, measure non-before
Late effect scope: all
Effect target: (none)
Override the result of all 譜 面 分 岐 “notechart branch“/forked path (“level”) determination from the definition of this measure and on with specified branches/paths (redirect).
Its effects end at either the next #LEVELHOLD
or another #LEVELREDIR command.
#LEVELREDIR <enum-str-branch-from-normal>, <enum-str-branch-from-expert>, <enum-str-branch-from-master>
<enum-str-branch-from-normal>
/ <enum-str-branch-from-expert>
/ <enum-str-branch-from-master>
when the default “branch”/path is determined to be respectively the 普 通 Normal / 玄 人 “Professional”/Advanced (“Expert”) / 達 人 Master “branch”/path. See the explanation of the #BRANCHSTART
command.Example: The “branch”/path behavior of the お に Oni/Extreme difficulty of “聖 徳 た い こ の「 日 い ず る ま で 飛鳥」” can be achieved using:
// Measure 15 - 16
#BRANCHSTART r, 5, 6
#N
#LEVELHOLD
#M
#LEVELREDIR N, N, M
#BRANCHEND
#SECTION
// Measure 17 - 18
#BRANCHSTART r, 7, 8
#N
#LEVELHOLD
#M
#LEVELREDIR N, N, M
#BRANCHEND
#SECTION
// Measure 19 - 20
#BRANCHSTART r, 4, 5
#N
// Measure 21 - 25
#E
// Measure 21 - 25
#M
// Measure 21 - 25
#BRANCHSTART p, 101, 101
#BRANCHEND
// Measure 26 -
#LEVELREDIR N, E, M
#BRANCHEND
Scope: notechart, measure non-before, sequential
Late effect scope: notes, bar lines, & judgment mark(s): non-before, note field(s): non-before the previous measure (#BRANCHSTART
) or (none) (#BRANCHEND
)
Effect target: notes, bar lines, judgment mark(s), note field(s)
Respectively start / end the definition of a 譜 面 分 岐 “notechart branch“/forked path section.
The determining point of this “branch”/path section is defaulted to be placed at the beginning of the previous measure from the #BRANCHSTART
command.
At the determining point, the “branch”/path–switching effects are played but the current “branch”/path is not changed until the actual beginning of the “branch”/path section.
#BRANCHSTART <enum-str-condition>, <number-expert-branch-requirement>, <number-master-branch-requirement>
#BRANCHSTART <enum-str-condition>, <number-expert-branch-requirement>, <number-master-branch-requirement>, <no-punctuation-str-name-section>
#BRANCHSTART <enum-str-combination>, <comma-separated-list-requirements>
<comma-separated-list-requirements>
can be a certain number of argument combinations, each takes a form listed above (including this <enum-str-combination>
form).<enum-str-combination>
can be one of:
max
: Requires 2 argument combinations. Use the higher (“maximum”) determined “branch”/fork.min
: Requires 2 argument combinations. Use the lower (“minimum”) determined “branch”/fork.rev
: Requires 1 argument combination. Flip (“reverse”) the determined “branch”/fork. (i.e., the 普 通 Normal and the 達 人 Master “branches”/paths are swapped for the result of determining)#BRANCHEND
— TaikoJiro, TJAPlayer 2 for PC ver.2020031800, TJAPlayer3 v1.5.2, taiko-webThe “branch”/path is determined by a condition value when <enum-str-condition>
is…
r
, accumulated amount of hits on bar drumroll notes during the determining section.
#BRANCHSTART
command.
#BRANCHSTART
command (unit: second)}, 1 measure}.rt
, accumulated amount of hits on all (total) drumroll-type notes during the determining section. The postponed-determining behavior of the r
condition applies.p
, the percentage (%) of 精 度 “precision/perfect rate”/accuracy during the determining section.
Formula: (良 GREAT/GOOD + 0.5 × 可 GOOD/OK) / max{良 GREAT/GOOD + 可 GOOD/OK + 不 可 BAD, 1} × 100(%) (Unit of variables: Amount of judgment results)
pp
, the percentage (%) of 良 GREAT/GOOD (“perfect”) during the determining section.ph
, the percentage (%) of non-不 可 BAD, hit-type note hits during the determining section.pm
, percentage (%) of avoided bomb/mine notes during the determining section.pa
, percentage (%) of caught Ad libitum (AD-LIB) notes during the determining section.d
, the percentage (%) of “precision”/accuracy of big (大) notes during the determining section. (d
can be seen as a rotated p
) — TJAPlayer2 for.PC
dp
, the percentage (%) of 良 GREAT/GOOD (“perfect”) on big (大) notes during the determining section.dh
, the percentage (%) of non-不 可 BAD, hit-type note hits on big (大) notes during the determining section.b
, the percentage (%) of “precision”/accuracy of 特 “special”/strong judgments on big (大) notes during the determining section.
Formula: (特 “special”/strong 良 GREAT/GOOD + 0.5 × 特 “special”/strong 可 GOOD/OK) / max{amount of big missable hit-type notes, 1} × 100(%)
bp
, the percentage (%) of 特 “special”/strong 良 GREAT/GOOD (“perfect”) on big (大) notes during the determining section.bh
, the percentage (%) of 特 “special”/strong judgments on big (大) notes during the determining section.br
, accumulated amount of strong hits on big bar drumroll notes during the determining section. The postponed-determining behavior of the r
condition applies.h
, amount of non-不 可 BAD, non-blank hits during the determining section.
Formula:
h
=hh
+rt
hh
, amount of non-不 可 BAD, missable hit-type note hits during the determining section.
Formula:
hh
= 良 GREAT/GOOD + 可 GOOD/OK
hp
, amount (hits) of 良 GREAT/GOOD (“perfect”) during the determining section.am
, amount of avoided bomb/mine notes during the determining section.ha
, amount of caught (“hit”) Ad libitum (AD-LIB) notes during the determining section.hdp
, amount of 良 GREAT/GOOD (“perfect”) on big (大) notes during the determining section.hdh
, amount of non-不 可 BAD, hit-type note hits on big (大) notes during the determining section.hb
, amount of strong hits on all big notes during the determining section. (b
can be seen as an h
with rounded bottom)
Formula:
hb
=hbh
+br
hbp
, amount (“hits”) of strong 良 GREAT/GOOD (“perfect”) on big notes during the determining section.hbh
, amount (“hits”) of strong non-不 可 BAD (“hit”) on big notes during the determining section.s
, the total score points if (proposed) <no-punctuation-str-name-section>
is not specified or otherwise (proposed) accumulated score points during the specified named determining section. — TaikoJiro v2.66
SCOREMODE:
header or the 真 打 “true performance” option is enabled.g
, percentage (%) of 魂 ゲージ spirit gauge/soul gauge change during the determining section, −100 ≤ g
≤ 100c
, the maximum/longest combo during the determining section (counted from 0).?
, a uniform distribution random value (float), 0 ≤ ?
< 100If the condition value…
<number-master-branch-requirement>
: The 達 人 Master “branch”/path will be taken by default.<number-expert-branch-requirement>
: The 玄 人 “Professional”/Advanced (“Expert”) “branch”/path will be taken by default.#LEVELHOLD
command affects the final determining result.They are conventionally used as follow:
#BRANCHSTART r, 1, 2 // Exemplar branch/path condition similar to the opening section of the "画竜点睛 (Garyoutensei)" series
#N
// 0 hits: "普通 (Futsuu)" Normal branch/path
// Normal branch/path section
#E
// 1 hit: "玄人 (Kurouto)"/Advanced branch/path
// Advanced branch/path section
#M
// 2+ hits: "達人 (Tatsujin)"/Master branch/path
// Master branch/path section
#BRANCHEND // Sometimes optional, see below
// Some commands or notechart section
#BRANCHSTART p, 0, 101 // Exemplar condition which forces the "玄人 (Kurouto)"/Advanced branch/path to be chosen
// ...
An implicit #BRANCHEND
is placed before #BRANCHSTART
and #END
commands. If no commands & notechart symbols occur after the explicit defined #BRANCHEND
and before such commands, the #BRANCHEND
can be omitted.
Unspecified: The behavior when any of the followings are violated:
#BRANCHEND
and before the #BRANCHSTART
command.First seen in: TaikoJiro v1.63
Supported by: (Universally supported)
#N
/ #E
/ #M
Scope: notechart, measure non-before
Late effect scope: (none)
Effect target: notes, bar lines, judgment mark(s), note field(s)
Start the definition of respectively the 普 通 Normal / 玄 人 “Professional”/Advanced (“Expert”) / 達 人 Master 譜 面 (分 岐) “notechart branch”/forked path section.
The definition of unused “branches”/paths due to forced “branch”/path determination can be omitted.
Unspecified: The behavior when any of the followings are violated:
#BRANCHSTART
command and before any of the #N
/ #E
/ #M
commands.#N
/ #E
/ #M
commands should be placed within the region enclosed by the #BRANCHSTART
& (possibly implicit) #BRANCHEND
commands.#N
/ #E
/ #M
order if defined.
First seen in: TaikoJiro v1.63
Supported by: (Universally supported)
#LAYERSTART
/ #LAYEREND
Scope: notechart, non-before, sequential
Late effect scope: (none)
Effect target: notes, bar lines, judgment mark(s), note field(s)
Respectively start / end the definition of a layer section. All layers in a layer section occur simultaneously and all branch-scoped commands not targeting the gameplay screen are applied separately for each layer.
They can be used as follow:
#LAYERSTART
#LAYER // Optional
// Default layer section
#LAYER A
// Layer A section
#LAYEREND // Sometimes optional, see below
An implicit #LAYEREND
is placed before #LAYERSTART
& #END
commands. If no commands & notechart symbols occur after the explicit defined #LAYEREND
and before such commands, the #LAYEREND
can be omitted.
Unspecified: The behavior when the #BRANCHSTART
commands, #BRANCHEND
, #N
, #E
, #M
are placed within the layer section definition.
Scope: notechart, non-before
Late effect scope: (none)
Effect target: notes, bar lines, judgment mark(s), note field(s)
Start the definition of a layer of the layer section. A layer can span over multiple layer sections.
#LAYER <no-punctuation-str-name-layer>
#LAYER
/ #LAYER default
Unspecified: The behavior when any of the followings are violated:
#LAYERSTART
& (possibly implicit) #LAYEREND
commands.Scope: branch, non-before
Late effect scope: (none)
Effect target: notes, bar lines, judgment mark(s), note field(s)
Specify the draw order of this layer relative to other layers in the current layer section for the notes & bar lines non-before the current beat position and the judgment mark(s) & note field(s) (if any) for this layer.
#LAYERORDER <int-layer-relative-draw-order>
#LAYERORDER 0
Scope: notechart, non-before
Late effect scope: all
Effect target: all
Switch to the next song in the 段 位 認 定 モー ド “Rank Certification Mode”.
段 位 認 定 モー ド “Rank Certification Mode” resembles 段 位 道 場 “Rank Dojo”/Dan-i Dojo in the official games.
Used in conjunction with COURSE:Dan
.
See TJC Header for the header version of the #NEXTSONG
command.
#NEXTSONG <string-song-title>,<string-song-subtitle>, <str-genre>,<string-filepath-song-wave>, <non-negative-int-score-init>, <non-negative-int-score-diff>
TITLE:
, SUBTITLE:
, GENRE:
, WAVE:
, SCOREINIT:
, and SCOREDIFF:
headers combined, except that every comma (,
) in each string
values MUST be escaped as \,
#NEXTSONG <string-song-title>,<string-song-subtitle>, <str-genre>,<string-filepath-song-wave>, <non-negative-int-score-init>, <non-negative-int-score-diff>,<non-negative-number-level>, <enum-course>, <enum-bool-hide-title>
— TJAPlayer3-Develop-ReWrite, OpenTaiko (0auBSQ)
<non-negative-number-level>, <enum-course>, <enum-bool-hide-title>
are optional parameters where the last one(s) can be omitted:
<enum-bool-hide-title>
defaults to False
and specifies whether the title of the song is obscured (“hidden”) in the certification challenge selection screen of the 段 位 認 定 モー ド “Rank Certification Mode”, which resembles 段 位 道 場 “Rank Dojo”/Dan-i Dojo in the official games. If given, it can be one of:
False
, the default; the title is displayed as-is.True
, the title is obscured (e.g., displayed as “???
”).<enum-course>
has the effects and the default value of the COURSE:
header.<non-negative-number-level>
has the effects and the default value of the LEVEL:
header.First seen in: TJAPlayer3 v1.5.0
Scope: branch, non-before
Late effect scope: (none) (?)
Effect target: notes, bar lines
Specify the game mode (“type”) for the notes non-before the current beat position. The meaning of the note symbols non-before the current beat position is changed accordingly; see TJA Notechart Definition.
Unspecified: The implemented game modes other than Taiko mode and Konga mode.
See the GAME:
header for specifying the initial game mode for the notechart.
#GAMETYPE Taiko
#GAMETYPE Konga
/ #GAMETYPE Bongo
GAME:
header (not supported by OpenTaiko (0auBSQ))First seen in: OpenTaiko (0auBSQ) v0.6.0, OutFox v0.4.18
Scope: branch, non-before, gimmicky
Late effect scope: (none)
Effect target: notes, bar lines
Manipulate the display properties of notes & bar lines.
The arguments are whitespace-separated.
Resetters:
#RESETCOMMAND
#SCROLL
command#SUDDEN
command#JPOSSCROLL
command#JUDGEDELAY
command#NOTESPAWN
command#GRADATION
command#HISPEED
commandSetters:
#SIZE <unsigned-number-scale>
— TaikoManyGimmicks v0.6α
#BARLINESIZE <unsigned-number-pixel-thickness> <unsigned-number-pixel-height>
#ANGLE <number-degrees-rotation>
— TaikoManyGimmicks v0.6α
<number-degrees-rotation>
degrees (°) counterclockwise (↺).#COLOR <unsigned-number-9bit-r> <unsigned-number-9bit-g> <unsigned-number-9bit-b> <unsigned-number-8bit-a>
— TaikoManyGimmicks v0.6α / #COLOR(<unsigned-number-9bit-r>, <unsigned-number-9bit-g>, <unsigned-number-9bit-b>)
— TaikoManyGimmicks v0.6.1α
<unsigned-number-*bit-*>
− 255.#COLOR 255 255 255 255
or #COLOR(255, 255, 255)
#ALPHA(<unsigned-number-8bit-a>)
— TaikoManyGimmicks v0.6.1α
#ALPHA(255)
First seen in: TaikoManyGimmicks
Scope: branch, non-before, gimmicky, sequential
Late effect scope: non-before
Effect target: notes, bar lines
Control the commands apply to the starting/ending of the per–note/bar line approaching phase (“gradation”).
Reset by #RESETCOMMAND
.
The arguments are whitespace-separated.
#GRADATION start <float-seconds-approach-duration> <enum-int-easing-points> <enum-int-easing-function>
— TaikoManyGimmicks (TJA)
#GRADATION(Set, <enum-int-easing-points>, <enum-int-easing-function>, <float-seconds-pre-approach-offset>, <float-seconds-approach-duration>)
— TaikoManyGimmicks v0.6.1α
~
), which has a lower operator precedence than most operators except the comma (,
).<float-seconds-pre-approach-offset>
specifies the time point before the time position of this command when the approaching phase should start.<enum-int-easing-points>
can be one of:
0
, EaseIn1
, EaseOut2
, EaseInOut3
, EaseOutIn — TaikoManyGimmicks v0.6.1α+<enum-int-easing-function>
can be one of:
0
, Linear1
, Sine2
, Quadratic3
, Cubic4
, Quartic5
, Quintic6
, Exponential7
, Circular8
, Back9
, Elastic10
, Bounce#GRADATION end
— TaikoManyGimmicks (TJA)
#GRADATION start <float-seconds-approach-duration> <enum-int-easing-points> <enum-int-easing-function>
are specified again with a possibly different value here.#GRADATION(Start)
— TaikoManyGimmicks v0.6.1α
#GRADATION init
— TaikoManyGimmicks (TJA) / #GRADATION(End)
— TaikoManyGimmicks v0.6.1α
#GRADATION
command to non-preceding notes and bar lines.They are conventionally used as follow:
#GRADATION start 1.0 2 0 // Exemplar
#SIZE 1 // Exemplar command with the value before approaching
// More commands with the values before approaching
#GRADATION end
#SIZE 2 // Exemplar command with the value after approaching
// More commands with the values after approaching
// Notechart section
#GRADATION init // Optional sometimes
#GRADATION(Set, 2, 0, 0.0, 1.0) // Exemplar
#SIZE(1~2) // Exemplar command with the value before~after approaching
// More commands with the values before approaching
#GRADATION(Start)
// Notechart section
#GRADATION(End) // Optional sometimes
Unspecified: Which commands are supported by the #GRADATION
command.
Commands supporting the #GRADATION
command in TaikoManyGimmicks:
#SCROLL
command#JUDGEDELAY
command#SIZE
, #COLOR
, #ALPHA
, & #ANGLE
commands#BARLINESIZE
command — TaikoManyGimmicks v0.6.1αFirst seen in: TaikoManyGimmicks v0.6α
Scope: branch (?), (depending on included notechart definition content)
Late effect scope: (depending on included notechart definition content)
Effect target: (depending on included notechart definition content)
Append (“include”) the notechart definition content defined the included file to the current definition. The included file can include any headers and commands in the TMG format.
#INCLUDE(<string-filepath-notechart-definition>)
First seen in: TaikoManyGimmicks v0.6.1α
#SPLITLANE
/ #MERGELANE
Scope: branch, non-before
Late effect scope: all
Effect target: notes, bar lines, judgment mark(s), note field(s)
Split/merge the note field (“lane”) into/from top and bottom note field, with ド ン notes on the top note field, カ ツ notes on the bottom note field, and other notes on the middle of these 2 note fields.
#SPLITLANE
/ (Proposed) #SPLITLANE 1
#SPLITLANE <float-split-amount>
#SPLITLANE
& 0 for #MERGELANE
. A negative split amount makes ド ン notes on the bottom note field and カ ツ notes on the top note field intead.#MERGELANE
/ (Proposed) #SPLITLANE 0
First seen in: OpenTaiko (0auBSQ) v0.6.0
Scope: branch, non-before, gimmicky
Late effect scope: all
Effect target: gameplay screen
Manipulate texture objects & the game screen camara.
Loader & unloader:
#ADDOBJECT <str-name-object>, <number-pixel-x>, <number-pixel-y>,<string-filepath-texture>
#REMOVEOBJECT <str-name-object>
Display property setters:
<number-pixel-x>
#OBJX <str-name-object>, <number-pixel-x-end>
#OBJHMOVESTART <str-name-object>, <number-pixel-x-start>, <number-pixel-x-end>, <enum-str-easing-points>, <enum-str-easying-function>
#OBJHMOVEEND
<number-pixel-y>
#OBJY <str-name-object>, <number-pixel-y-end>
#OBJVMOVESTART <str-name-object>, <number-pixel-y-start>, <number-pixel-y-end>, <enum-str-easing-points>, <enum-str-easing-function>
#OBJVMOVEEND
<float-scale-x>
#OBJHSCALE <str-name-object>, <float-scale-x-end>
#OBJHSCALESTART <str-name-object>, <float-scale-x-start>, <float-scale-x-end>, <enum-str-easing-points>, <enum-str-easing-function>
#OBJHSCALEEND
<float-scale-y>
#OBJVSCALE <str-name-object>, <float-scale-y-end>
#OBJVSCALESTART <str-name-object>, <float-scale-y-start>, <float-scale-y-end>, <enum-str-easing-points>, <enum-str-easing-function>
#OBJVSCALEEND
<number-degrees-rotation>
#OBJROTATION <str-name-object>, <number-degrees-rotation-end>
#OBJROTATIONSTART <str-name-object>, <number-degrees-rotation-start>, <number-degrees-rotation-end>, <enum-str-easing-points>, <enum-str-easing-function>
#OBJROTATIONEND
<unsigned-number-8bit-opacity>
#OBJOPACITY <str-name-object>, <unsigned-number-8bit-opacity-end>
#OBJOPACITYSTART <str-name-object>, <unsigned-number-8bit-opacity-start> <unsigned-number-8bit-opacity-end>, <enum-str-easing-points>, <enum-str-easing-function>
#OBJOPACITYEND
<unsigned-number-8bit-*>
#OBJCOLOR <str-name-object>, <unsigned-number-8bit-r-end>, <unsigned-number-8bit-g-end>, <unsigned-number-8bit-b-end>
Frame-based animation:
#OBJANIMSTART <str-name-object>, <positive-number-milliseconds-frame-duration>
#OBJANIMSTARTLOOP <str-name-object>, <positive-number-milliseconds-frame-duration>
#OBJANIMEND <str-name-object>
#OBJFRAME <str-name-object>, <unsigned-int-frame-index>
CAM commands:
#CAMRESET
<number-pixel-x>
#CAMHOFFSET <number-pixel-x-end>
#CAMHMOVESTART <number-pixel-x-start>, <number-pixel-x-end>, <enum-str-easing-points>, <enum-str-easing-function>
#CAMHMOVEEND
<number-pixel-y>
#CAMVOFFSET <number-pixel-y-end>
#CAMVMOVESTART <number-pixel-y-start>, <number-pixel-y-end>, <enum-str-easing-points>, <enum-str-easying-function>
#CAMVMOVEEND
<float-zoom-factor>
#CAMZOOM <float-zoom-factor-end>
#CAMZOOMSTART <float-zoom-factor-start>, <float-zoom-factor-end>, <enum-str-easing-points>, <enum-str-easing-function>
#CAMZOOMEND
<float-scale-x>
#CAMHSCALE <float-scale-x-end>
#CAMHSCALESTART <float-scale-x-start>, <float-scale-x-end>, <enum-str-easing-type>, <enum-str-easing-function>
#CAMHSCALEEND
<float-scale-y>
#CAMVSCALE <float-scale-y-end>
#CAMVSCALESTART <float-scale-y-start>, <float-scale-y-end>, <enum-str-easing-points>, <enum-str-easing-function>
#CAMVSCALEEND
<number-degrees-rotation>
#CAMROTATION <number-degrees-rotation-end>
#CAMROTATIONSTART <number-degrees-rotation-start>, <number-degrees-rotation-end>, <enum-str-easing-points>, <enum-str-easing-function>
#CAMROTATIONEND
The approach phase of a #<property>START
command starts at its definition position and is ended by the nearest non-preceding corresponding #<property>END
in notechart definition. Unspecified: The behavior when a #<property>START
command either has no such corresponding #<property>END
or has such #<property>END
with an earlier time position than the #<property>START
command itself.
<enum-str-easing-points>
can be one of:
IN
OUT
IN_OUT
<enum-str-easing-function>
can be one of:
CUBIC
QUARTIC
QUINTIC
SINUSOIDAL
EXPONENTIAL
CIRCULAR
LINEAR
First seen in: TJAPlayer3-Extended
Supported by: OpenTaiko (0auBSQ) v0.6.0
Scope: branch, non-before, decorative
Late effect scope: all
Effect target: gameplay screen
Set the color of the displayed region outside the border of the gameplay screen (when the gameplay screen camera is manipulated).
#BORDERCOLOR <unsigned-number-8bit-r>, <unsigned-number-8bit-g>, <unsigned-number-8bit-b>
First seen in: TJAPlayer3-Extended
Supported by: OpenTaiko (0auBSQ) v0.6.0
Scope: branch, non-before, decorative
Late effect scope: all
Effect target: gameplay screen
Respectively change / restore (“reset”) the texture used in the current skin.
#CHANGETEXTURE <string-filepath-original>,<string-filepath-replacing>
#RESETTEXTURE <string-filepath-original>
First seen in: TJAPlayer3-Extended
Supported by: OpenTaiko (0auBSQ) v0.6.0
Scope: branch, non-before, gimmicky
Late effect scope: all
Effect target: gameplay screen
Override (“set”) the config value read from the SkinConfig.ini
of the currently used skin.
Unspecified: The exact list of valid configs, allowed values, and the behaviors.
#SETCONFIG <str-config-key>=<text-config-value>
First seen in: TJAPlayer3-Extended
Supported by: OpenTaiko (0auBSQ) v0.6.0
Scope: branch, non-before, decorative
Late effect scope: all
Effect target: gameplay screen
Start (“on”)/stop (“off”) playing the specified background video (“animation”) defined by the BGA:
header on the gameplay screen.
The arguments are whitespace-separated.
#BGAON <unsigned-int-video-index> <float-milliseconds-video-offset>
<float-milliseconds-video-offset>
milliseconds into the video. The background video specified by BGMOVIE:
(if any) is hidden but is still playing.#BGAOFF <unsigned-int-video-index>
BGMOVIE:
(if any) is shown and is still playing.First seen in: OpenTaiko (0auBSQ) v0.6.0
”) is allowed for separating arguments<unsigned-int-video-index>
must be exactly 2 decimal digits (with 0
prefixed if necessary).Scope: branch, timing (intended; depending on usage)
Late effect scope: (none)
Effect target: notes, bar lines (intended; depending on usage)
Execute the given Lua code with predefined variables describing the current beat position, the loaded notechart, etc., after the notechart is loaded.
Intended for modifying the content of loaded notechart, including adjusting the notechart timing, calculating relative note distance, etc.
The exact behavior is unspecified.
#LUAMOD <str-lua-code>
Inspired by StepMania.
Scope: branch, gimmicky (intended; depending on usage)
Late effect scope: (Depending on usage)
Effect target: notes, bar lines, judgment mark(s), note field(s) (intended; depending on usage)
Execute the given Lua code with predefined variables describing the current beat position, the loaded notechart, etc., when the beginning of the approach phase of the command is reached during gameplay.
Intended for adding decorative visual/audio effects (“FXs”), including changing the moving path of notes, (dis)play extra images and sounds, etc.
Intended to be used in conjunction with (Proposal) command modifiers.
The exact behavior is unspecified.
#LUAFX <str-lua-code>
Inspired by StepMania.
Scope: (Part of a command), gimmicky
Late effect scope: (As specified)
Effect target: notes, bar lines, note field(s)
A command modifier can be specified to certain branch-scoped commands using the following form:
#COMMAND values; <scope-specifier>; <approach-specifier>
;
) can be omitted:
<approach-specifier>
defaults to 0:Linear, 0:Linear
<scope-specifier>
defaults to (empty).The whitespace rule of the comma (,
) also applies to the semicolon (;
).
The characters after the first semicolon (;
) are ignored in TaikoJiro 1 but cause crashes in TaikoJiro 2 when loaded.
<scope-specifier>
specifies the late effect scope of the command.
<affected-range-specifier>, <spline-specifier>
<affected-range-specifier>
can be one of:
:
— (None): Affect no notechart objects.:<range-affected-non-before>
— Non-before: Affect notechart objects non-before the point.<range-affected-before>:
/ <range-affected-before>:0
— Before, sudden: Suddenly affect notechart objects before the point.<range-affected-before>:<range-affected-non-before>
— Both, sudden: Suddenly affect notechart objects near to the point.<range-affected-before>
& <range-affected-non-before>
can be one of:
*
, the range is unlimited.<unsigned-int-amount-note>n
specifies the maximum amount of affected notes.<range-duration-*>
specifies the time/beat range of affected notes (see below).<spline-specifier>
<range-path-deactivate>:<range-path-activate>
— Override the effect of the part of scrolling path from <range-path-activate>
(inclusive) before the judgment time to <range-path-deactivate>
(inclusive) before the judgment time.
<range-path-deactivate>
& <range-path-activate>
can be one of:
*
, the range is unlimited.<range-duration-*>
specifies the time/beat duration (inclusive) before the judgment time (see below).<approach-specifier>
specifies the time or beat interval and easing method of the approach phase.
<approach-before>, <approach-non-before>
— Start approaching for the specified time duration before the beat position of the command and end approaching at the beat position of the command non-after the specified duration interval.<approach-both>
— Both <approach-before>
& <approach-non-before>
are <approach-both>
0
/ 0:Linear
/ 0:0
/ 0:Linear, 0:Linear
<approach-before>
& <approach-non-before>
can be one of:
<range-duration-*>
— (see below).<range-duration-*>:<enum-str-easing-function>
<enum-str-easing-function>
specifies the easing functions for the begin or end point of approaching.<range-duration-*>
specifies the time/beat duration interval of the approach phase and can be one of:
<unsigned-float-seconds-time-duration>
specifies the time duration.<beats-beat-duration>
specifies the beat duration.The notechart definition is enclosed between #START
& #END
.
Most headers are not allowed in notechart definition.
Unspecified: The behavior when a header not allowed in notechart definition is placed in a notechart definition.
#START
and all commands for the current player-side.In non-command lines, all whitespaces are ignored. (TaikoJiro-only?)
0
).Including the measure-terminating symbol (comma; ,
) & note symbols (<enum-str-note>
).
Unspecified: Whether unrecognized note symbols are ignored (removed) or treated as 0
(blank).
The definition of each measure is ended with a comma (,
). Unspecified: The behavior when there are non-whitespaces, non-comment trailing characters after the first comma (,
) of the line.
Within a measure, there can be any amount of note symbols as long as the unspecified maximum allowed amount is not exceeded.
If any note symbols present, each note symbol occupies the same amount of beats within the measure — a closed-head, open-end beat interval “note symbol beat duration interval”. The beat position of the note is at the beginning of this duration interval. The actual time duration of every such beat duration interval can vary and even become negative.
,
did not exist and every note symbol occupies the amount of beats of a 1/16th note.Measures with no note symbols (i.e., ,
-only measures) are equivalent to 0,
Equation: beat_duration_of_symbol
(scope: a measure)
measure_beat_duration
/ count_of_symbols
measure_upper_numeral
/ measure_lower_numeral
/ count_of_symbols
Equation: time_duration_of_symbol
(unit: seconds)
beat_duration_of_symbol
/ defined_bpm_at_beat_duration
Compatibility issues:
defined_bpm_at_beat_duration
) × beat_duration_of_symbol
/ 4) / 1000 (unit: seconds)
Non–measure-based–scoped, non-sequential, non–one-shot commands have their effects fired when the beat duration interval of the nearest preceding note symbol ends. If such commands are placed after the last note symbol of a measure and before the first notechart symbol of the next measure, whether they are placed before or after the ,
symbol has the same effects.
The time duration intervals of different note symbols are possible to overlap by using #BPMCHANGE
/ #MEASURE
/ #DELAY
commands with non-positive value.
Unspecified: The behavior when the time duration intervals of any non-blank note symbols overlap.
(in construction: explain the behavior of such timing commands with non-positive value)
Effective when GAME:Taiko
or #GAMETYPE Taiko
is in effect.
See https://taiko.namco-ch.net/taiko/en/howto/onpu.php for the appearance of notes in the official PC-generation arcade games.
See #SENOTECHANGE for the general patterns of how the alternative forms of 口 唱 歌
“Note phoneticizations” are used.
Note Type | Note Appearance | 口 唱 歌 “Note phoneticizations” in PC-generation arcade games |
Explanations on Clear | Explanations on Fail | Notes | |
---|---|---|---|---|---|---|
0 |
(blank) | (none) | (none) | Nothing needs to be done. Consume no input. | (impossible to fail) | First seen in: TJF format |
1 |
Regular ド ン | Small orange-ish red circle | ド Do / コ / ド ン Don | Hit the drum surface within the 可 GOOD/OK timing window, consumes a surface input. Awards 良 GREAT/GOOD or 可 GOOD/OK judgment according to the timing and increases combo. Increases 魂 ゲージ spirit gauge/soul gauge, & score according to awarded judgment. |
Hit too off but within 不 可 BAD judgment window (consumes a surface input) or not hit within the 不 可 BAD judgment window (consumes no inputs). Gives a 不 可 BAD judgment & combo break and decreases 魂 ゲージ spirit gauge/soul gauge. |
First seen in: TJF format |
2 |
Regular カ ツ | Small sky-blue circle | カ / カッ Ka | Hit the drum rim within the 可 GOOD/OK timing window, consumes a rim input. Awards the same as 1 . |
Hit too off but within 不 可 BAD judgment window (consumes a surface input) or not hit within the 不 可 BAD judgment window (consumes no inputs). Gives the same penalty as 1 . |
First seen in: TJF format |
3 |
Big ド ン | Big orange-ish red circle | ド ン(大) DON | Hit the drum surface within the 可 GOOD/OK timing window, consumes a surface input. Awards the same as 1 but extra score bonus† if with certain or greater force (AC) if the other left or right side is hit within a certain time duration (consumes two surface inputs in total) (CS) |
(same as 1 ) |
First seen in: TJF format |
4 |
Big カ ツ | Big sky-blue circle | カッ(大) KA | Hit the drum rim within the 可 GOOD/OK timing window, consumes a rim input. Awards the same as 2 but extra score bonus† if with certain or greater force (AC) if the other left or right side is hit within a certain time duration (consumes two rim inputs in total) (CS) |
(same as 2 ) |
First seen in: TJF format |
5 |
Head of regular (bar) 連 打 drumroll Examples: 5008 , 5558 , 5001 |
Small yellow circle with bar attached behind Turns red if hit rapidly while gradually fading out to its original color in AC games |
連 打ー Roll– | Roll on the drum surface or rim during its duration, consumes each hit with unlimited speed, reacts to each hit up to 1 hit per 60fps frame (official games). Increases score per reacted hit. |
(impossible to fail) | First seen in: TJF format |
I |
(same as 5 ) (OpenTaiko (0auBSQ)) Head of regular カ ツ (bar) 連 打 drumroll (OutFox’s OpenTaiko-OutFox standard draft (?)) Examples: I008 , III8 , I001 |
(see 5 ) Small sky-blue circle with bar attached behind (OutFox, expected (?)) |
(see 5 ) |
(same as 5 ) (OpenTaiko (0auBSQ)) Similar to 5 but only consumes (?) and reacts to rim inputs. (OutFox’s OpenTaiko-OutFox standard draft) Awards the same as 5 . |
(impossible to fail) | By analogy with Konga mode OpenTaiko-OutFox standard, first proposed from OutFox. First seen in: OpenTaiko-OutFox standard, OpenTaiko (0auBSQ) v0.5.4 |
6 |
Head of big (bar) 連 打 drumroll Examples: 6008 , 6668 , 6001 |
Big yellow circle with bar attached behind Turns red if hit rapidly while gradually fading out to its original color in AC games |
連 打(大)ー ROLL– | Roll on the drum surface or rim during its duration, consumes each hit with unlimited speed, reacts to each hit up to 1 hit per 60fps frame (official games). Increases score per reacted hit. Extra score bonus† for each reacted hit if with certain or greater force (?) (earlier AC), and/or with at least 2 hits in a 60fps frame (?) (earlier AC & earlier CS), or always (?) (AC & CS) |
(impossible to fail) | First seen in: TJF format |
H |
(same as 6 ) (OpenTaiko (0auBSQ)) Head of regular ド ン (bar) 連 打 drumroll (OutFox’s OpenTaiko-OutFox standard draft (?)) Examples: H008 , HHH8 , H001 |
(see 6 ) Small orange-ish red circle with bar attached behind (OutFox) |
(see 6 ) |
(same as 5 ) (OpenTaiko (0auBSQ)) Similar to 5 but only consumes (?) and reacts to surface inputs. (OutFox’s OpenTaiko-OutFox standard draft) Awards the same as 5 . |
(impossible to fail) | By analogy with Konga mode OpenTaiko-OutFox standard, first proposed from OutFox. First seen in: OpenTaiko-OutFox standard, OpenTaiko (0auBSQ) v0.5.4 |
7 |
Head of regular 激 連 打/ゲ キ 連 打 “fierce drumroll” burst note / 風 船/ふ う せ ん balloon Examples: 7008 , 7778 , 7001 |
Small orange circle (slightly brighter than 1 ) with orange-ish red balloon attached behind |
ふ う せ ん Balloon | Roll on the drum surface with exactly certain amount of reacted hits during its duration, consumes each surface or rim (?) hit with unlimited speed, reacts to each surface hit up to 1 hit per 60fps frame (official games). Each reacted hit increases score (except for CS4–5, TDM, & PSP1–2). Awards extra score bonus† when cleared. |
Fail to input enough amount of reacted hits. Does not give penalties except that notes (except bombs/mines (?)) placed within the duration of the ballon are impossible to hit while the balloon is not cleared. |
First seen in: TJF format |
8 |
Explicit end of a drumroll-type note (if any), otherwise (blank) | (round end of a bar) (end of bar drumrolls) (none) (otherwise) |
(っ!!) (end of bar drumrolls) (none) (otherwise) |
Nothing needs to be done. Consumes no input. | (impossible to miss) | Stopping rolling the drum non-after the point (end of drumrolls) Introduced to replaced the TJF syntax for specifying drumroll duration ( 5555 / 7777 ) (explained below). |
9 |
Head of special burst note/balloon (Differ from game to game) Examples: 9008 , 9998 , 9001 |
(Vary) Big yellow circle with potato attached (PS2-generation) Big yellow circle in the shape of a confetti ball 🎊 (PS3- and PC-generation) Has particle decorative visual effects in AC. |
く す 玉 Party Popper (Strictly speaking, 薬 玉/く す 玉 “Confetti Ball” 🎊 & party popper 🎉 only resemble each other and are not the same thing) |
(Vary) In AC, roll on the drum surface with exactly certain amount (summed and shared among players) of reacted hits during its duration, consumes each surface or rim (?) hit with unlimited speed, reacts to each surface hit up to 1 hit per 60fps frame (official games). Each reacted hit increases score. Awards vary extra score bonus† when cleared, according to the timing of an additional final hit (consumed) hinted by the player character’s face (AC7) or whether the note is cleared quickly enough (later AC) |
(same as 7 ) |
In the official games, becomes 7 when not all players encounter 9 with the note head, the full bonus time point, & the note end respectively at the same time position for each player. First seen in: TaikoJiro v2.75 |
A |
Hand-holding big ド ン | Big orange-ish red circle with hands holding with other note(s) for other player(s) | (none) ド ン(手) “DON (Hand)” (in 4-player mode) |
Similar to 3 but awards extra score bonus† if all players hit within a certain time duration |
(same as 3 ) |
In the official games, becomes 3 when no missable hit-type notes exist at the same time position for any of the player above or below the current player. First seen in: TJAPlayer2 for.PC ver.2018040100 Supported by: OpenTaiko-OutFox standard, OutFox v0.4.9.9 |
B |
Hand-holding big カ ツ | Big sky-blue circle with hands holding with other note(s) for other player(s) | (none) カッ(手) “KA (Hand)” (in 4-player mode) |
Similar to 4 but awards extra score bonus† if all players hit within a certain time duration. |
(same as 4 ) |
In the official games, becomes 4 when no missable hit-type notes exist at the same time position for any of the player above or below the current player. First seen in: TJAPlayer2 for.PC ver.2018040100 Supported by: OpenTaiko-OutFox standard, OutFox v0.4.9.9 |
C |
Bomb/mine | Small dark-blue cherry bomb with ignited fuze 💣 | (none) | All hits are too off or not hit (both consumes no inputs). Awards a “bomb/mine-pass” judgment. |
Hit the drum surface or rim within the 可 GOOD/OK (?) timing window, consumes an input. Gives a BOOM (“bomb/mine-miss”) judgment & a combo-break and decreases 魂 ゲージ spirit gauge/soul gauge. |
First seen in: OpenTaiko-OutFox standard Supported by: OpenTaiko (0auBSQ) v0.5.4 |
D |
Fuze/fuse drumroll Examples: D008 , DDD8 , D001 |
? (Big circular clock with blue-ish purple edge and with bar attached behind in OpenTaiko (0auBSQ)) |
(時 爆弾 “Time bomb”/Fuseroll) | Similar to 7 but awards a “bomb/mine-pass” judgment. |
Similar to 7 but gives a BOOM (“bomb/mine-miss”) judgment & a combo-break and decreases 魂 ゲージ spirit gauge/soul gauge. |
Not in the official games. OpenTaiko-OutFox standard, first proposed from OutFox. First seen in: OpenTaiko-OutFox standard, OpenTaiko (0auBSQ) v0.6.0 |
F |
Ad libitum note (AD-LIB) | (invisible by default) | (none) | Hit the drum surface or rim within the 可 GOOD/OK timing window, consumes a surface input. Awards an AD-LIB judgment but keep combo unchanged. |
Not hit within the 可 GOOD/OK timing window (consumes no inputs). Gives no penalties. |
Not in the official games. Inspired by another rhythm game GROOVE COASTER, developed by TAITO First seen in: TJAPlayer2 for.PC ver.2016081500 Supported by: OpenTaiko-OutFox standard |
G |
Swap note | (Vary) Big green circle in taiko-web (plugin “Green Notes”) Big purple circle in OpenTaiko (0auBSQ) |
(グ リー ン Green) (カ ド ン KADON) |
Hit the drum surface (or rim) on left or right side within the 可 GOOD/OK timing window & the drum rim (or surface) on the other left or right side within a certain time duration (consumes a surface input & a rim input in total) Awards the same as 1 according to the timing of the first input. |
Hit too off but within 不 可 BAD judgment window (consumes the first input), or not hit within the 不 可 BAD judgment window (consumes no inputs), or the second input is not given in a certain time duration after the first input (consumes only the first input). Gives the same penalty as 1 . |
Not in the official games. First seen in: taiko-web (plugin “Green Notes”) Supported by: OpenTaiko-OutFox standard, OpenTaiko (0auBSQ) v0.5.4 |
†: No score bonuses if the PC-generation scoring rule is followed.
9
is treated the same as 7
.A
is treated the same as 3
and B
is treated the same as 4
(subjects to changes according to demands).0
to 9
, A
to D
, & F
to J
are all parsed, where C
and H
have work-in-progress gamepad/keyboard input and D
to G
& I
have work-in-progress gamepad/keyboard input and noteskin support as for v0.5.0 pre043 a17.1
, 2
, 3
, 4
, A
, B
.
C
& F
.5
, 6
, 7
, 9
.
5
, 6
, D
.7
, 9
, D
.The head and end of drumroll-type notes have no timing window. In the official arcade game, drumroll inputs are allowed non-before/non-after the containing frame of the judgment timing of the head/end of the drumroll-type note.
During the defined duration interval within a drumroll-type note, either 0
or the symbol of the note head may appear. E.g.: 5008
/ 5558
/ 5058
are all equivalent. Unspecified: Whether other drumroll-type notes can be used in place of the repeated symbol of the note head.
Proposal: Each symbol of the note head inside a bar drumroll note denotes a middle point of the bar which can scroll independently to the head, end, and other middle points of the note.
For special balloons (9
), the last occurrence of repeated note head symbol (if any) defines the full bonus time point. If the note is cleared, full bonus is awarded only by clearing the note non-after that point and partial bonus is awarded otherwise. The full bonus time point is unspecified when no repeated note head symbols ever occur.
By default, drumroll-type notes are ended non-after one of:
8
.
8
by an unspecified duration.#DELAY
s with negative duration to place the hit-type note.
COURSE:Tower
.In the official games, drumroll-type notes are usually intentionally made to end earlier than the designed ending beat position by the amount of beats of a 1/48th note.
Unspecified: Whether other drumroll-type note symbols can appear during a drumroll-type note.
8
did not exist and the duration interval is specified by repeat the note head symbol consecutively, where the last repeated symbol corresponds to TJA 8
, e.g., TJF 5555
= TJA 5558
.Unspecified: The behavior when a drumroll-type note with non-positive time duration is formed, possibly from a drumroll-type note ended by a hit-type note (e.g., 51
/ 56
/ 65
, where the time duration of the drumroll may be shortened as mentioned above) or by using timing settings.
First seen in: TJF format
Supported by: (Universally supported)
8
.Effective when GAME:Jube
is in effect.
Unlike GAME:Taiko
, every 4 hexadecimal digits are grouped together to represent a note combination and occupy the same beat duration interval.
In TJA files, within non-command lines, all whitespaces are ignored by TaikoJiro. In this game mode, every 4 digits are conventionally separated with a space for readability.
(This example is adapted from the README.txt
distributed along with TaikoJiro)
Note Layout → 0/1 Notation → Note Symbol (Hexadecimal Digit)
■■□■ → 1101 → D
□■■□ → 0110 → 6
□□□■ → 0001 → 1
□□□□ → 0000 → 0
■
— Tap note□
— BlankThe above note combination is written D610
.
First seen in: TaikoJiro v2.13
Effective when GAME:Konga
or #GAMETYPE Konga
is in effect.
See the exemplar actual gameplays:
See #SENOTECHANGE for the general patterns of how the alternative forms of 口 唱 歌
“Note phoneticizations” are used.
Note Type | Note Appearance | 口 唱 歌 “Note phoneticizations” in Donkey Konga 3 |
Explanations on Clear | Explanations on Fail | Notes | |
---|---|---|---|---|---|---|
0 |
(blank) | (none) | (none) | Nothing needs to be done. Consume no input. | (impossible to fail) | |
1 |
Right drum beat | Red circle with its right half filled | パ / パッ / パン | Hit the right bongo drum within the OK timing window, consumes a right input. Awards GREAT or OK judgment according to the timing and increases combo. Increases healthy gauge, & score according to awarded judgment. |
Hit too off but within BAD judgment window (consumes a right input) or not hit within the BAD judgment window (consumes no inputs). Gives a BAD (if hit) or MISS‡ (if not hit) judgment & combo break and decreases healthy gauge. |
|
2 |
Left drum beat | Yellow circle with its left half filled | ポ / ポッ / ポン | Hit the left bongo drum within the OK timing window, consumes a left input. Awards the same as 1 . |
Hit too off but within BAD judgment window (consumes a left input) or not hit within the BAD judgment window (consumes no inputs). Gives the same penalty as 1 . |
|
3 |
Both drum beats | Pink circle | D | Hit the left or right bongo drum within the OK timing window & the other left or right bongo drum within a certain time duration (consumes a left input & a right input in total) Awards the same as 1 according to the timing of the first input. |
Hit too off but within BAD judgment window (consumes the first input), or not hit within the BAD judgment window (consumes no inputs), or the second input is not given in a certain time duration after the first input (consumes only the first input). Gives the same penalty as 1 . |
|
G |
(same as 3 ) |
(see 3 ) |
(see 3 ) |
(see 3 ) |
By analogy with Taiko mode. First seen in: OpenTaiko-OutFox standard, OpenTaiko (0auBSQ) v0.5.4, OutFox v0.4.18 |
|
4 |
Clap | Sky-blue circle with star-ish edge | チャ / チャッ / チャン | Clap hands above the bongo drums within the OK timing window, consumes a clap input. Awards the same as 1 . |
Hit too off but within BAD judgment window (consumes a clap input) or not hit within the BAD judgment window (consumes no inputs). Gives the same penalty as 1 . |
|
J |
(same as 4 ) |
(see 4 ) |
(see 4 ) |
(see 4 ) |
Not listed in OpenTaiko-OutFox standard (?) First seen in: OutFox v0.4.18 (?) |
|
5 |
Head of right bar drumroll Examples: 5008 , 5558 , 5001 |
Red circle with its right half filled and with bar attached behind | 連 打~ “Roll~” | Similar to 6 but only consumes (?) and reacts to right inputs. Awards the same as 6 . |
(impossible to fail) | |
I |
Head of left bar drumroll Examples: I008 , III8 , I001 |
Yellow circle with its left half filled and with bar attached behind | 連 打~ “Roll~” | Similar to 6 but only consumes (?) and reacts to left inputs. Awards the same as 6 . |
(impossible to fail) | |
6 |
Head of both bar drumroll Examples: 6008 , 6668 , 6001 |
Pink circle with bar attached behind | 連 打~ “Roll~” | Roll on either bongo drum during its duration, consumes each left, right, or clap (?) hit with unlimited speed, reacts to each left or right hit up to 1 hit per 60fps frame (official games). Increases score per reacted hit. |
(impossible to fail) | |
H |
Head of clap bar applause Examples: H008 , HHH8 , H001 |
Sky-blue circle with star-ish edge and with bar attached behind | 拍 手~ “Applaud~” | Applaud above the bongo drums during its duration, consumes each left (?), right (?), or clap hit with unlimited speed, reacts to each clap hit up to 1 hit per 60fps frame (official games). Increases score per reacted hit. |
(impossible to fail) | |
7 |
Head of regular 激 連 打/ゲ キ 連 打 “fierce drumroll” burst note / 風 船/ふ う せ ん balloon Examples: 7008 , 7778 , 7001 |
Small orange circle (slightly brighter than 1 ) with orange-ish red balloon attached behind |
(ふ う せ ん Balloon) | Roll on either bongo drum with exactly certain amount of reacted hits during its duration, consumes each left, right, and clap (?) hit with unlimited speed, reacts to each left or right hit up to 1 hit per 60fps frame (official games). Each reacted hit increases score. Awards extra score bonus† when cleared. |
Fail to input enough amount of reacted hits. Does not give penalties except that notes (except bombs/mines (?)) placed within the duration of the ballon are impossible to hit while the balloon is not cleared. |
By analogy with Taiko mode. First seen in: OpenTaiko-OutFox standard |
8 |
Explicit end of a drumroll-type or applause note (if any), otherwise (blank) | (round end of a bar) (end of a bar drumroll or applause) (none) (otherwise) |
(none) | Nothing needs to be done. Consumes no input. | (impossible to miss) | Stop rolling both the bongo drums or clapping non-after the point (end of drumrolls) |
9 |
Head of special burst note/balloon | (Vary) | (く す 玉 Party Popper) | (Vary) Roll on either bongo drum with exactly certain amount (summed and shared among players) of reacted hits during its duration, consumes each left, right, or clap (?) hit with unlimited speed, reacts to each left or right hit up to 1 hit per 60fps frame (official games). Each reacted hit increases score. Awards vary extra score bonus† when cleared, according to whether the note is cleared quickly enough. |
(same as 7 ) |
Might become 7 when not all players encounter 9 with the note head, the full bonus time point, & the note end respectively at the same time position for each player. Not in the official games. By analogy with Taiko mode. First seen in: OpenTaiko-OutFox standard |
A |
Hand-holding both drum beats | (Pink circle with hands holding with other note(s) for other player(s)) | ? | Similar to 3 but awards extra score bonus† if all players hit within a certain time duration |
(same as 3 ) |
Might becomes 3 when no hit-type notes exist at the same time position for any of the player above or below the current player. Not in the official games. By analogy with GAME:Taiko . First seen in: OpenTaiko-OutFox standard, OpenTaiko (0auBSQ), OutFox |
B |
Hand-holding clap beat | (Sky-blue circle with star-ish edge and with hands holding with other note(s) for other player(s)) | ? | Similar to 4 but awards extra score bonus† if all players hit within a certain time duration. |
(same as 4 ) |
Might becomes 4 when no hit-type notes exist at the same time position for any of the player above or below the current player. Not in the official games. By analogy with Taiko mode. First seen in: OpenTaiko-OutFox standard, OpenTaiko (0auBSQ), OutFox |
C |
Bomb/mine | (Small dark-blue cherry bomb with ignited fuze 💣) | (none) | All hits are too off or not hit (both consumes no inputs). Awards a “bomb/mine-pass” judgment. |
Hit either bongo drum or clap within the OK (?) timing window, consumes an input. Gives a BOOM (“bomb/mine-miss”) judgment & a combo-break and decreases healty gauge. |
Not in the official games. By analogy with Taiko mode. First seen in: OpenTaiko-OutFox standard, OpenTaiko (0auBSQ) |
D |
Fuze/fuse drumroll Examples: D008 , DDD8 , D001 |
(Big circular clock with blue-ish purple edge and with bar attached behind in OpenTaiko (0auBSQ)) | (時 爆弾 “Time bomb”/Fuseroll) | Similar to 7 but awards a “bomb/mine-pass” judgment. |
Similar to 7 but gives a BOOM (“bomb/mine-miss”) judgment & a combo-break and decreases healthy gauge. |
Not in the official games. By analogy with Taiko mode. OpenTaiko-OutFox standard, first proposed from OutFox. First seen in: OpenTaiko-OutFox standard, OpenTaiko (0auBSQ) v0.6.0 |
F |
Ad libitum note (AD-LIB) | (invisible by default) | (none) | Hit either bongo drum or clap within the OK timing window, consumes a surface input. Awards an AD-LIB judgment but keep combo unchanged. |
Not hit within the OK timing window (consumes no inputs). Gives no penalties. |
Not in the official games. By analogy with Taiko mode. First seen in: OpenTaiko-OutFox standard, OpenTaiko (0auBSQ) |
†: No score bonuses if the PC-generation scoring rule is followed.
‡: A BAD judgment in Konga games corresponds to a hit 不 可 BAD judgment in Taiko games, while a MISS judgment in Konga games corresponds to a unhit 不 可 BAD judgment in Taiko games.
A
is treated the same as 3
and B
is treated the same as 4
(subjects to changes according to demands).0
to 9
, A
to D
, & F
to J
are all parsed, where C
have work-in-progress gamepad/keyboard input and D
have work-in-progress gamepad/keyboard input and noteskin support as for v0.5.0 pre043 a17.The note handling details of the Taiko mode apply. See the explanation in Note Symbols in Taiko Mode.
First seen in: OpenTaiko (0auBSQ) v0.5.4
Supported by: taiko-web (plugin “Donkey Konga Mode”), OutFox
&
is used only for conjoining independent nouns with similar grammar structure and and
is used otherwise.
The ITALIC BOLD ALL-UPPER-CASE keywords MUST, MUST NOT, SHOULD, SHOULD NOT, & MAY are to be interpreted as described in RFC 2119: https://www.rfc-editor.org/rfc/rfc2119
The time relation is denoted as follow:
Word | Before | Non-after | At | Non-before | After |
---|---|---|---|---|---|
Time relation | < | ≤ | = | ≥ | > |
The fraction (for beat duration, etc.) is denoted as follow:
Word | whole | half | 1/3rd | quarter 1/4th |
1/8th | 1/16th | … |
---|---|---|---|---|---|---|---|
Fraction | 1/1 | 1/2 | 1/3 | 1/4 | 1/8 | 1/16 | … |
Other spellings |
whole | half | third | quarter fourth |
eighth | sixteenth | … |
If a usage causes unspecified behavior or the behavior itself is unspecified, the actual or intended behavior may vary from simulator to simulator and/or dependent on user settings. When portability is concerned, such a usage and the behavior SHOULD be avoid and the actual behavior SHOULD NOT be depended upon.
Because this article is still in construction and the TJA format is still evolving, this is possible that some usages or behaviors are stated as unspecified but the actual or intended behaviors are/have become consistent among most simulators.
(normal) > timing > scoring > gimmicky > decorative
The maximum level of impact of the headers and commands are listed in the description of their scope.
Changing the value of a header or command whose impact level ≤ scoring never affects the required timing and types of the gameplay input.
Changing the value of a header or command whose impact level ≤ gimmicky also never affects the sorting order of the song or the gameplay and scoring rules.
A gimmicky header or command may affect the difficulty for reading the notechart during gameplay, while a decorative header or command usually does not.
”)\t
)\r
)\n
)
”)Japanese terminologies of the game: https://wikiwiki.jp/taiko-fumen/用語集
Japanese terminologies are provided with their pronunciation annotated using a 訓 令 式 ロー マ 字-like romanization system. If a Japanese terminology can be written in 漢 字 “Chinese Character” form, both are listed.
Some of the 漢 字 “Chinese Character” form of the Japanese terminologies are literally taken as the Chinese translation.
For some terminologies of the game, there exist multiple English translations. Their are expressed as "LIT"/TDM/TKT/PC (ALTs)
when necessary in this article:
"LIT"
— A rather literal translationTDM
— The earlier English translation from the official PS2 console game Taiko: Drum MasterTKT
— https://taikotime.blogspot.com/2010/12/glossary.htmlPC
— The official English translation from the official PC-generation games and the official English website: https://taiko.namco-ch.net/taiko/enALTs
— Alternative translation(s) usually used in the code & the notechart formatFields with unknown (not existing or simply not investigated by the maintainer of this article) translation are denoted with ?
.
Translations which are simply romanization transliterations are omitted.
Some corresponding terminologies from other rhythm games are taken as one of the translations instead: See individual entries of https://github.com/stepmania/stepmania/wiki
Reference: 太鼓シミュレーター一覧 (“List of Taiko Simulators”). (2022, July 26). 太鼓の達人 Wiki (“Taiko no Tatsujin Wiki”). https://wikiwiki.jp/taiko/太鼓シミュレーター一覧
Unless stated otherwise, a simulator mentioned in this article also refers to its derivations.
The honorific title is omitted.
Readme.txt
readme.txt
& readme.html
distributed along with TaikoJiro.