まず、1拍の長さを決定する。
1拍とは譜面の最小単位であり、たとえば4分音符だけで構成出来るデータであれば、1拍の長さは4分音符になる。ひとつでも8分音符が混ざっていれば、最小は8分音符になるので、1拍の長さは8分音符である。
1拍の実時間が、単位時間(unit_time項)となる。
これを計測する。この計測が正しく出来ないとまともなデータにはならない。
計測のために、曲から始点と終点を選ぶ。
曲の速度(テンポ)が変わらず、拍子がはっきりしており、かつ、なるべく長い部分を選ぶ。
(4拍ぶんを計測して4で割るよりも、200拍ぶんを計測して200で割ったほうが遥かに信頼出来る結果になるため)
MP3DirectCutなど、音声ファイルの「5.127秒地点」のように細かい計測が出来るソフトを使い、始点と終点の間(区間)の時間を計測する。
その区間が1拍の長さの何倍かを数え、区間の実時間から割ることで、単位時間が求められる。小数を丸めないこと。
始点時間 + (単位時間 × 拍数) ≒ 終点時間
となる事を確認すること。誤差は最低でも0.1秒以下に。
例:
使用曲の中で「始点2.612秒」から「終点32.104秒」を「54拍」(4分音符×54)ぶんの長さとして計測する。
(32.104[秒] - 2.612[秒]) ÷ 54[拍] = 0.5461481[秒]
という計算により、この曲の単位時間は0.5461481秒となる。
次に、演奏開始時間(start_time項)を決める。
譜面データは、演奏開始時間以降にしか設定できない。
譜面データの一番最初にリングを置いた場合、それは演奏開始時間と同じ時間に現れることになる。
問題がなければ、先に使った始点をそのまま使うと良い。
演奏開始時間から単位時間をどれだけ足しても、実際の拍とずれていない事が絶対条件である。
譜面データ(seq1~seq2項)は、以下のように記述する。
このように、その拍に発生するリングの情報を、1拍ごとに半角のカンマで区切って書き連ねていく。
1拍目のデータ,2拍目のデータ,3拍目のデータ, …
リングのない拍は、何も書かない。
改行は全て無視されるので、見やすくするためにいくらでも改行してよい。
データの内容は以下である。
例えば一番左上にリングが発生し、取った時にシンバルが鳴る場合は「113」となる。
データ 内容 3桁の数字 百の位…リングの横座標(左 1~7 右)
十の位…リングの縦座標(上 1~5 下)
一の位…リングを取った時に鳴る音の種類
0..無音
1..タンバリン(シャン)
2..クラップ(パン)
3..シンバル(ジャーン)
901 この地点から曲の演奏を開始する 999 この地点で曲を終了する
右下でタンバリンなら「751」。画面中央は「43?」。
以上を踏まえて、例えばこのように記述する。
999の時点で曲が終わる。
&seq1= 433,,,,433,,,, 121,221,321,421,521,621,721,, 433,,,,433,,,,999
見やすくするために、8拍ごとに改行している。
フォーマット2の場合、単位時間という概念は無く、単純に全てのリングの到着時間を秒で指定する。
譜面データ(seq1~seq2項)は、以下のように記述する。
このように、リング1つのデータごとに半角カンマで区切り、さらにその中で、半角スラッシュで区切って記述する。
1つ目のリングの到達時間(秒)/1つ目のリングの内容, 2つ目のリングの到達時間(秒)/2つ目のリングの内容, 3つ目のリングの到達時間(秒)/3つ目のリングの内容, :
改行は全て無視されるので、見やすくするためにいくらでも改行してよい。
リングの内容は以下である。(フォーマット1と同じ)
データ 内容 3桁の数字 百の位…リングの横座標(左 1~7 右)
十の位…リングの縦座標(上 1~5 下)
一の位…リングを取った時に鳴る音の種類
0..無音
1..タンバリン(シャン)
2..クラップ(パン)
3..シンバル(ジャーン)
901 この地点から曲の演奏を開始する 999 この地点で曲を終了する
以下は例である。
いちいち手計算しながら時間を求めるという手間はありえないので、何らかのツールなどで計算する事が前提となっている。
&seq1= 9.023796/141, 9.569389/141, 9.842185/342, 10.114981/442, 10.387777/542, 10.660573/642, 11.206166/721, 11.751758/721, 12.024554/522, 12.297350/422, 12.570146/322, 12.842943/222, 13.115739/333, 13.388535/333, :