Professional Documents
Culture Documents
譜面ファイルについて
譜面ファイルについて
24>
//-----------------------------------------------------------------------------
// 0. はじめに
//-----------------------------------------------------------------------------
本文書では譜面ファイルの記述方法について説明します。
また、このファイルは再生可能です。
●文字コードについて
譜面ファイルの文字コードは「Shift-JIS」又は「UTF-8(BOM 付き)」を使用してください。
例外的に「UTF-8N(BOM 無し)」のみ使用できます。
使用する場合、テキストファイルの先頭に「#utf8」又は「#utf-8」と記述してください。
//-----------------------------------------------------------------------------
// 1. 譜面のヘッダーについて
//-----------------------------------------------------------------------------
ヘッダーを記述することで情報をプログラムに渡す事ができます。
ヘッダーの始めには「#」を付けます。
●使用可能なヘッダー
* Title: 曲のタイトル
* Lyricist: 作詞者
* Composer: 作曲者
* Background: 背景ファイルの場所 (相対パス)
背景に動画ファイルを指定することも可能です(※)
※再生には対応するコーデック、スプリッタが必要となります。
「K-Lite Codec Pack」(Basic 版)のインストールを推奨します。
(システムに影響しかねないので、インストール方法など調べておくことをおすすめしま
す。)
* Song: 音楽ファイルの場所 (相対パス)
* Lyrics: 歌詞ファイルの場所 (相対パス)
* BPM: 曲のテンポ
* Offset: 譜面のオフセット[ミリ秒]
* SongOffset: 曲のオフセット[ミリ秒]
* MovieOffset: 動画のオフセット[ミリ秒]
* Difficulty: 楽曲の難易度 [debut, regular, pro, master, master+]
* Level: 楽曲レベル (スコア計算に使用) [1-30 が望ましい]
* BGMVolume: 音楽の音量 [0-100]
* SEVolume: 効果音の音量 [0-100]
* Attribute: 楽曲の属性 [Cu, Co, Pa, All]
* Brightness: 背景の明るさ [0-255]
(例 1: タイトルを付ける)
#TITLE タイトル例
(例 2: 楽曲ファイルの指定)
#SONG example.ogg
(例 3: 歌詞ファイルの指定)
#LYRICS 歌詞ファイルについて.txt
(例 4: オフセットの指定)
#OFFSET -460
(例 5: 楽曲のレベルを指定)
#LEVEL 10
(例 6: BPM の指定)
#BPM 120.00
//-----------------------------------------------------------------------------
// 2. ノーツ情報について
//-----------------------------------------------------------------------------
ノーツ情報の始めには「#」を付けます。
基本的な書式は、
「#<チャンネル>,<小節数>:<タイミング>:<出現位置>:<目標位置>」
です。
■チャンネル
チャンネルはフリックやスライドの接続に作用します。
●フリック接続に関して
「4 で割った余りの数字」が
・「0」か「1」の時 … フリック方向の先にあるフリックノートと接続
・「2」か「3」の時 … フリック方向に関係なく接続
(※推奨は <左手用:0,2> <右手用:1,3> です。)
●スライド接続に関して
基本的に、同じチャンネルのスライドノーツが接続されます。
■小節数
データの小節数を記述してください。譜面は 0 小節目から開始します。
初期設定では 1 小節を 4 拍としています。
(少数値の使用も可能ですが、推奨しません)
■タイミング
1 小節を n 分割し、ノーツのタイミングを指定します。(n = 記述した数)
0 を 8 つ(00000000)書くと 1 小節が 8 分割され、各データは 0.5 拍毎となります。 (1 小節を 4 拍とした
とき)
また、この部分ではタイミング情報と同時に、ノートの種類も指定します。
<ノートの種類>
0: 休符
1: 左フリック
2: 通常タップ
3: 右フリック
4: ロングノート [開始]
- 同じ軌道を描くノーツに接続されます。
5: スライドノート [開始、中間]
- 同じチャンネルのノーツに接続されます。
■出現位置、目標位置
出現位置・目標位置は共に 1~5 を指定できます。
(左から順に 1 2 3 4 5)
<簡易書式>
●出現位置と目標位置が同じ場合 (例: 「#0,000:2222:1234:1234」)
「#0,000:2222:1234」のように省略することができます。
●出現位置、目標位置が共に指定されていない場合 (例: 「#0,001:2222」)
出現位置、目標位置を共に「3」として扱います。
→「#0,001:2222:3333:3333」
//-----------------------------------------------------------------------------
// 3. 実際に譜面を記述
//-----------------------------------------------------------------------------
ここからは、実際に譜面を書いて説明します。
この譜面を再生することで実際にリズムを確認できます。
---------------------
i. 基本的なリズム
---------------------
- 4 分音符を 4 つ(省略形) [タンタンタンタン]
#0,002:2222:1234
#0,003:20202020:5432
- 4 分音符と 8 分音符の複合(1) [タン・・タタン・]
#0,004:20002200:134:134
- 4 分音符と 8 分音符の複合(2) [タンタンタタタン]
#0,005:20202220:54123:54123
- 16 分音符 16 つ [タタタタタタタタタタタタタタタタ])
#0,006:2222222222222222:1324352413243524:1324352413243524
----------------------
ii. 変則的なリズム
----------------------
- 4 分音符と 4 拍 3 連音符の複合
最小公倍数である 12 で分割することで表現が可能です。
#0,008:200200303030:33123:33123
また、分割して記述することもできます。
#0,009:20200000:33:33
#0,009:000111:543:543
■譜面制御
★バージョン変更に伴い、動作しなくなる可能性があります。
譜面中に記述することで、以降の動作を制御することができます。
(先頭に「標準タグの場合:'#'」、「拡張タグの場合:'@'」を付けてください。)
●使用可能な標準タグ
#Measure <小節数>, <倍率> -- 小節の長さを変更します
(使用例: #Measure 1, 3/4)
倍率に関しては、
4 分の 3 拍子の場合 … 「0.75」 あるいは 「3/4」
4 分の 2 拍子の場合 … 「0.5」 あるいは 「2/4」
のように指定します。
#ChangeBPM <小節数>, <BPM> -- テンポを変更します
(使用例: #ChangeBPM 1.0, 120.0)
●使用可能な拡張タグ
@group_by_channel: チャンネルによってフリックノートやロングノートを接続します。
<Format: @group_by_channel [true/false]
@right_angle_flick: 同列のフリックノートを接続します。
<Format: @right_angle_flick [true/false]
@note_number: 記述番号とノート種類の割り当てを変更します。
<Format: @note_number [ノート種類], [番号]>
(ノート種類)
・normal: 単ノート
・flick_left: 左フリック
・flick_right: 右フリック
・long: ロングノートの始点
@unsafe: ノートの重複チェックを無効にします。
<Format: @unsafe [true/false]>
// BPM を 160.0 に設定 (11 小節目から)
#ChangeBPM 11, 160.0
// ロングノートは同じ軌道を描くノーツに接続されます。
#0,012:40000020:11:11
#0,013:40000020:55:55
// 左フリック、右フリックであっても同様に接続されます。
#0,014:40000010:33:22
#0,015:40000030:33:44