文章目录
- DTX 文件格式规范
- 基本结构
- 文件头描述
- #TITLE <曲目标题>
- #ARTIST <艺术家名称>
- #COMMENT <评论>
- #DLEVEL <鼓等级>
- #GLEVEL <吉他等级>
- #BLEVEL <贝斯等级>
- #HIDDENLEVEL ON (仅在Release 065b070610及之后的版本中可用)
- #BPM <BPM值>
- #BPMzz <BPM值>
- #BASEBPM <BPM值>
- #STAGEFILE <图片文件名>
- #PREVIEW <音频文件名>
- #PREIMAGE <图片文件名>
- #PREMOVIE <视频文件名>
- #BACKGROUND <图片文件名>
- #BACKGROUND_GR <图片文件名>
- #BMP <图片文件名>
- #WALL <图片文件名>
- #SOUND_NOWLOADING <音频文件名>
- #SOUND_STAGEFAILED <音频文件名>
- #SOUND_FULLCOMBO <音频文件名>
- #RESULTIMAGE <图片文件名>
- #RESULTIMAGE_xx <图片文件名>
- #RESULTSOUND <音频文件名>
- #RESULTSOUND_xx <音频文件名>
- #RESULTMOVIE <视频文件名>
- #RESULTMOVIE_xx <视频文件名>
- #WAVzz <音频文件名>
- #VOLUMEzz <音量比例>
- #WAVVOLzz <音量比例>
- #PANzz <播放位置>
- #WAVPANzz <播放位置>
- #SIZEzz <芯片尺寸比例>
- #BMPzz <图片文件名>
- #BMPTEXzz <图片文件名>
- #BGAzz <BMP编号> <x1> <y1> <x2> <y2> <ox> <oy>
- #BGAPANzz <BMP编号> <sw> <sh> <ew> <eh> <ssx> <ssy> <sex> <sey> <dsx> <dsy> <dex> <dey> <len>
- #AVIzz <视频文件名>
- #VIDEOzz <视频文件名>
- #AVIPANzz <AVI编号> <sw> <sh> <ew> <eh> <ssx> <ssy> <sex> <sey> <dsx> <dsy> <dex> <dey> <len>
- #MIDINOTE <ON|OFF>
- #RANDOM <数值>
- #IF <数值> ~ #ENDIF
- 对象描述
- 对象列表格式
- 通道信息
- 00 <指定节奏>
- 01 <背景和声(BGM)>
- 02 <小节长度倍率指定(十进制/实数)>
- 03 <播放速度(BPM;每分钟四分音符的数量)>
- 04 <BGA(背景动画)>
- 05 <扩展对象>
- 06 <MISS动画>
- 07 <层BGA>
- 08 <扩展播放速度(BPM;每分钟四分音符的数量)>
- 09~10 <BMS预留通道>
- 11~1A <鼓点布局(鼓)>
- 1F <填入音效(鼓)> (仅在Release 065b070610及之后版本可用)
- 20~27 <吉他点布局(吉他)>
- 28 <摇杆(吉他)>
- 29 <流动速度(吉他)>
- 2F <摇杆音效(吉他)> (仅在Release 065b070610及之后版本可用)
- 30 <流动速度(鼓)>
- 31~3A <不可见芯片布局(鼓)>
- 40 <BMS预留通道>
- 41~46 <双人模式不可见对象布局>
- 47~49 <BMS预留通道>
- 50 <小节线>
- 51 <拍线>
- 52 <MIDI和声>
- 53 <填入>
- 54 <视频播放>
- 55~59, 60 <层BGA>
- 5A <全屏视频播放> (仅在Release100及之后版本可用)
- 61~69, 70~79, 80~89, 90~92 <SE>
- A0~A7 <贝斯点布局(贝斯)>
- A8 <摇杆(贝斯)>
- AF <摇杆音效(贝斯)> (仅在Release 065b070610及之后版本可用)
- B1~B9, BC <空击(鼓)>
- BA <空击(吉他)>
- BB <空击(贝斯)>
- C4, C7, D5~D9, E0 <BGA图片切换>
- C1 <拍线偏移>
- C2 <拍线/小节线显示指定>
- DA <注册WAV到内部声音混音器> (仅在Release096及之后版本可用)
- DB <从内部声音混音器注销WAV> (仅在Release096及之后版本可用)
DTX 文件格式规范
基本结构
DTX 文件(文件扩展名:.DTX)是一种文本文件。DTX 文件包含以下两部分内容……文件头(Header)和对象(Objects)。
- 文件头:定义与乐曲整体相关的信息(如标题或使用的音效文件等)的行。
- 对象:定义与谱面相关的信息(将哪些音符放置在何处以播放哪些声音)的行。 使用通道来指定对象的功能。
格式
基本上,DTX文件的格式遵循BMS标准。
然而,DTX文件并未实现BMS的所有功能,同时还添加了一些独有的扩展功能,因此无法保证DTXMania使用的演奏数据能够在其他BMS播放器上正常运行。请提前知悉。
注释
不支持的标题或不以 ‘#’(半角井号)开头的行将被忽略。
此外,如果一行中出现 ‘;’(分号),则从分号开始到行尾的内容被视为注释并被忽略。
(注意:GDAC2 不支持行中的分号,可能会导致误操作,请小心使用。)
; first measure <- comment line
#00111 0101010101010101 ; HiHat <- comment in-line (GDAC2 can't handle with it)
#00112 00020002 ; Snare
#00113 03000300 ; Bass
声音文件
DTX中可使用的音效文件类型取决于DTXMania主程序和电脑上安装的CODEC情况,但可以使用 WAV、XA、MP3、OGG 格式的文件。(强烈推荐使用OGG格式。)
图像文件
DTX中可使用的图像文件类型取决于DTXMania主程序的版本。在DTXMania Release 100版本中,可以使用 BMP、PNG、JPEG 格式的文件。
视频文件
DTX中可使用的视频文件类型取决于DTXMania主程序的版本以及播放电脑上安装的CODEC情况。
- 在DTXMania Release 103及之前版本中,仅支持 VfW(Video for Windows),可以使用扩展名为 AVI 的视频文件。
- 在Release 104及之后版本中,不再支持VfW,而是仅支持 DirectShow,可以使用扩展名为 mp4 等的视频文件。(扩展名为AVI的视频文件通常也可以播放。)
需要注意的是,视频的尺寸需遵循各CODEC规定的规则(例如必须是8或16的倍数),否则DTXMania可能会因系统错误而异常终止。因此,建议将视频制作成略小于目标尺寸,或者稍微放大后裁剪超出部分以满足要求。
文件头描述
#TITLE <曲目标题>
描述演奏数据的标题。
#ARTIST <艺术家名称>
描述演奏数据的艺术家名称。
#COMMENT <评论>
描述对演奏数据的评论。
#DLEVEL <鼓等级>
#GLEVEL <吉他等级>
#BLEVEL <贝斯等级>
分别以1(简单)~100(困难)表示鼓、吉他和贝斯的难度。
不过,在Release 065b070610之前的版本中,如果指定的数值小于或等于10,则会被视为10段分级(1~10),并将其值乘以10使用(显示为10, 20, …, 100)。
对于G2D数据,即使数值小于或等于10,也会始终被视为100段分级。
此外,如果省略此描述或将级别设置为0,DTXMania将不会将该谱面识别为曲目数据。
#HIDDENLEVEL ON (仅在Release 065b070610及之后的版本中可用)
指定此项后,可以在选择界面中将难度等级显示为“??”。
#BPM <BPM值>
以BPM(每分钟节拍数;一分钟内有多少个四分音符)来指定演奏速度。
支持小数点数值。
#BPMzz <BPM值>
以BPM指定演奏速度。
与#BPM(不带zz部分)用于指定演奏开始时的BPM不同,#BPMzz用于定义扩展再生节奏通道(08)中的值。BPM值支持小数点数值。
zz可以指定为01~ZZ(36进制表示法)。
#BPM01 100.23
#01008 00010000
; from the 10th bar 2nd beat, BPM is changed to 100.23
#BASEBPM <BPM值>
指定演奏数据的BPM基础值。支持小数点数值。
在通道03和08中指定的所有BPM值都会在此基础上进行叠加并应用。
需要注意的是,通过#BPM指定的值不会与该基础值叠加。
#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 <图片文件名>
指定在曲目选择后、演奏数据加载期间显示的图片(640x480像素的BMP、JPEG或PNG文件;超出该尺寸的部分将从右下角裁剪)。
#PREVIEW <音频文件名>
指定在选曲界面中,当曲目被选中时播放的音频文件(支持WAV、XA、MP3和OGG格式)。
#PREIMAGE <图片文件名>
指定在选曲界面中,当曲目被选中时显示的图片文件(204x269像素的BMP、PNG或JPEG文件)。
#PREMOVIE <视频文件名>
指定在选曲界面中,当曲目被选中时显示的视频文件(204x269像素的AVI文件)。
#BACKGROUND <图片文件名>
指定演奏画面的背景图片(640x480像素的BMP、PNG或JPEG文件)。该图片会与DTXMania的演奏画面进行半透明叠加显示。如果图片尺寸小于640x480,则会以平铺方式重复显示。
#BACKGROUND_GR <图片文件名>
(仅在Release 063b060518及之后版本可用)
指定演奏画面的背景图片(640x480像素的BMP、PNG或JPEG文件)。此图片为Guitar Revolution模式专用背景,并与DTXMania的演奏画面进行半透明叠加显示。如果图片尺寸小于640x480,则会以平铺方式重复显示。
#BMP <图片文件名>
(仅在Release 063b060518及之后版本可用)
指定演奏画面背景图片(278x355像素的BMP、PNG或JPEG文件)。此图片会在BGA区域显示,并且与#BMPzz不同的是,它从第一次演奏开始就会显示(而#BMPzz需要至少到第0小节开始时才会显示)。此外,通过此指令指定的图片即使在DARK模式下也不会消失(例如墙纸等其他元素可能会消失)。
#WALL <图片文件名>
与#BACKGROUND功能相同。(用于BandJAM兼容性)
由于BandJAM不识别#BACKGROUND指令,因此可以通过先指定#WALL再指定#BACKGROUND的方式,分别设置适用于BandJAM和DTXMania的不同背景图片(在DTXMania中,后指定的指令优先级更高)。
#SOUND_NOWLOADING <音频文件名>
(仅在Release 068 (080511)版本中可用)
指定曲目选择后、演奏数据加载期间播放的音频文件。
#SOUND_STAGEFAILED <音频文件名>
(仅在Release 068 (080511)版本中可用)
指定当出现“STAGE FAILED”时播放的音频文件。
#SOUND_FULLCOMBO <音频文件名>
(仅在Release 068 (080511)版本中可用)
指定当达成“FULL COMBO”时,在结果画面播放的音频文件。
#RESULTIMAGE <图片文件名>
指定结果画面显示的图片(204x269像素的BMP、PNG或JPEG文件)。如果没有指定#RESULTIMAGE,则会显示通过#PREIMAGE指定的预览图片。
#RESULTIMAGE_xx <图片文件名>
指定结果画面显示的图片(204x269像素的BMP、PNG或JPEG文件)。其中的“xx”部分可以是’SS’、‘S’、‘A’、‘B’、‘C’、'D’或’E’之一,表示当演奏结果达到“xx及以上”排名时显示指定的图片。
如果仅使用#RESULTIMAGE(无“xx”后缀),则无论演奏结果如何,都会显示相同的图片;而通过本指令可以根据演奏结果(排名)动态切换显示的图片。
#PREIMAGE resimage0.jpg
#RESULTIMAGE_A resimage1.jpg
#RESULTIMAGE_D resimage2.jpg
;如果你的评价是...
; -SS, S or A: resimage1.jpg 会被用来作为评价图片
; -B, C or D: resimage2.jpg 会被用来作为评价图片
; -E: resimage0.jpg 会被用来作为评价图片
#RESULTSOUND <音频文件名>
(仅在Release 065b070610及之后版本可用)
指定结果画面播放的音效。如果没有指定#RESULTSOUND,则会播放皮肤默认的音效(DTXMania标准皮肤中未包含此功能,因此不会播放音效)。
#RESULTSOUND_xx <音频文件名>
(仅在Release 065b070610及之后版本可用)
指定结果画面播放的音效。“xx”部分可以是’SS’、‘S’、‘A’、‘B’、‘C’、'D’或’E’之一,表示当演奏结果达到“xx及以上”排名时播放指定的音效。
如果使用#RESULTSOUND(无“xx”后缀),则无论演奏结果如何,都会播放相同的音效;而通过本指令可以根据演奏结果(排名)动态切换播放的音效。
关于排名使用的示例,请参考#RESULTIMAGE_xx。
#RESULTMOVIE <视频文件名>
指定结果画面显示的视频(204x269像素的AVI文件)。
#RESULTMOVIE_xx <视频文件名>
指定结果画面显示的视频(278x355像素的AVI文件)。“xx”部分可以是’SS’、‘S’、‘A’、‘B’、‘C’、'D’或’E’之一,表示当演奏结果达到“xx及以上”排名时播放指定的视频。
如果使用#RESULTMOVIE(无“xx”后缀),则无论演奏结果如何,都会播放相同的视频;而通过本指令可以根据演奏结果(排名)动态切换播放的视频。
关于使用示例,请参考#RESULTIMAGE_xx。
#WAVzz <音频文件名>
指定注册到编号“zz”的音频文件(WAV、XA格式)。
“zz”可以以36进制表示,范围为01~ZZ。通过本指令注册的编号“zz”将在WAVE相关通道(如01、11~1A等)中使用。
#VOLUMEzz <音量比例>
指定注册到编号“zz”的音频文件的播放音量。
“zz”可以以36进制表示,范围为01~ZZ。音量比例需以0~100(%)的十进制数表示,其中原音为100%,但不能设置超过100%的值。
#WAVVOLzz <音量比例>
与#VOLUMEzz功能相同。但由于可能存在GDAC2中的误操作问题,建议使用#VOLUMEzz。
#PANzz <播放位置>
指定注册到编号“zz”的音频文件的播放位置。
“zz”可以以36进制表示,范围为01~ZZ。播放位置需以-100(左)~100(右)的十进制数表示,其中原音为0(中央)。
#WAVPANzz <播放位置>
与#PANzz功能相同。但由于可能存在GDAC2中的误操作问题,建议使用#PANzz。
#SIZEzz <芯片尺寸比例>
(仅在Release 066b071015及之后版本可用)
指定注册到编号“zz”的音频文件的芯片尺寸比例。芯片尺寸比例需以0~100(%)的十进制数表示,其中原尺寸为100%,但不能设置超过100%的值。
#BMPzz <图片文件名>
指定注册到编号“zz”的图片文件(BMP、PNG、JPEG格式)。
“zz”可以以36进制表示,范围为01~ZZ。通过本指令注册的编号“zz”将在BGA相关通道(如04、07、55~59、60等)中使用。需要注意的是,由于BGA相关通道的限制,在至少第0小节开始演奏之前无法显示通过#BMPzz指定的图片。如果需要从最初(第0小节之前)就显示图片,请改用#BMP(无“zz”后缀)、#BACKGROUND或#BACKGROUND_GR。
#BMPTEXzz <图片文件名>
指定注册到编号“zz”的图片文件(PNG格式)。
“zz”可以以36进制表示,范围为01~ZZ。通过本指令注册的编号“zz”将在BGA相关通道(如04、07、55~59、60等)中使用。
其用法与#BMPzz相同,但有以下差异:
- 优点:支持更高的分辨率和更复杂的纹理效果。
- 缺点:可能会增加资源占用和加载时间。
因此,在实际使用中应根据需求合理选择两者,仅在必要时使用#BMPTEX。
#BGAzz <BMP编号>
指定扩展BGA区域的注册编号“zz”。通过指定扩展BGA区域,可以仅显示某张图片的一部分,并将其放置在任意位置。
“zz”可以以36进制表示,范围为01~ZZ。通过本指令注册的编号“zz”将在BGA相关通道(如04、07、55~59、60等)中使用。
参数说明:
参数 | 内容 |
---|---|
BMP编号 | 在#BMPzz中指定的BMP编号(01~ZZ),请务必用两位数表示。 |
x1, y1 | BGA区域的左上角坐标(BMP图像的左上角为(0,0))。 |
x2, y2 | BGA区域的右下角坐标(BMP图像的左上角为(0,0))。 |
ox, oy | BGA区域的显示坐标(DTXMania的BGA显示区域的左上角为(0,0))。 |
示例:
#BGA01 01 -40 -30 60 70 0 0
解释:
将#BMP01中指定的图像的(-40,-30)到(60,70)的区域,在DTXMania的BGA显示区域的(0,0)位置开始显示。
注意事项:
如果x1或y1为负数,则会先将其裁剪为0,裁剪后的区域的左上角将从(ox, oy)位置开始显示。(此为BM98方式)
“Clipping and Positioning in #BGA (BM98 way)”
#BGAPANzz <BMP编号>
指定注册编号“zz”的BGA图像平移效果。
图像平移功能是指以一定的速度,将某张图片的一部分(区域)从初始位置移动到结束位置并显示出来。在此过程中,不仅可以改变位置,还可以改变区域的大小(但不支持区域的缩放功能)。
“zz”可以以36进制表示,范围为01~ZZ。通过本指令注册的编号“zz”将在BGA相关通道(如04、07、55~59、60等)中使用。
参数说明:
参数 | 内容 |
---|---|
BMP编号 | 在#BMPzz中指定的BMP编号(01~ZZ),请务必用两位数表示。 |
sw, sh | 区域大小(宽度和高度)的初始值。 |
ew, eh | 区域大小(宽度和高度)的结束值。 |
ssx, ssy | 图像侧的初始位置(以图像左上角为(0, 0))。 |
sex, sey | 图像侧的结束位置(以图像左上角为(0, 0))。 |
dsx, dsy | 显示侧的初始位置(以DTXMania的BGA显示区域左上角为(0, 0))。 |
dex, dey | 显示侧的结束位置(以DTXMania的BGA显示区域左上角为(0, 0))。 |
len | 从初始位置移动到结束位置所需的总时间,单位为计数。无论小节长度倍率如何,始终以1小节=384计数计算。(例如,当小节长度倍率为0.5时,移动速度将是正常(1.0)情况下的两倍。) |
示例:
#BGAPAN01 01 50 50 100 80 0 0 60 200 85 60 55 250 192
解释:
对于在#BMP01中指定的图像:
-
初始状态:
显示BMP01的(0, 0)-(0+50, 0+50)区域,在DTXMania的BGA区域的(85, 60)-(85+50, 60+50)位置显示。 -
结束状态:
显示BMP01的(60, 200)-(60+100, 200+80)区域,在DTXMania的BGA区域的(55, 250)-(55+100, 250+80)位置显示。
→ 初始到结束期间,区域大小会线性变化。 -
移动时间:
从初始到结束,共花费192计数(相当于一个二分音符的时间)。
“#BGAPAN sample”
【注意】如果 x1 或 y1 为负数,则在不将其裁剪为 0 的情况下确定显示位置。(DTXMania 方式)
"#BGAPAN Clipping and Positioning (DTXMania way) "
#USE556X710BGAAVI <0或1>
用于指定是否将BGA的尺寸设置为正常尺寸(278x355)的两倍。(相当于DTXCreator主选项卡中最下方的复选框功能)
- 如果未指定此参数,系统会将正常尺寸(278x355)的BGA纵向和横向放大两倍进行显示。
- 如果指定了此参数,则会直接以原始的两倍尺寸(556x710)显示,而无需额外放大。
#AVIzz <视频文件名>
指定注册编号“zz”的视频文件(AVI格式)。
“zz”可以以36进制表示,范围为01~ZZ。通过本指令注册的编号“zz”将在视频相关通道(54)中使用。
#VIDEOzz <视频文件名>
与#AVI功能相同。
#AVIPANzz <AVI编号>
(仅在Release 063b060518及之后版本可用)
这是#BGAPANzz的AVI版本,用于指定AVI视频的平移和缩放效果。
#MIDINOTE <ON|OFF>
通常情况下,在可视对象通道中指定的值是WAV编号。如果将#MIDINOTE设置为ON,则这些值不仅被视为WAV编号,还会被识别为MIDI音符,并在播放WAV的同时向MIDI OUT Ch.10发送NoteOn信号。
需要注意的是,对于通过MIDI输入触发的对象,只会播放WAV声音。
#RANDOM <数值>
生成一个从1到<数值>之间的随机整数。此随机数将用于#IF指令。<数值>需以十进制表示,且必须大于或等于1。
#IF <数值> ~ #ENDIF
如果通过#RANDOM生成的随机数等于<数值>,则激活#IF和#ENDIF之间的数据;如果不等于,则跳过该部分。最多支持255层嵌套。
需要注意的是,在DTXMania中,出于效率考虑,某些头部信息仅在首次加载时会对#RANDOM/#IF~#ENDIF生效。
对象描述
#nnncc <对象列表>
指定第nnn小节中cc通道的演奏信息(对象布局信息)。
- nnn:十进制表示,范围为000~Z99※。
- cc:十六进制表示,范围为01~FF。有关cc的具体含义,请参考“通道信息”。
※ 百位数可指定0~9、A~Z,十位和个位数可指定0~9,最大支持3599个小节。
对象列表格式
对象列表用于描述某一小节中的具体演奏信息(对象位置)。每个对象用两位的36进制数(01~ZZ)表示,按照列出的数量均分小节并放置对象。
示例:
#WAV01 hihat.wav
#WAV02 snare.wav
#WAV03 bass.wav
#00111 0101010101010101
#00112 00020002
#00113 0300000303000000
上述示例对应以下鼓谱面的对象列表:
逐行解析:
-
#00111 0101010101010101 → #00111 01 01 01 01 01 01 01 01
表示在第001小节的通道11(高帽)中,放置8个均匀分布的对象01。因此,在第001小节的高帽轨道上会显示8个#WAV01对应的音效(hihat.wav)。 -
#00112 00020002 → #00112 00 02 00 02
表示在第001小节的通道12(军鼓)中,交替放置4个对象,分别是#WAV00和#WAV02。由于DTXMania中无法指定#WAV00,最终结果是在军鼓轨道上每隔一个位置放置#WAV02对应的音效(snare.wav)。 -
#00113 0300000303000000 → #00113 03 00 00 03 03 00 00 00
表示在第001小节的通道13(底鼓)中,交替放置8个对象,分别是#WAV00和#WAV03。同样由于#WAV00无效,最终结果是在底鼓轨道上分别在第1/8、4/8、5/8拍放置#WAV03对应的音效(bass.wav)。
使用’_'提高可读性
可以在对象列表中任意位置插入’_'(半角下划线),以提高可读性。例如:
#00111 01010101_01010101
#00112 0002_____0002
#00113 03000003_03000000
分段书写对象列表
允许将同一小节的对象列表分多行书写,所有针对相同小节和通道的列表会被合并。例如:
#00112 02020202_02020202_00000000_00000000 → 前半部分的16分连打
#00112 000000___000000___020202___020202 → 后半部分的12分连打(三连音)
#00113 03_______03_______03_______03 → 底鼓的节奏
以上示例展示了如何在同一小节中同时实现16分连打和12分连打(三连音)的效果。
通道信息
00 <指定节奏>
由于在BMS中已被废弃,因此不支持。请使用通道03。
01 <背景和声(BGM)>
指定在此位置自动播放的WAV编号。
也可以通过通道61~92播放背景和声,但当使用通道01时,之前在同一通道上播放的声音不会停止,而是会叠加播放。(如果通过通道61~92播放,则会先停止之前的音效再播放新的声音。)
02 <小节长度倍率指定(十进制/实数)>
以4/4拍为基准,指定一个小节的长度比例。
即使小节被缩短,拍线(每拍出现的浅白色线条)之间的间距也不会改变,但小节线(通常每四拍出现一次的明亮白线)的间距会根据缩短的比例发生变化。这使得像3/4拍这样的自然表现成为可能。
示例:
#01902 0.75
#01911 010101
#01912 010101010101010101
在这种情况下,从第019小节开始变为3/4拍(4/4拍的0.75倍),拍线之间只会出现三条线(拍线之间的间距保持与4/4拍相同)。结果是,在第019小节中,高帽以四分音符形式演奏三拍,而军鼓则演奏三连音符三拍。
注意: 在BMS中,通道02的效果仅持续一个小节,下一个小节会恢复到1.0倍。但在DTX中,一旦指定,所有后续小节都将受到影响。
03 <播放速度(BPM;每分钟四分音符的数量)>
在此位置更改BPM(每分钟内出现多少个四分音符)。值以十六进制(00~FF)表示(注意不是三十六进制)。此外,通过此通道指定的值会被添加到#BASEBPM所指定的值后使用。
示例:
#BPM 220
#BASEBPM 200
#03103 0042
在上述示例中,音乐最初以BPM=220演奏,但从第31小节的第三拍(中间)开始,BPM更改为266。(200 + 66(十六进制为42)= 266)
04 <BGA(背景动画)>
指定在此位置显示在BGA区域的图片编号(通过#BMP、#BMPTEX、#BGA或#BGAPAN设置的zz)。
如果有相同的图片编号同时存在于#BMP、#BMPTEX、#BGA和#BGAPAN中,则优先级顺序为:#BGAPAN → #BGA → #BMPTEX → #BMP。
在DTXMania中,BGA区域的尺寸为278x355像素。较小的图片会居中对齐并顶部填充显示,超出部分将被裁剪。如果没有进一步指定,已显示的图片将继续保留。
05 <扩展对象>
不支持。
06 <MISS动画>
不支持。
07 <层BGA>
指定在此位置显示在BGA区域的层图片编号(通过#BMP、#BMPTEX、#BGA或#BGAPAN设置的zz)。
如果有相同的图片编号同时存在于#BMP、#BMPTEX、#BGA和#BGAPAN中,则优先级顺序为:#BGAPAN → #BGA → #BMPTEX → #BMP。
在DTXMania中,BGA区域的尺寸为278x355像素。较小的图片会居中对齐并顶部填充显示,超出部分将被裁剪。如果没有进一步指定,已显示的图片将继续保留。
08 <扩展播放速度(BPM;每分钟四分音符的数量)>
在此位置更改BPM,但不像通道03那样直接用十六进制指定BPM,而是指定通过#BPMzz设置的编号(zz=00~ZZ)。对于整数BPM,建议使用通道03;对于实数BPM,建议使用此通道08。
09~10 <BMS预留通道>
11~1A <鼓点布局(鼓)>
指定在此位置放置的鼓点的WAV编号(00~ZZ;通过#WAVzz设置的zz部分)。通道和鼓点的对应关系如下:
- 11 = HiHatClose
- 12 = Snare
- 13 = BassDrum
- 14 = HighTom
- 15 = LowTom
- 16 = Cymbal
- 17 = FloorTom
- 18 = HiHatOpen
- 19 = RideCymbal
- 1A = LeftCymbal (仅在Release 064b061229及之后版本可用)
注意: 注意镲片和地板通鼓的顺序。在BM98中,16=ScratchKey,17=FreeScratch,18,19=预留通道。
1F <填入音效(鼓)> (仅在Release 065b070610及之后版本可用)
指定在鼓填入时(参考ch53)播放的WAV编号(00~ZZ;通过#WAVzz设置的zz部分)。从此位置开始的填入音效将更改为指定的WAV。如果没有在曲目数据中指定任何填入音效,则使用默认音效(Release 065b070610的情况下为System\Sounds\Audience.ogg)。第0小节的填入音效将应用最接近第0小节的填入音效指定WAV。
20~27 <吉他点布局(吉他)>
指定在此位置放置的吉他点的WAV编号(00~ZZ;通过#WAVzz设置的zz部分)。通道和吉他的对应关系如下:
- 20 = -OPEN- ; GDA,G2D格式中的G0通道
- 21 = xxB
- 22 = xGx
- 23 = xGB
- 24 = Rxx
- 25 = RxG
- 26 = RGx
- 27 = RGB
28 <摇杆(吉他)>
在此位置放置一个摇杆(WAILING BONUS)芯片。对象编号可以是除00以外的任意值。
29 <流动速度(吉他)>
不支持。
2F <摇杆音效(吉他)> (仅在Release 065b070610及之后版本可用)
指定在吉他摇杆时(参考ch28)播放的WAV编号(00~ZZ;通过#WAVzz设置的zz部分)。从此位置开始的摇杆音效将更改为指定的WAV。如果没有在曲目数据中指定任何摇杆音效,则使用默认音效(Release 065b070610的情况下为System\Sounds\Audience.ogg)。第0小节的摇杆音效将应用最接近第0小节的摇杆音效指定WAV。
30 <流动速度(鼓)>
不支持。
31~3A <不可见芯片布局(鼓)>
在此位置放置在谱面上不可见且不会播放的芯片(与游戏完全无关)。在DTXMania中,空击(无芯片处的击打)时会发出最近芯片的声音,因此可用于有意修改“最近芯片”或在曲目中没有低音鼓但空击时希望发出某种声音的情况。
通道31~3A分别对应于通道11~1A的不可见对象。
40 <BMS预留通道>
41~46 <双人模式不可见对象布局>
不支持。
47~49 <BMS预留通道>
50 <小节线>
在此位置放置小节线。这是DTXMania内部处理的一部分,但也可以显式地在此通道放置小节线。
51 <拍线>
在此位置放置拍线。这是DTXMania内部处理的一部分,但也可以显式地在此通道放置拍线。适用于鼓谱面。
52 <MIDI和声>
在此位置向MIDI通道10发送NoteOn信号。无论#MIDINOTE的值如何,都会发送。
53 <填入>
指定填入的开始和结束位置。
01 表示填入开始,02 表示填入结束。如果填入结束时组合数大于1,则会播放欢呼声。
54 <视频播放>
指定在此位置显示在BGA区域的视频编号(通过#AVI或#VIDEO设置的zz)。在DTXMania中,BGA区域的尺寸为278x355像素。之前正在播放的视频将被取消。此外,视频之上会绘制BGA和层BGA。
55~59, 60 <层BGA>
提供层BGA功能。等同于通道07的功能,但通道编号越大,绘制层级越高。(底层← 04, 07, 55, 56, 57, 58, 59, 60 →顶层)
5A <全屏视频播放> (仅在Release100及之后版本可用)
指定在此位置显示在BGA区域的视频编号(通过#AVI或#VIDEO设置的zz)。与通道54的视频播放不同,视频将在DTXMania的整个屏幕上播放。因此,视频区域的尺寸可以任意(在保持纵横比的同时,自动缩放视频以覆盖整个屏幕)。指定新视频时,当前正在播放的视频将被取消。此外,视频之上会绘制BGA和层BGA。
61~69, 70~79, 80~89, 90~92
指定在此位置自动播放的WAV编号。与通道01(BGM)不同,之前在同一通道上播放的声音会先停止再播放新的声音。GDA & G2D格式中的01~20通道(BGM部分)会在此展开。
A0~A7 <贝斯点布局(贝斯)>
指定在此位置放置的贝斯点的WAV编号(00~ZZ;通过#WAVzz设置的zz部分)。通道和贝斯的对应关系如下:
- A0 = -OPEN- ; G2D格式中的B0通道
- A1 = xxB
- A2 = xGx
- A3 = xGB
- A4 = Rxx
- A5 = RxG
- A6 = RGx
- A7 = RGB
A8 <摇杆(贝斯)>
在此位置放置一个摇杆(WAILING BONUS)芯片。对象编号可以是除00以外的任意值。
AF <摇杆音效(贝斯)> (仅在Release 065b070610及之后版本可用)
指定在贝斯摇杆时(参考chA8)播放的WAV编号(00~ZZ;通过#WAVzz设置的zz部分)。从此位置开始的摇杆音效将更改为指定的WAV。如果没有在曲目数据中指定任何摇杆音效,则使用默认音效(Release 065b070610的情况下为System\Sounds\Audience.ogg)。第0小节的摇杆音效将应用最接近第0小节的摇杆音效指定WAV。
B1~B9, BC <空击(鼓)>
指定在此位置放置的空击鼓点的WAV编号(通过#WAVzz设置的zz部分)。从此位置开始的空击音效将更改为指定的WAV。如果没有在曲目数据中指定任何空击音效,则使用前后最近芯片的WAV。第0小节的空击音效将应用最接近第0小节的空击指定WAV。通道和鼓点的对应关系如下:
- B1 = HiHatClose
- B2 = Snare
- B3 = BassDrum
- B4 = HighTom
- B5 = LowTom
- B6 = Cymbal
- B7 = FloorTom
- B8 = HiHatOpen
- B9 = RideCymbal
- BC = LeftCymbal (注意不是BA)
BA <空击(吉他)>
指定在此位置放置的空击吉他点的WAV编号(通过#WAVzz设置的zz部分)。从此位置开始的空击音效将更改为指定的WAV。如果没有在曲目数据中指定任何空击音效,则使用前后最近芯片的WAV。第0小节的空击音效将应用最接近第0小节的空击指定WAV。
BB <空击(贝斯)>
指定在此位置放置的空击贝斯点的WAV编号(通过#WAVzz设置的zz部分)。从此位置开始的空击音效将更改为指定的WAV。如果没有在曲目数据中指定任何空击音效,则使用前后最近芯片的WAV。第0小节的空击音效将应用最接近第0小节的空击指定WAV。
C4, C7, D5~D9, E0 <BGA图片切换>
切换通道04, 07, 55~59, 60对应的BGA当前显示的图片为这些通道指定的编号。切换时,滚动等信息不会重置,而是继续。这使得可以在#BGAPAN滚动过程中仅替换显示的图片。
示例1:
#BMP01 笑脸600x355.bmp
#BMP02 哭脸600x355.bmp
#BGAPAN10 01 278 255 278 355 0 0 322 0 0 0 0 0 384
#00104 10
常规的#BGAPAN滚动示例。从第001小节的开头到结尾(384计数),笑脸600x355.bmp滚动。
示例2:
#001C4 0201
仍然从第001小节的开头到结尾滚动384计数,但前两拍显示哭脸600x355.bmp,后两拍显示笑脸600x355.bmp。ch.04开始的滚动状态(滚动了多少?)保持不变,仅替换图片。
C1 <拍线偏移>
在此通道放置02时,仅在该小节内,拍线从该位置开始显示(在此之前不会显示拍线)。拍线的间距不是固定的,会根据小节长度倍率变化。放置01时不会恢复原状。
C2 <拍线/小节线显示指定>
在此通道放置02时,从该位置开始隐藏所有拍线和小节线。放置01时,从该位置重新显示。但是,通过通道50和51显式放置的拍线和小节线不受此影响,始终在指定位置显示。
注意: 准确地说,只有在通道50或51放置’ZZ’时才会受此影响。要放置不受影响的线,请使用’01’~’ZY’。
DA <注册WAV到内部声音混音器> (仅在Release096及之后版本可用)
当使用WASAPI/ASIO播放声音时,将指定芯片的WAV编号(00~ZZ;通过#WAVzz设置的zz部分)注册到DTXMania内部使用的混音器。此对象由DTXMania内部自动生成,用户无需关注。
DB <从内部声音混音器注销WAV> (仅在Release096及之后版本可用)
当使用WASAPI/ASIO播放声音时,注销指定芯片的WAV编号(00~ZZ;通过#WAVzz设置的zz部分)在DTXMania内部使用的混音器中的注册。此对象由DTXMania内部自动生成,用户无需关注。