Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

<最終更新時バージョン: Ver0.

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)

  #ChangeAttribute <属性> -- 以降のノーツ属性を変更します


  (使用例: #ChangeAttribute Cute)

#HiSpeed <倍率> -- 以降のノーツにハイスピードを設定します


  (使用例: #HiSpeed 1.5)
#Delay <小節数>, <時間> -- ノーツを指定した時間(ms)遅らせます
  (使用例: #Delay 2.0, 250)
 
  #Stop <小節数>, <時間> -- ノーツを指定した時間(ms)停止させます
  (使用例: #Stop 1.0, 100)

#Scroll <小節数>, <倍率>, <所要時間>, <補間モード> -- 譜面のスクロール速度を変動させ


ます
  (使用例: #Scroll 1.0, 1.5, 100, InSine)
 
 ◇補間モードについて
  一部の譜面制御に補間モードを付加することができます。
   ※easings.net に書かれているものが対象となります。
    記述時の名称: 「easeInSine」 → 「InSine」

 ●使用可能な拡張タグ
  @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

You might also like