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


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


概要

StepMania5系で作成、読み込みができる譜面ファイル。
そのため3.9系や4系では互換性が無く、読み込むことができない。
拡張子のsscというのは、StepMania5が元々「StepMania Spinal Shark Collective」という派生バージョンから由来すると思われる。

ちなみに、PIUの再現に力を入れていた「STEPMANIA AMX」という3.9系の派生バージョンでは次のバージョンで読めるようにしたいと記載していたが、2022年12月現在にダウンロード可能なbeta5.9.2-20140524で読み込むことができない。
(SMAは譜面別の速度変更ギミックや譜面のTICK数変更などはAMXが先に実装していたため、このような書き込みをしていた)

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


.smファイルとの違い

大きな違いだけをざっくり挙げると
  • 譜面別のギミックに対応
    • BPM変化、停止を含めた諸々が対応。
  • ギミックの追加
    • DELAYS、WARPS、TIMESIGNATURES、TICKCOUNTS、SPEEDS、SCROLLS、FAKESが追加された。
  • キーサウンド(特定のノーツを踏むと音を鳴らせる)対応
がある。


お断り

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

ただし、1つだけデフォルトで出力されないものだが記載させてほしい。
項目名 重要度 内容 補足
#LASTSECONDHINT 推奨 楽曲終了の秒数 StepMania5では譜面の終点までたどり着いた時点でリザルト画面に遷移してしまうが、これを設定することで指定の秒数まで画面遷移を抑制できる。
だから、ムービーを見せたいとか曲を最後まで聞かせたいからって地雷を置くのはやめよう!!
(この地雷をフェードアウト地雷と呼ぶ場合がある)


構成

#VERSION:0.83;
#TITLE:Song Title;
#SUBTITLE:Song Subtitle;
#ARTIST:Artist Name;
#TITLETRANSLIT:;
#SUBTITLETRANSLIT:;
#ARTISTTRANSLIT:;
#GENRE:;
#ORIGIN:;
#CREDIT:;
#BANNER:;
#BACKGROUND:;
#PREVIEWVID:;
#JACKET:;
#CDIMAGE:;
#DISCIMAGE:;
#LYRICSPATH:;
#CDTITLE:;
#MUSIC:sample.ogg;
#OFFSET:0.000000;
#SAMPLESTART:0.000957;
#SAMPLELENGTH:12.000000;
#SELECTABLE:YES;
#BPMS:0.000=60.000;
#STOPS:;
#DELAYS:;
#WARPS:;
#TIMESIGNATURES:0.000=4=4;
#TICKCOUNTS:0.000=4;
#COMBOS:0.000=1;
#SPEEDS:0.000=1.000=0.000=0;
#SCROLLS:0.000=1.000;
#FAKES:;
#LABELS:0.000=Song Start;
#BGCHANGES:;
#KEYSOUNDS:;
#ATTACKS:
;
//---------------dance-single - ----------------
#NOTEDATA:;
#CHARTNAME:;
#STEPSTYPE:dance-single;
#DESCRIPTION:;
#CHARTSTYLE:;
#DIFFICULTY:Beginner;
#METER:1;
#RADARVALUES:0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000;
#CREDIT:;
#NOTES:
0000
0000
0000
0000
,
1000
0200
0340
003M
;


楽曲情報項目

  • 重要度について
譜面を製作およびプレーするにあたっての重要度を記載しています。
仮にフォルダ内に音源と中身が空の.sscファイルを置いたところでStepManiaのEdit時には読み込めるため、真の意味での必須項目は存在しないといえるかもしれません。

#NOTEDATAが記載されるよりも前のものが対象
項目名 重要度 内容 補足
#VERSION 必須 .sscファイルのバージョン 互換性を保つために多分必要。理由が無ければ変えないこと。
#TITLE 必須 楽曲名 項目自体が存在しない場合、フォルダ名が使用される。
#SUBTITLE 任意 楽曲名サブタイトル
#ARTIST 任意 アーティスト名 項目自体が存在しない場合、「Unknown artist」が使用される。
#TITLETRANSLIT 推奨 文字化け対策の翻訳した楽曲名。基本アルファベットで記載する。
#SUBTITLETRANSLIT 推奨 文字化け対策の翻訳した楽曲名サブタイトル。基本アルファベットで記載する。
#ARTISTTRANSLIT 推奨 文字化け対策の翻訳したアーティスト名。
#GENRE 任意 楽曲ジャンル ソートなどに影響すると思われる。
#ORIGIN 任意
#CREDIT 任意 不明 マジで何のための項目か分からん。作者名でも書いとけ。
#BANNER 任意 バナー画像ファイルのパス 相対パスで記載する。
実は画像だけでなく動画も指定できる。
#BACKGROUND 任意 背景画像ファイルのパス 相対パスで記載する。
動画の指定も可能ではあるが、ここではなく#BGCHANGESで指定した方が良い。
#PREVIEWVID 任意 プレビューで表示する動画 PIUだと選曲画面で表示されてるような動画
#JACKET 任意 楽曲ジャケット DDR X2以降のような正方形ジャケットを表示したい場合に指定する。
#CDIMAGE 任意
#DISCIMAGE 任意
#LYRICSPATH 任意 歌詞ファイルのパス 画面下に歌詞を表示したい場合に設定。
#CDTITLE 任意 収録CD画像ファイルのパス DDR EXTREME以前だと表示されてるアレ。ていうか、画像ならCDIMAGEじゃないのかよ。何なんだ。
#MUSIC 必須 楽曲ファイルのパス 相対パスで記載する。
推奨は.oggファイルだが、もちろん.mp3でも.wavでもよい。
#OFFSET 必須 オフセット(秒) 譜面の開始タイミングから楽曲再生を何秒遅らせるかを指定する。
つまり、正の値を指定すれば楽曲再生は後からになるし、負の値を指定すれば楽曲再生が先になる。
「#NOTEDATA:;」より手前に記載している場合、譜面によらない楽曲共通の値として認識される。
#SAMPLESTART 推奨 プレビューの開始位置(秒) 選曲画面で流れるプレビューの開始位置。
#SAMPLELENGTH 推奨 プレビューの長さ(秒) マイナスなど変な値を入れると12秒が指定される。
#SELECTABLE 推奨 選曲可能か 基本的にYESでよい。というか昨今わざわざYES以外を指定する意味はあまりない(テーマによっては無視するし、プレイヤーが勝手に書き換えてもいいし……)
#BPMS 必須 譜面に設定したBPM値 「拍=BPM値」のように指定し、途中でBPM変化が発生する場合は「,」で繋ぐ。
(例:スタートはBPM120だが2拍目で240に変化する場合)0.000=120.000,2.000=240.000
項目が存在しない場合、60が使用される。
#STOPS 任意 譜面に設定する譜面停止(DDR方式) 「拍=停止秒数」のように指定し、複数回停止する場合は「,」で繋ぐ。
停止する拍の真上にノーツがある場合、重なった瞬間に押すと光る。
#DELAYS 任意 譜面に設定する譜面停止(PIU方式) 設定方法はSTOPSと同じ。
停止する拍の真上にノーツがある場合、重なった瞬間ではなく停止が終わった瞬間に押すと光る。
#WARPS 任意 ワープさせる区間 「拍=ワープする拍数」のように指定し、複数回ワープする場合は「,」で繋ぐ。
ワープ範囲のノーツは判定されなくなる。.smのようにマイナスBPMでワープさせるよりバグる心配がなく安心である。
#TIMESIGNATURES 必須 何分の何拍子か 「拍=分子=分母」のように指定し、途中で拍子が変化する場合は「,」で繋ぐ。
項目が存在しない場合、四分の四拍子(0.000=4=4)が使用される。
#TICKCOUNTS 任意 4分音符1個分あたりのTICK数 「拍=1拍あたりのTICK数」のように指定する。PIUのホールドでの判定間隔に影響する。途中でTICK数を変化させる場合は「,」で繋ぐ。
#COMBOS 任意 1ノーツあたりのコンボ増加量 「拍=コンボ増加量=ミスコンボ増加量」のように指定し、複数回停止する場合は「,」で繋ぐ。
コンボ増加量とミスコンボ増加量が一致する場合は「拍=コンボ増加量」だけでも可。
#SPEEDS 必須 スクロール速度変更 「拍=変化後の値=変化にかかる秒数or拍数=秒数か拍数かの指定」のように指定し、複数回スクロール速度変更が発生する場合は「,」で繋ぐ。
PIUで見られる速度変更と思えばほぼOK。
#SCROLLS 必須 1拍の視覚的な長さ 「拍=1拍の長さ」のように指定し、途中で変更する場合は「,」で繋ぐ。0やマイナスも指定可能。
#FAKES 任意 判定を行わない区間 「拍=判定を行わない拍数」のように指定し、複数の場合は「,」で繋ぐ。
地雷やノーツでお絵かきはしたいが踏ませたくないときに使用する。
#LABELS 任意 見出し用のラベル 「拍=ラベル名」のように指定し、複数の場合は「,」で繋ぐ。
#BGCHANGES 任意 背景変化の指示 動画を表示したい場合や画像複数枚を使ってスライドショーをしたい場合に使用する。
「拍=読み込み対象ファイル=1.000=0=0=0=StretchNoLoop====」と記載しておけばとりあえず使えるはず。
詳細はググった方が早い。
#KEYSOUNDS 任意 特定ノーツを押したときに鳴らす音
#DISPLAYBPM 推奨 選曲画面に表示するBPM値 設定しなかった場合は#BPMSの最小値、最大値が表示されるが、こちらが設定されている場合はこちらを表示する。
たとえば「ギミックによって一瞬だけ倍になる」みたいな場合にBPM変化があるかのように出るのが嫌なときに設定する。
単に数値を入れれば固定BPMのように表示され、「最小値:最大値」と記載すればソフラン有の場合も対応できる。「*」を記載すればEXTRA STAGE専用曲のようにBPM不明扱いにすることも出来る。
#FGCHANGES 任意 前景変化の指示 ほぼLuaの読み込みに使われる。
#ATTACKS 任意 強制オプションの指示 今日日使われてない。大体Luaで何とかされてる。


譜面情報項目

#NOTEDATA
:;が記載されてから譜面ごとの色々な情報が載せられた後に、「#NOTES:」が記載されてから「;」で閉じられるまでノーツ情報が記載されて1譜面として扱われる。

楽曲情報項目と重複する項目があるが、その場合はこちらに記載された項目が優先される。
項目名 重要度 内容 補足
#VERSION 必須 .sscファイルのバージョン 互換性を保つために多分必要。理由が無ければ変えないこと。
#CHARTNAME 任意 譜面名 表示しないテーマもある
#STEPSTYPE 必須 譜面タイプ 「ゲーム種別-スタイル種別」のように記載する。DDRの4パネルなら「dance-single」、PIUの10パネルなら「pump-double」など。
#DESCRIPTION 任意 譜面の説明 表示しないテーマもある。滝の長さとかを書くならここ。
#CHARTSTYLE 任意
#DIFFICULTY 必須 譜面枠 BEGINNERとかHARDとかの譜面枠。
#METER 任意 難易度値 難易度の数値を書く場所。
#OFFSET 必須 オフセット(秒) 譜面の開始タイミングから楽曲再生を何秒遅らせるかを指定する。
つまり、正の値を指定すれば楽曲再生は後からになるし、負の値を指定すれば楽曲再生が先になる。
「#NOTEDATA:;」より手前に記載している場合、譜面によらない楽曲共通の値として認識される。
#BPMS 必須 譜面に設定したBPM値 楽曲情報として記載した場合と同じ。
#STOPS 任意 譜面に設定する譜面停止(DDR方式) 楽曲情報として記載した場合と同じ。
#DELAYS 任意 譜面に設定する譜面停止(PIU方式) 楽曲情報として記載した場合と同じ。
#WARPS 任意 ワープさせる区間 楽曲情報として記載した場合と同じ。
#TIMESIGNATURES 任意 何分の何拍子か 楽曲情報として記載した場合と同じ。
#TICKCOUNTS 任意 4分音符1個分あたりのTICK数 楽曲情報として記載した場合と同じ。
#COMBOS 任意 1ノーツあたりのコンボ増加量 楽曲情報として記載した場合と同じ。
#SPEEDS 任意 スクロール速度変更 楽曲情報として記載した場合と同じ。
#SCROLLS 任意 1拍の視覚的な長さ 楽曲情報として記載した場合と同じ。
#FAKES 任意 判定を行わない区間 楽曲情報として記載した場合と同じ。
#LABELS 任意 見出し用のラベル 楽曲情報として記載した場合と同じ。
#CREDIT 任意 不明 作者名でも書いとけばいい項目
#RADARVALUES 任意 レーダー値と譜面情報 コンマで区切られた28個の項目が記載されている。記載されているのは
Stream,Voltage,Air,Freeze,Chaos,
TotalNotes,TotalNotes(同時1コンボ換算),Jumps,Holds,Mines,
Hands,Rolls,Lifts,Fakes
の14項目で、これを1P側と2P側を繋げて28項目となっている。

ノーツ配置情報

1小節を4拍とし、「,」で区切られるまでを1小節とする。
「,」で区切られた範囲の中は基本的に4の倍数行で記載される。
StepMania上で作成時には配置できないが、20行にすれば五連符が。28行にすれば七連符が配置可能。
内容 補足
0 配置無し
1 通常ノート
2 ロングノート先頭 3とセットで記載する
3 ロング・ロール末尾
4 ロールノート先頭 3とセットで記載する
F フェイクノート ぱっと見ノートがあるように見えるが踏んでも踏まなくても判定されないノート。
StepMania5で.smファイルを出力した際には記載されるが、3.9+で読み込むとそこには何も存在しない。
L リフトノート 3.9+や4で追加された、パネルを踏むのではなく足を離すことで判定されるノート
M 地雷ノート
DL ホールドリフト末尾 Project Outfoxで使用可能。StepManiaXにみられるような終点に離し判定があるホールドの末尾。
先頭は通常のロングノートと同様に2を使用する。
DM 地雷ホールド始点 Project Outfoxで使用可能。StepManiaXにみられるような一定区間に地雷のロングノートがある場合の始点。
末尾は通常のロングノートと同様に3を使用する。

最終更新:(2023/01/17)
最終更新:2023年01月17日 01:41