Skip to content

楽曲製作者向け資料

Shimi9999 edited this page Jan 15, 2022 · 14 revisions

Sorry, Japanese text only.

最終編集日 : 2022/1/15

楽曲/譜面製作者向けの情報として、beatorajaの現在の仕様を以下に示します。 ただ、未確定な部分も多く、今後大きく仕様が変わる可能性もありますのでご留意下さい。

再生可能な形式

  • BMS(.bms/.bme/.bml)
  • PMS(.pms)
  • BMSON 0.2.1/1.0.0 (.bmson)

再生可能な音源フォーマット

  • wav
    • 8bit/16bit/24bit/32bit, サンプリングレートは任意(ただし、デコード時に16bit 44100Hzに変換されます)
    • 対応形式はPCMとMP3のみ
  • ogg
  • mp3

再生可能な動画フォーマット

0.5.4現在、"mp4", "wmv", "m4v, "webm", "mpg", "mpeg", "m1v", "m2v", "avi"を動画BGAとして検出します。 同じファイル名で異なる拡張子のファイルが複数ある場合、BMSの定義に関わらず上記の順に優先的に検出されます。

これ以外でもffmpegが対応しているものはほぼOKですので、対応希望の形式があればIssueに お願いします。

アスペクト比を維持してBGAを表示させる機能があるので、アスペクト比が1:1以外の動画でも黒フチの挿入は不要です。 解像度は大きすぎると重くなることがあるので1280x720程度の動画を使用して下さい。

なお、音声トラックがあってもデコード時に分離、無視するので問題ありません。

BMS拡張定義

  • #PREVIEW (音源ファイルパス)

選曲時に対象の楽曲バーにカーソルを合わせることで自動演奏されるプレビュー音源を指定します。 指定されていない場合、フォルダ内にあるpreview(*).wav(ogg)をプレビュー音源として自動指定します。

  • #LNMODE (1:LN, 2:CN, 3:HCN)

譜面中のロングノートの種類を明示的に指定します。 これを指定すると、譜面内のロングノートの種類は選曲時のLN MODEに関わらず固定となります。

  • #RANK 4

VERY EASY判定になります。判定幅はEASYの1.25倍です。

  • #DEFEXRANK (NORMALを100とした時の判定幅)

判定幅の倍率を細かく指定できます。 RANK定義よりもこちらが優先されます。

(0.7.3以降で基準がEASYからNORMALに変更されました。)

  • #VOLWAV (ボリューム。最大は100)

楽曲のボリュームを指定できます。

(0.6.2以降対応)

  • #SCROLLxx (スクロールスピード倍率)
  • #nnnSC:(スクロールスピードチャンネル定義)

譜面のスクロールスピードの倍率を指定します。未定義の場合は1.0となります。BPMによるスクロールスピード補正と重複します。 倍率をマイナスにすると譜面が逆走します。

フォーマットは拡張BPM定義、STOP定義と同様です。

BMSON拡張定義

  • ln_type (BMSInfo)

ロングノートの種類を明示的に指定します(1:LN, 2:CN, 3:HCN)。

  • t (Note)

ロングノート(l>0)の場合にその種類を指定します(1:LN, 2:CN, 3:HCN)。ln_typeよりも優先されます。 同一の譜面上で混在させることも可能です。

  • up (Note)

trueでかつ、ロングノートの終端位置に配置する場合、そのロングノートの終端音になります。

(0.6.2以降対応)

  • scroll_events : ScrollEvent[] (BMSON Root)
  • ScrollEvent : {"y","rate"}

譜面のスクロールスピードの倍率を指定します。BPMによるスクロールスピード補正と重複します。 倍率をマイナスにすると譜面が逆走します。

(0.7.6以降対応)

  • mine_channels : {"name","notes"(MineChannel[])} (BMSON Root)
  • MineChannel: {"x","y","damage"}

地雷ノートを指定します。判定タイミングでキーを押しているとdamage分ゲージが減少します。damageは小数での指定が可能です。
地雷爆発時に指定した音源を再生します。

  • key_channels : {"name","notes"(KeyChannel[])} (BMSON Root)
  • KeyChannel: {"x","y"}

不可視ノートを指定します。表示・判定されませんが、空打ちすることで指定した音源を再生します。