DTX file format specifications

note: This manual is a English translation from the original DTXMania help file (written in Japanese).

I'm not good at English, the sentences, expressions ... & so on may not common one. If you will rewrite them, please let me know about it. I'll link to them to supersede ;-)

There may be some differences between original Japanese version and this English version. Basically, Japanese version is prior to the English version.

Updates on the DTXMania Release 068:

  • #SOUND_NOWLOADING?, #SOUND_STAGEFAILED? and #SOUND_FULLCOMBO? to specify sound filename for nowloading / stagefailed / fullcombo.

Updates on the DTXMania Release 060-065b070610:

  • #SIZEzz? to change chip display size percentage.
  • Additional channels to change Drums fill-in sound?, Guitar wailing sound? and Bass wailing sound?.
  • #HIDDENLEVEL ON? to mask difficulty level on the music select screen.
  • #RESULTSOUND_xx? provides you to change the sound on the result screen.
  • #BMP (without any chip numbers)? provides you the BGA displaying from the beginning.
  • #BACKGROUND_GR? provides you background image on the Guitar-only mode.
  • #AVIPANzz? provides you panning avi like #BGAPANzz?.
  • Ogg Vorbis is supported!! (You can use it without installing any codecs.)

Updates on the DTXMania Release 059:

  • #PREMOVIE? and #RESULTMOVIE? support to use AVI files in the PREVIEW / RESULT screen.
  • #BMPTEX? support to use transparent PNG.
    Caution: don't use over 1024x1024 transparent PNG.
  • You can use #STAGEFILE? with #RANDOM?.
  • Channel 1A?, 3A? and BC? support.
    (LeftCymbal lane. You can use it independently from "open hi-hat" at last!)
  • Channel C4, C7, D5-D9, E0? support.
    (To swap BGA bitmap while scrolling!!)
  • Channel C1? and C2? support. (To handle with BAR/BEAT line)

 Basic structures

DTX file(file extention: .DTX )is a text file. DTX files include these two contents....Header? and Objects?.

Type Description
Header To set general informations (title, wav file etc...)
Object Music score informations (when / where / what do you locate the chips?)
You can specify the feature(*) of the chip by selecting the channels?.
(*) Hi-hat, snare ... etc

The sample about DTX data file

Format

Basically, DTX format is based on BMS format. However, DTX format doesn't include all BMS specification.

Comments

DTXMania ignores the lines which

  • is not start from "#" character
  • is not supported description

DTXMania handle ";" character as a comment. DTXMania ignores from the ";" to the end of line,
Note: GDAC2 can't handle ";" as a comment mark. So you should not use ";" in the middle of line.

; first measure                 <- comment line
#00111 0101010101010101 ; HiHat <- comment in-line (GDAC2 can't handle with it)
#00112 00020002         ; Snare
#00113 03000300         ; Bass

Audio files

DTXMania can handle with WAV, XA, MP3 and OGG. You need MP3 codec in your PC if you want to use MP3 in DTXMania. OGG can be used in DTXMania Release 062b060416 or later. You don't have to install OGG codec, as DTXMania can decode OGG without any OGG codecs.

Image files

DTXMania can handle with BMP, PNG and JPEG.

Video files

DTXMania can handle with AVI files. DTXMania supports only VFW (Video for Windows; AVI flle) , not support DirectShow.

Usually the codecs have some restrictions. For example, in most MPEG4 codecs, the width and the height must be a multiple of 16(sixteen). If you don't follow them, DTXMania may cause unexpected system error.


 Header Descriptions

*? #TITLE <song title>
The title of song data.
*? #ARTIST <artist name>
The song's artist name.
*? #GENRE <genre name>
The song's genre name. (Rock, Progress etc)
*? #COMMENT <comments of yours>
Comments for the song data.
*? #PANEL <comments on playing screen>
The comment at the bottom right which scrolls during playing the score. If #PANEL is not assigned, the #TITLE (song title)? is used in place of #PANEL.
*? #DLEVEL <level value>
*? #GLEVEL <level value>
*? #BLEVEL <level value>
The difficulty of drums, guitar and bass. The difficulty is defined as ... (easiest = 1 -- 100 = hardest) in DTX/G2D format.

In GDA format, the difficulties 1-10 are handled with 10-100 in former DTXMania Release. (the value 1, 2, ... , 9 and 10 mean the difficulty 10, 20, ... , 90 and 100)
In DTXMania Release 065b070610 or later, all GDA difficulty values are equals to levels (like DTX/G2D).
*? #HIDDENLEVEL ON (DTXMania Release 065b070610 or later)
It masks difficulty level to the "??" on the music select screen.
*? #BPM <the value of BPM>
The BPM (Beat per Minute; number of quarter-notes in one(1) minute) at the beginning of the song. You can use decimals (eg. 123.34).
*? #BPMzz <the value of BPM>
The BPM at the middle of the song.
#BPM? is used for the BGM beginning of the song, #BPMzz can used for changing the BPM with decimal at the middle of the song.
You can set the BPM value on #BPMzz and use it in Exntended tempo channel (08)?. zz is 36-decimal expression (01-ZZ)
e.g.
 #BPM01 100.23
 #01008 00010000
 ; from the 10th bar 2nd beat, BPM is changed to 100.23
*? #BASEBPM <the value of BASEBPM>
The base value of BPM ... to add all other BPM value (channel 03?, 08?) except #BPM?.
e.g.
 #BASEBPM 100
 #01203 FF
 ; from the 10th bar (1st beat),
 ; BPM is changed to 255 + 100 = 355.
 ; (note  FF (hexadecimal number) = 255 (decimal number) )
*? #STAGEFILE <now loading image filename>
"Now loading" image. You can use BMP, JPEG or PNG format.
It is up tp 640x480 pixels. If it is over than 640x480, it will be clipped.
*? #PREVIEW <preview sound filename>
The preview sound file which is played in the music selection screen.
*? #PREIMAGE <preview image filename>
Preview image in the music selection window. (204x269 pixels)
You can use BMP, PNG or JPEG.
If it is over than 204x269, it will be clipped.
You should draw a white frame into the preview image. (to harmonize with other preview images)
*? #PREMOVIE <preview movie filename> (DTXMania059 or later)
Preview movie in the music selection window. (204x269 pixels)
You can use AVI.
If it is over than 204x269, it will be clipped.
*? #BACKGROUND <waillpaper filename>
Wallpaper for the playing-song-screen (640x480 pixels).
You can use BMP, PNG or JPEG.
If it is less than 640x480, it will be shown repeatedly.
*? #BACKGROUND_GR <waillpaper filename for Guitar Revolution mode> (DTXMania Release 063b060518 or later)
Wallpaper for the playing-song-screen (640x480 pixels), exclusively used for Guitar Revolution mode.
See #BACKGROUND? for detail.
*? #WALL <waillpaper filename>
Same as #BACKGROUND?.
You can also set wallpaper by using "#BACKGROUND". BandJAM can handle with #BACKGROUND, but can't with #WALL. So you can set #WALL first and #BACKGROUND latter to set another wallscreen in BandJAM and DTXMania.
*? #BMP <BGA image file> (DTXMania Release 063b060518 or later)
Set initial BGA image. (278x355 BMP, PNG, JPEG)
Though #BMPzz? can't set BGA image from the beggining of playing, #BMP can.
*? #SOUND_NOWLOADING <nowloading sound filename> (Release 068 (080511) or later)
Now loading sound. (see also #STAGEFILE?)
*? #SOUND_STAGEFAILED <stage failed sound filename> (Release 068 (080511) or later)
STAGE FAILED sound.
*? #SOUND_FULLCOMBO <full combo sound filename> (Release 068 (080511) or later)
FULL COMBO sound.
*? #RESULTIMAGE <result screen image filename> (DTXMania Release 049a or later)
Image shown in the result screen. (204x269 pixels BMP, PNG and JPEG... the same as #PREIMAGE? file)

You can also use #RESULTIMAGE_xx? which can change the RESULTIMAGE by your playing grade. You can use SS,S,A,...,E for the "xx"

If both #RESULTIMAGE and #RESULTIMAGE_xx? are omitted, #PREIMAGE? are used for the result image.
e.g.

#PREIMAGE resimage0.jpg
#RESULTIMAGE_A resimage1.jpg
#RESULTIMAGE_D resimage2.jpg

;If your rank is...
; -SS, S or A: resimage1.jpg is used for the result image
; -B, C or D: resimage2.jpg is used for the result image
; -E: resimage0.jpg is used for the result image
*? #RESULTIMAGE_xx <result screen image filename> (DTXMania Release 049a or later)
Image shown in the result screen. See #RESULTIMAGE?.
*? #RESULTMOVIE <result movie filename> (DTXMania Release 059 or later)
Movie shown in the result screen. Usages are the same as #RESULTIMAGE?.
*? #RESULTMOVIE_xx <result movie filename> (DTXMania Release 059 or later)
Movie shown in the result screen. Usages are the same as #RESULTIMAGE_xx?.
*? #RESULTSOUND <result screen sound filename> (DTXMania Release 065b070610 or later)
Sound in the result screen. Usages are the same as #RESULTIMAGE?.
*? #RESULTSOUND_xx <result screen sound filename> (DTXMania Release 065b070610 or later)
Sound in the result screen. Usages are the same as #RESULTIMAGE_xx?.
*? #WAVzz <WAV(, MP3, XA or OGG) filename>
To set the WAV/XA/MP3/OGG file to the sound-chip No. zz. "zz" is 36-decimal expression (01-ZZ) . You can use OGG in DTXMania Release 065b070610 or later.

In case you use MP3 file, you have to install MP3 codec first, by installing the latest Windows Media Player?. (sorry linked page is in Japanese)

Each drums lane, DTXMania can play two WAV/XA/MP3/OGG file simultaneously (= Every drums lanes are the two-poliphonic sound generator).
Each guitar or bass lane, you cannot play the same WAV/XA/MP3/OGG file simultaneously (= Every guitar/bass lanes are the monophonic sound generator).

The number "zz" is used in wave-related-channels (01?, 11-1A?, etc.)
*? #VOLUMEzz <volume percentage>
Adjust the volume rate on the sound-chip No. zz?. "zz" is 36-decimal expression (01-ZZ) .
You can set the volume parameter as 1-100(percent). Note that you cannot set it over 100.
e.g.

#WAV20 snare.wav
#WAV21 snare.wav
#VOLUME21 50

The volume of ...
  sound-chip No.20: Same as original snare.wav (= 100%)
  sound-chip No.21: Half of original snare.wav (= 50%)
*? #WAVVOLzz <volume percentage> (obsolete)
Same as #VOLUMEzz?. You should not use #WAVVOL, because GDAC2 misunderstanding it as #WAV. You should use #VOLUMEzz?.
*? #PANzz <panning position parameter>
Adjust the stereo positioning of the sound-chip No. zz?. "zz" is 36-decimal expression (01-ZZ) .

You can set the panning parameter from -100 to 100. -100 means "extreme left", 0 means "center" and 100 means "extreme right".
*? #WAVPANzz <panning position parameter> (obsolete)
Same as #PANzz?. You should not use #WAVPAN, because GDAC2 misunderstanding it as #WAV. You should use #PANzz?.
*? #SIZEzz <chip display size percentage> (DTXMania Release 066b071015 or later)
Changing the display size of the sound chip No. zz?. "zz" is 36-decimal expression (01-ZZ) .
You can set the volume parameter as 1-100(percent). Note that you cannot set it over 100.
*? #BMPzz <image filename>
To set the image file to the image-chip No. zz. "zz" is 36-decimal expression (01-ZZ) .
You can use BMP, PNG or JPEG.
(The sound-chip and image-chip exist independently. So you can use same chip No. for both sound and image.)

The image size is 278x355. If it is less than 278x355, it will be centerized. If it is over than 278x355, it will be clipped.

*? #BMPTEXzz <image filename> (DTXMania Release 059 or later)
(in case you don't clip yourself by #BGAzz?/#BGAPANzz?).

The number "zz" is used in BGA(Back Ground Animation)-related-channels (04?, 07?, 55-59, 60?) to show the BGA.

You can't show any BGA image (using #BMPzz) from the begging of playing. If you would like to do, use #BMP?(without any chip numbers), #BACKGROUND? or #BACKGROUND_GR? instad of #BMPzz. Almost all the same with #BMPzz?. #BMPzz uses surface to draw, but #BMPTEXzz uses texture to draw. So you can use alpha blending on #BMPTEX. (Only PNG handle with alpha. BMP/JPEG cannot.)

Note: Texture-drawing uses resources heavily. So you may not use it..... not only it makes choppy, but also no BGA appears / DTXMania shutdown suddenly etc....
For example, RAGE128 cannot handle over 1024x1024 BMPTEX. If you use larger one, GPF is happen on DTXMania!!
*? #BGAzz <image-chip No.> <x1> <y1> <x2> <y2> <ox> <oy>
To set the "extended-BGA-area" for the BGA-chip No. zz.

"extended-BGA-area" is the feature that you can put the "specified area of the image" to the "specified position of the screen"

The number "zz" is used in BGA-related-channels (04?, 07?, 55-59, 60?) to show the BGA.

Parameter Description
zz 36-decimal expression (01-ZZ) which is defined at #BMPzz?.
image-chip No. specify the number (zz) which is used at #BMPzz? to specify the original image. (to be clipped)
x1, y1 clipped from (x1, y1) on the image No. 'zz'
x2, y2 clipped to (x2, y2) on the image No.'zz'.
ox, oy the clipped image will be put on the BGA screen position (ox, oy).
e.g.

#BMP01 100x100image.png
#BGA03 01 -40 -30 60 70 0 0
#01004 03

; As the BGA-chip No. 03,
; make cliiped area (-40,-30)-(60,70) from 100x100image.png,
; and it would be put on (0,0) of DTXMania BGA area 
; bottom layer (channel 04)
; at the 10th BAR 1st beat.

Note:
In case x1 (or y1) is less than 0, it will be clipped to 0 at first, and it would be put on the screen (ox, oy). (same as BM98 way)

Clipping and Positioning in #BGA (BM98 way)

*? #BGAPANzz <image-chip No.> <sw> <sh> <ew> <eh> <ssx> <ssy> <sex> <sey> <dsx> <dsy> <dex> <dey> <len>
To set the "BGA-image panning" to the BGAPAN-chip No. zz.
"BGA-image panning" is the feature that you can put the "specified area of the image" to the "specified position of the screen" with "moving/scrolling/resizing".
(Resizing means the change of clipped rectangle size. It doesn't mean the scaling.)

The number "zz" is used in BGA(Back Ground Animation)-related-channels (04?, 07?, 55-59, 60?) to show the BGA.
Parameter Description
zz 36-decimal expression (01-ZZ) which is defined at #BMPzz?.
image-chip No. specify the number (zz) which is used at #BMPzz? to specify the original image. (to be clipped)
sw, sh clipped-area-size (width, height): initial value.
ew, eh clipped-area-size (width, heigit): destinate value.
ssx, ssy clipped-from (x, y): initial position.
sex, sey clipped-from (x, y) destinate position.
dsx, dsy BGA-screen (x, y): initial position.
dex, dey BGA-screen (x, y): destinate position.
len The duration-time from the initial-position to the destinate-position. The duration value is 384 per one(1) BAR. It does not depend on the magnifications of the BAR.
(e.g. In case "2/4 time" the BGA moving speed is twice as "4/4 time".)
e.g.

#BMP01 200x400image.jpg
#BGAPAN03 01 50 50 100 80 0 0 60 200 85 60 55 250 192
#01007 03



Initial:
Using the image No. 01.
The rectangle area of (0,0)-(0+50,0+50) on 01 (200x400image.jpg)
would be put on the DTXMania BGA area (85,60)-(85+50,60+50).

Destination:
The rectangle area of (60,200)-(60+100,200+80) on 01 (200x400image.jpg)
would be put on the DTXMania BGA area (55,250)-(55+100,250+80).

During the animation, the area size changes in linear.
During the animation, the area moves in linear.
The animation continues in 192 count (= half-note)
The animation starts on 10th BAR 1st beat.
The animation is put on 2nd BGA layer. (Channel 07)

#BGAPAN sample

Note:
In case x1 (or y1) is less than 0, the image is NOT clipped to put. (DTXMania way; it is not different from #BGA? way.)

#BGAPAN Clipping and Positioning (DTXMania way)

*? #AVIzz <AVI filename>
To set the AVI file to the AVI-chip No. zz. "zz" is 36-decimal expression (01-ZZ) .

The number "zz" is used in AVI playback channel (54?).
*? #VIDEOzz <AVI filename> (obsolete)
Same as #AVI?.
*? #AVIPANzz <video-chip No.> <sw> <sh> <ew> <eh> <ssx> <ssy> <sex> <sey> <dsx> <dsy> <dex> <dey> <len>

(DTXMania Release 063b060518 or later)

*? #MIDINOTE <ON|OFF>
This is #BGAPANzz? for AVI. If you set the #MIDINOTE ON, MIDI NOTE-ON signal is sent to MIDI OUT channel 10.
(the sound-chip sounds, too.)

The MIDI NOTE number is the same as the number of sound-chip's.
*? #RANDOM <value>
To generate the random number from 1 to <value>. The generated random value is used in #IF? tag.
<value> is decimal digit.
*? #IF <value> ... #ENDIF
If #RANDOM-tag?-generated-value equals to the <value>, then the lines #IF ... #ENDIF are valid.
If it doesn't equals to, the lines #IF ... #ENDIF are skipped.

You can nest #IF #IF #IF ... up to 255 depth.
e.g.

 #RANDOM 3

 #IF 1
   #WAV01 voice1.mp3
 #ENDIF
 #IF 2
   #WAV01 voice2.mp3
 #ENDIF
 #IF 3
   #WAV01 voice3.mp3
 #ENDIF

At #RANDOM line, some random value is generated.
The value will be 1, 2 or 3.
 -If the value equals to 1, the voice1.mp3 will be set to the chip-sound No.1.
 -If the value equals to 2,.....(snip)
 -The value changes for each play. It means the sound of sound-chip No. 01
  changes for each play.

Note: You can't apply #RANDOM? to almost all the header descriptions (#TITLE?, #STAGEFILE etc...), since DTXMania accelerate the speed to load the song data.
You can use #STAGEFILE? in #RANDOM?. (DTXMania059 or later)


 Objects description

*? #nnncc <object list>
To define the playing informations (as the object list) at the BAR(measure) number "nnn" / channel number "cc".
The BAR No. "nnn" is decimal digit (000 - 999)(*).
The channel No. "cc" is hexadecimal (01 - FF). (see later?)

(*) In DTXMania 041a or later, the third position of a figure is 36-decimal expression (0-9,A-Z) and the BAR No. can be 000-Z99. It means the maximum measure number is 3599.

Object list format

Object list describes that " In which part(lane), where and what objects are there, in specified measure? "
The object is defined as 36-decimal 2 digits expression (01-ZZ) , and objects are arranged evenly in the measure.

This example express the drums score below.

e.g.
  #WAV01 hihat.wav
  #WAV02 snare.wav
  #WAV03 bass.wav

  #00111 0101010101010101
  #00112 00020002
  #00113 0300000303000000

Let's review each line in this sample.

The object list consits of objects. The object is expressed with 2-digits value (00-ZZ).

"#00111 0101010101010101" -> "#00111 01 01 01 01 01 01 01 01"

It means

  • At the measure number 001,
  • for the channel 11,
  • put 8(eight) object 01s evenly in the measure.

The channel 11? means "Hihat(close) chip arrengements".

That is to say, the object list shows " 8(eight) chips (defined as hihat.wav) in the hi-hat lane."

In the same way,

"#00112 00020002" -> "#00112 00 02 00 02"

means

  • At the measure number 001,
  • for the channel 12 (snare lane),
  • put 4(four) objects (00, 02, 00 and 02) evenly in the measure.

DTXMania handle the object "00" as the null, and you can't assign the wave file to it like"#WAV00". As the result, "no chip", "snare.wav chip", "no chip" and "snare.wav chip" are arrenged evenly in the measure.

"#00113 0300000303000000" -> "#00113 03 00 00 03 03 00 00 00"
  • At the measure number 001,
  • for the channel 13 (bass lane),
  • put 8(eight) objects (03, 00, 00, 03, 03, 00, 00 and 00) evenly in the measure.

and the bass.wav are arrenged to the 1st, 4th and the 5th of eight time.

You can insert '_' (underbar) anywhere in the object list. There is no semantic meanings, however, it is useful for the human reading.

e.g.
  #00111 01010101_01010101     / or 01010101_01010101
  #00112 0002_____0002         / or 00__02___00__02__
  #00113 03000003_03000000     / or 03000003_03000000

You can describe a single measure with plural object lists. If there are plural object lists that are for same measure and for same channel, they will be merged.

Here is an example that contains sixteenth-notes and twelfth-notes(triplet) in a same measure.

e.g.
  #00112 02020202_02020202_00000000_00000000   -> first half parts (sixteenth notes)
  #00112 000000___000000___020202___020202     -> latter half parts (triplet notes)
  #00113 03_______03_______03_______03

Channels Informations

*? 00 [Tempo] (obsolete)
Not supported in DTXMania because it has been already abolished in BMS format. You prefer to use channel 03 (BPM)?.
*? 01 [back chorus(BGM)]
This channel is used for the BGM.
Though you can also use the channel 61-92?, these channels are monophonic. The channel 01 has special features for the BGM that
    • polyphonic.
    • adjust positions automatically to play WAVE (to avoid the off-sync on other PCs. To use this feature, you have to set AdjustWave:ON in CONFIGURATION. )
*? 02 [BAR length (decimal/float)]
To change the length of the measure. (= to change the time signature.) Though the total length of measure is changed, intervals of beats are not changed. For example,
    • The value one(1) means 4/4 bar.
    • 0.75 means 3/4 bar.
    • 1.0625 means 17/16 bar.
e.g.
  #01902 0.75
  #01911 010101
  #01912 010101010101010101

From the 19th bar,
the time signature changes to 3/4.
Though the interval between the BEAT line is same as 4/4,
but the number of the BEAT line decrease to two(2).

In case of above example,
on the 19th BAR,
there are 3 quarter-notes of hi-hat and 
9 triplets of share.

Note: In the BMS format, changing the length of the measure keeps only a single measure. In other words, the length is reseted to 1(=4/4) in next measure.
In the DTX format, the length is kept until you set another length.

*? 03 [BPM / number of quarter-notes in one(1) minute]
To change the BPM. The BPM-object is specified as hexadecimals (01-FF). (Not 36-decimal expression (01-ZZ).

Note that the value in #BASEBPM? parameter would be added to this BPM.
e.g.
  #BPM 220
  #BASEBPM 200

  #03103 0042

At first, BPM=220.
From 31th BAR 3rd BEAT(= intermediate of the BAR),
BPM is changed to 266. (42 hexadecimals = 66 decimals, 200+66 = 266)
*? 04 [BGA (Back Ground Animation) / bottom layer]
Put the specified BGA to the display. You can specify the value which is defined as "zz" in #BMPzz?, #BMPTEXzz?, #BGAzz? and #BGAPANzz?.

If same number is used among #BMP?, #BMPTEXzz?, #BGA? and #BGAPAN?, the priority is #BGAPAN? (high) -> #BGA? -> #BMPTEXzz? -> #BMP? (low).

The BGA drawing area is 278x355. If the bitmap is smaller than 278x355, it will be centralized in vertical and be drawed up to the top.
If the bitmap is bigger than 278x355, it will be clipped.

The drawed BGA is not disappear until next BGA-chip comes up.
*? 05 [Extend Object]
Not supported. (No plan to support)
*? 06 [change the MISS animations]
Not supported. (it's disagreeable)
*? 07 [BGA / 2nd layer]
Almost all the same as the channel 04(BGA / bottom layer).?

This "2nd layer BGA" overdraws the "bottom layer BGA" specified in the channel 04.? THE BLACK (color No. 0 on DirectX) is transparent.
*? 08 [Extended tempo(BPM)]
To change the BPM. On the channel 03?, you set the BPM value directly as the object number. On this channel (08), you set the "zz" value you've defined in #BPMzz?.

For the interger BPM, the channel 03? is prefer to use. For the real BPM, this channel (08) is prefer.
e.g.
#BPM 123.45
#BPM01 234.56
#00303 00007000
#00603 00010000

BPM=123.45 from the 0th BAR 1st BEAT to the 3rd BAR 2nd BEAT.
BPM=112.00 from the 3rd BAR 3rd BEAT to the 6th BAR 1st BEAT.
(112 decimals = 70 hexadecimals)
BPM=234.56 from the 6th BAR 2nd BEAT to the end of the song.

(In case BASEBPM=0)
*? 09-10 [BMS-reserved channels]
*? 11-1A [Drums notes]
Drums scores. You set the sound-chips? to these channels to arrange the drums scores.
The channels and the drum lanes are related as;
11 = HiHatClose
12 = Snare
13 = BassDrum
14 = HighTom
15 = LowTom
16 = Cymbal
17 = FloorTom
18 = HiHatOpen
19 = RideCymbal
1A = LeftCymbal (DTXMania Release 064b061229 or later)
Note that the order for cymbal and floor-tom.
(In BM98, 16=Scratch key, 17=Free Scratch and 18,19=Reserverd.)
*? 1F [Fill in sound (drums)] (DTXMania Release 065b070610 or later)
It changes drums fill-in? sound to the sound-chips defined by #WAVzz.?
e.g.

#WAV01 explosion.wav
#WAV02 excites.wav
#0031F 01
#0061F 02

Default fill-in sound (System\Sounds\Audience.ogg) is used in 0th-2nd BAR.
explosion.wav is used for the fill-in sound from the 3rd BAR to the 5th BAR.
excites.wav is used for the fill-in sound from the 6th BAR to the end of the song.
*? 20-27 [Guitar notes]
Guitar scores. You set the sound-chips? to these channels to arrange the guitar scores.
The channels and the guitar lanes are related as;
20 = OPEN      ; G0 channel in GDA,G2D format (OPEN)
21 = _ _ B     ; G1 channel in ...
22 = _ G _     ; G2 channel in ...
23 = _ G B     ; G3 channel in ...
24 = R _ _     ; G4 channel in ...
25 = R _ B     ; G5 channel in ...
26 = R G _     ; G6 channel in ...
27 = R G B     ; G7 channel in ...
*? 28 [Wailing (Guitar)] (DTXMania049b or later)
To set Wailing (WAILING BONUS) chip for the guitar. You can use any chip number except 00 (01-ZZ) as wailing.
*? 29 [flow-speed (guitar)]
Not supported.
*? 2F [Wailing sound (guitar)] (DTXMania Release 065b070610 or later)
It changes the guitar wailing? sound to the sound-chips defined by #WAVzz.?
e.g.

#WAV01 explosion.wav
#WAV02 excites.wav
#0032F 01
#0062F 02

Default wailing sound (System\Sounds\Audience.ogg) is used in 0th-2nd BAR.
explosion.wav is used for the fill-in sound from the 3rd BAR to the 5th BAR.
excites.wav is used for the fill-in sound from the 6th BAR to the end of the song.
*? 30 [flow-speed (drums)]
Not supported.
*? 31-3A [Drums invisible object]
To set dummy sound-chip.

The chips are not shown on the lanes, and are not played.
It means they have nothing to do with playing the drums whatever you play it as the same as the score comes.

When you hit the pad but there isn't any chips, DTXMania play a sound of the nearest sound-chip. You can use these channels like it ... for example,
    • changing the "nearest sound-chip" without changing the score.
    • define the tom-hitting-sound which doesn't contain toms
The channels 31-3A are connected to the 11-1A channels?. That is,
31 = HiHatClose
32 = Snare
33 = BassDrum
34 = HighTom
35 = LowTom
36 = Cymbal
37 = FloorTom
38 = HiHatOpen
39 = RideCymbal
3A = LeftCymbal (DTXMania Release 059 or later)
*? 40 [Reserved channel by BMS]
*? 41-46 [Invisible object for the 2nd player]
Not supported.
*? 47-49 [Reserved channel by BMS]
*? 50 [BAR line]
Put the BAR line. Though it is for the DTXMania system internal use, you can use the channel to draw the BAR line explicitly.
*? 51 [BEAT line]
Put the BEAT line. Though it is for the DTXMania system internal use, you can use the channel to draw the BEAT line explicitly.
*? 52 [MIDI drum chorus]
To send the Note-On message to the MIDI Channel 10. It does not depends on the #MIDINOTE? setting. (Always send)
*? 53 [Fill in]
To define the fill-in zone. Object "01" means the beginning, and "02" means the end.
The player will be cheered if he keeps 1 or more COMBO at the end of the zone.
The cheering sound can be changed with the channel 1F?, 2F? and AF?. (DTXMania 065b070610 or later)
*? 54 [Playback movie]
To play the movie specified as #AVIzz?.

The AVI drawing area is 278x355.

If next AVI-chip comes during playing previous AVI, previous AVI stops to play and next AVI start playing.

BGA overdraws AVI. In other words, the AVI-layer is lower than the bottom BGA layer (channel 04)?.
*? 55-59,60 [BGA / 3rd, 4th ... top layer]
Same as channel 04 (BGA 1st layer)? and 07 (BGA 2nd layer)?. The channel number becomes larger, the layer upper.

As the result, There are 8(eight) BGA layers and they overlap like 04?=bottom << 07? << 55 << 56 << 57 << 58 << 59 << 60=top.
*? 61-69, 70-79, 80-89, 90-92 [Autoplay sound]
Set autoplay sound-chip. These channels are monophonic, so you will use thes channels as the supplemental sounds.

It is different from the channel 01 (BGM)?, mainly used for the BGM.
*? 93-99 [Reserverd]
*? A0-A7 [Bass notes]
Bass scores. You set the sound-chips? to these channels to arrange the bass scores. The channels and the bass lanes are related as;
A0 = _OPEN     ; B0 channel in G2D format (OPEN)
A1 = _ _ B     ; B1 channel in ...
A2 = _ G _     ; B2 channel in ...
A3 = _ G B     ; B3 channel in ...
A4 = R _ _     ; B4 channel in ...
A5 = R _ B     ; B5 channel in ...
A6 = R G _     ; B6 channel in ...
A7 = R G B     ; B7 channel in ...
A8 [Wailing (Bass)] (DTXMania049b or later)
To set Wailing (WAILING BONUS) chip for the bass. You can use any chip number except 00 (01-ZZ) as wailing.
*? AF [Wailing sound (bass)] (DTXMania Release 065b070610 or later)
It changes the bass wailing? sound to the sound-chips defined by #WAVzz?.
e.g.

#WAV01 explosion.wav
#WAV02 excites.wav
#003AF 01
#006AF 02

Default wailing sound (System\Sounds\Audience.ogg) is used in 0th-2nd BAR.
explosion.wav is used for the fill-in sound from the 3rd BAR to the 5th BAR.
excites.wav is used for the fill-in sound from the 6th BAR to the end of the song.
*? B1-B9, BC [No-chip default sound (drums)]
To set the default drums sound when you hit the pad without any chips. (It is similar to the Drums invisible object (channels 31-3A).?)

This "no-chip default sound" is applied, from the position where you set, to the end of the lane.

In case you don't set any chip on these channels, the most nearest sound-chip is used as "no-chip default sound".

Here are relations between channels and lane;
B1 = HiHatClose
B2 = Snare
B3 = BassDrum
B4 = HighTom
B5 = LowTom
B6 = Cymbal
B7 = FloorTom
B8 = HiHatOpen
B9 = RideCymbal
BC = LeftCymbal (DTXMania Release 059 or later. Note: it's NOT BA!)
*? BA [No-chip default sound (guitar)]
To set the default guitar sound when you pick the guitar without any chips.
For the detail informations, please refer to the descriptions for the channels B1-B9, BC?.
*? BB [No-chip default sound (bass)]
To set the default bass sound when you pick the bass without any chips.
For the detail informations, please refer to the descriptions for the channels B1-B9, BC?.
*? C4, C7, D5-D9, E0 [Swapping BGA bitmap] (DTXMania Release 059 or later)
To swap the bitmap in the BGA lane 04?, 07?, 55〜59, 60?. At the swapping, scroll (BGAPAN?) is kept.

Here are channel relationships:
C4 = To swap a BGA bitmap on ch04 (BGA 1st layer = bottom layer)
C7 = To swap a BGA bitmap on ch07 (BGA 2nd layer)
D5 = To swap a BGA bitmap on ch55 (BGA 3rd layer)
D6 = To swap a BGA bitmap on ch56 (BGA 4th layer)
D7 = To swap a BGA bitmap on ch57 (BGA 5th layer)
D8 = To swap a BGA bitmap on ch58 (BGA 6th layer)
D9 = To swap a BGA bitmap on ch59 (BGA 7th layer)
E0 = To swap a BGA bitmap on ch60 (BGA 8th layer = top layer)
Ex.1:
#BMP01 smily600x355.bmp
#BMP02 crying600x355.bmp
#BGAPAN10 01  278 255  278 355  0 0 322 0  0 0  0 0  384
#00104 10

Normal scroll sample with #BGAPAN.
In the whole 001th BAR(=384counts),
smily600x355.bmp scrolls.


Ex.2: Add below in Ex.1.
#001C4 0201

At the first 2 BEATS, the BGA bitmap is smily600x355.bmp.
At the last 2 BEATS, the BGA bitmap is crying600x355.bmp.
The BGAPAN keeps scrolling.
*? C1 [BEAT-line shifting] (DTXMania Release 059 or later)
BEAT line starts from the point you set '02' in the channel C1,
It affects in the BEAT only. it does not affect to the next BEAT.

The interval of the BEAT line is not constant. It depends on the BAR-length?.

By the way, the object value '01' does NOT mean "reset the BEAT-line shifting". There are no means with the value '01'.
*? C2 [hide BEAT/BAR lines] (DTXMania Release 059 or later)
You can hide BEAT/BAR lines from the point you set '02' to the channel C2.
To show BEAT/BAR lines, you have to set '01' to the channel C2.

There are some exceptions. The BAR-line you set at the channel 50? and the BEAT-line set at the channel 51? are NOT(*) able to disappear by using the channel C2.

(*) To be exact, you can disappear the BAR/BEAT line comes from the channel 50?/51? with the object value 'ZZ'. If you don't wan't to delete the channel 50?/51? lines, you should use the value '01' in the channel 50?/51?.