StepManiaの譜面ファイル > .smファイル


拡張子が「.sm」のファイルはStepMania3.9系以前のバージョンでのメインとなる譜面ファイルである。
たぶん間違いとかあると思うので指摘があればお願いします。


概要

StepMania3.9系で作成、読み込みができる譜面ファイル。
もちろん4系や5系でも読み込み、書き込みが可能。

ゲームセンターのITG筐体でプレーする分にはこちらで出力すること。
実はITG風のスキンを使ってるだけのStepManiaとかでない限り、.sscファイルは読み込めないはず……


お断り

以下の記載は3.9+のSongフォルダに楽曲のみを突っ込んだ状態にして、SONG EDITから.smファイルを生成させたときに記載されているものを対象に記載する。
理由としては「そもそも無くても動く」というものも多いためである。


構成

#TITLE:Song Title;
#SUBTITLE:Song Subtitle;
#ARTIST:Artist Name;
#TITLETRANSLIT:;
#SUBTITLETRANSLIT:;
#ARTISTTRANSLIT:;
#GENRE:;
#CREDIT:Credit;
#MUSIC:sample.ogg;
#BANNER:;
#BACKGROUND:;
#CDTITLE:;
#SAMPLESTART:0.750;
#SAMPLELENGTH:1.000;
#SELECTABLE:YES;
#OFFSET:0.000;
#BPMS:0.000=120.000;
#STOPS:;
#DISPLAYBPM:120.000:180.000;
#BGCHANGES:;
#FGCHANGES:;
//--------------- dance-single -  ----------------
#NOTES:
     dance-single:
     COMMENT:
     Beginner:
     1:
     0,0,0,0,0:
0000
0000
0000
0000
,
1000
0200
0340
003M
;


楽曲情報項目

  • 重要度について
譜面を製作およびプレーするにあたっての重要度を記載しています。
仮にフォルダ内に音源と中身が空の.smファイルを置いたところでStepManiaのEdit時には読み込めるため、真の意味での必須項目は存在しないといえるかもしれません。
項目名 重要度 内容 補足
#TITLE 必須 楽曲名 項目自体が存在しない場合、フォルダ名が使用される。
#SUBTITLE 任意 楽曲名サブタイトル
#ARTIST 任意 アーティスト名 項目自体が存在しない場合、「Unknown artist」が使用される。
#TITLETRANSLIT 推奨 文字化け対策の翻訳した楽曲名。基本アルファベットで記載する。
#SUBTITLETRANSLIT 推奨 文字化け対策の翻訳した楽曲名サブタイトル。基本アルファベットで記載する。
#ARTISTTRANSLIT 推奨 文字化け対策の翻訳したアーティスト名。
#GENRE 任意 楽曲ジャンル ソートなどに影響すると思われる。
#CREDIT 任意 不明 マジで何のための項目か分からん。作者名でも書いとけ。
#MENUCOLOR 任意 選曲画面の楽曲名の表示色 3.9 Plusで追加されたもの。DDR5th~EXTREME時代に収録ジャンル等で色分けされてたアレ。
#METERTYPE 任意 難易度値が何を基準に記載されているか 3.9 Plusで追加されたもの。ボス曲として赤文字で表示するための閾値に関係する。気にしなくてよい。
#MUSIC 必須 楽曲ファイルのパス 相対パスで記載する。
推奨は.oggファイルだが、もちろん.mp3でも.wavでもよい。
#BANNER 任意 バナー画像ファイルのパス 相対パスで記載する。
実は画像だけでなく動画も指定できる。
#BACKGROUND 任意 背景画像ファイルのパス 相対パスで記載する。
動画の指定も可能ではあるが、ここではなく#BGCHANGESで指定した方が良い。
#LYRICSPATH 任意 歌詞ファイルのパス 画面下に歌詞を表示したい場合に設定。
#CDTITLE 任意 収録CD画像ファイルのパス DDR EXTREME以前だと表示されてるアレ。
収録CD画像ではなく、譜面制作者のアイコンであったり、譜面パッケージのアイコンを使用する人も居る。
#SAMPLESTART 推奨 プレビューの開始位置(秒) 選曲画面で流れるプレビューの開始位置。
#SAMPLELENGTH 推奨 プレビューの長さ(秒) マイナスなど変な値を入れると12秒が指定される。
#SELECTABLE 推奨 選曲可能か 基本的にYESでよい。というか昨今わざわざYES以外を指定する意味はあまりない(テーマによっては無視するし、プレイヤーが勝手に書き換えてもいいし……)
#OFFSET 必須 オフセット(秒) 譜面の開始タイミングから楽曲再生を何秒遅らせるかを指定する。
つまり、正の値を指定すれば楽曲再生は後からになるし、負の値を指定すれば楽曲再生が先になる。
#BPMS 必須 譜面に設定したBPM値 「拍=BPM値」のように指定し、途中でBPM変化が発生する場合は「,」で繋ぐ。
(例:スタートはBPM120だが2拍目で240に変化する場合)0.000=120.000,2.000=240.000
項目が存在しない場合、60が使用される。
#STOPS 任意 譜面に設定する譜面停止 「拍=停止秒数」のように指定し、複数回停止する場合は「,」で繋ぐ。
#DISPLAYBPM 推奨 選曲画面に表示するBPM値 設定しなかった場合は#BPMSの最小値、最大値が表示されるが、こちらが設定されている場合はこちらを表示する。
たとえば「ギミックによって一瞬だけ倍になる」みたいな場合にBPM変化があるかのように出るのが嫌なときに設定する。
単に数値を入れれば固定BPMのように表示され、「最小値:最大値」と記載すればソフラン有の場合も対応できる。「*」を記載すればEXTRA STAGE専用曲のようにBPM不明扱いにすることも出来る。
#BGCHANGES 任意 背景変化の指示 動画を表示したい場合や画像複数枚を使ってスライドショーをしたい場合に使用する。
「拍=読み込み対象ファイル=1.000=0=0=0=StretchNoLoop====」と記載しておけばとりあえず使えるはず。
詳細はググった方が早い。
#FGCHANGES 任意 前景変化の指示 ほぼLuaの読み込みに使われる。
#ATTACKS 任意 強制オプションの指示 今日日使われてない。大体Luaで何とかされてる。


譜面情報項目

「#NOTES:」が記載されてから「;」で閉じられるまでが1譜面として扱われる。
厳密には行数ではなく「:」で区切られている何個目の領域かという気もするが、普通改行を消さないし変える必要も無さそうなので行数で記載する。
行数 内容 補足
1 譜面形式 必須。dance-singleやpump-doubleのように、「ゲーム種-プレースタイル」かという記載がされる。
2 コメント 任意。設定されてないか「Copied from」が入っていることが多い。設定しておくと選曲画面で表示してくれる場合がある。
3 譜面難易度 必須。Beginner、Easy、Medium、Hard、Challenge、Editの6種類。少なくともEditは複数あっても問題ない。
4 グルーブレーダー値 おそらく任意。StepManiaで譜面保存時に設定されると思われる。
ここの値を指定したからと言って選曲画面のレーダー値が変わるわけでもない。0,0,0,0,0が指定されていても動く。

ノーツ配置情報

1小節を4拍とし、「,」で区切られるまでを1小節とする。
「,」で区切られた範囲の中は基本的に4の倍数行で記載される。
StepMania上で作成時には配置できないが、20行にすれば五連符が。28行にすれば七連符が配置可能。
内容 補足
0 配置無し
1 通常ノート
2 ロングノート先頭 3とセットで記載する
3 ロング・ロール末尾
4 ロールノート先頭 3とセットで記載する
F フェイクノート ぱっと見ノートがあるように見えるが踏んでも踏まなくても判定されないノート。
StepMania5で.smファイルを出力した際には記載されるが、3.9+で読み込むとそこには何も存在しない。
H ヒドゥンノート 3.9+でのみ配置できる何もないように見えるが踏むと判定されるノート。
ただし踏んでもコンボ数が増えたりもしないし、スルーしてもミスが出ることは無い。また、MAVELOUS相当でないと反応しないため空打ちGOODなどでコンボを切る心配をしなくともよいなど、筆者は使いどころをよく分かっていない。文字通りにDDR STRIKEの隠しノーツをやりたかったんだろうか?
StepMania5のSONG EDITで選択肢に無いように見えるため、気にしなくて良いと思われる。
L リフトノート 3.9+や4で追加された、パネルを踏むのではなく足を離すことで判定されるノート
M 地雷ノート

最終更新:(2022/10/24)
最終更新:2022年10月24日 20:13