#WAV
・#BMP
タブ
#WAV
タブや #BMP
タブは、オブジェクトのパレットとして機能します。
このリストに登録した音声/映像の素材ファイルは、
BMS で使用する音声/映像の素材ファイルは、譜面ファイルその他とともに同階層に配置し、作品単位でフォルダ分けする構成が一般的です。
通常の BMS アプリケーションは「現在開いている譜面」を起点としてリソースを参照します。
#WAV
タブの概要
#WAV
タブには、譜面で使用する音声ファイルを定義します。通常は WAV フォーマットが使用されます。音声は手動演奏パートと自動演奏パートに分類されます。
#WAV
タブ内でリストカーソルを移動させたとき、移動先の番号に音声ファイルが定義されていた場合はプレビュー再生します。通常は WAV・
WAV フォーマットに関して、互換性を重視するなら注意すべき点がいくつかあります。少し話が変わりますが、
サンプリング周波数
なるべく 44100 Hz を使用してください。
WAV を OGG に変換する予定なら、
- 以下の音声は、一部の機種で正常に再生されません。
-
- 32000 Hz 系列 (8000 Hz・
16000 Hz・ 32000 Hz) - 48000 Hz 系列 (12000 Hz・
24000 Hz・ 48000 Hz)
- 32000 Hz 系列 (8000 Hz・
88200 Hz 以上や 96000 Hz 以上の高解像度音源には、いまのところソフトウェア側が対応していません。
ビット深度 (量子化ビット数)
16-bit を使用してください。
最初から音量大きめで録音すれば、#VOLWAV
で弱めれば、ノイズを大幅に抑制できます。#VOLWAV
がほぼ実装されない現在は 16-bit のままにしておくのが無難ですが、ビットノイズの手触りを体感したい方はお試しください。
WAV を OGG に変換する予定なら、
チャンネル数
2 channels (ステレオ) か 1 channel (モノラル) を使用してください。ほとんどの場合、ステレオのままにするのが適切でしょう。
事前にモノラルと分かっている音声は、モノラルに変換することをおすすめします。聴覚上の副作用なしでサイズを削減できるうえ、
モノラル波形をわざわざ探すほどの費用対効果があるかどうかは微妙なところですが、自動化できるならやらない理由はありません。
その他
FL Studio や Studio One などから出力された WAV に、いくつかのメタ情報が付与される場合があります。これらはしばしば環境に悪影響を及ぼします。不都合でなければメタ情報をすべて削除してください。そのものずばり「S1 の WAV を音切りソフトで読めるようにするやつ」なるソフトウェアも。
長さ 1 分以上の音声を使用する BMS は、
このような曲の多くは、俗に「一本wavキー音無し」や「物故」等と呼ばれるカテゴリーに属する、違法なbmsです。
これらのbmsはLR2ではプレイすることを認めておらず、疑わしい曲はすべてIRへの登録を規制しています。
cranky氏の「Julia」や、一部の海外作者の曲等がとばっちりを受けて登録不可になりますが、これは仕様とさせて下さい。
引用終了。
WAV に関連する内容が減質や OGG 化にあります。また「BMSのファイルサイズを小さくする工夫」に、演奏音の残響・遅延成分だけを BGM に持っていく手法が紹介されています。この手法は演奏感を減じさせるきらいはありますが (たとえば「叩きがずれると遅延成分もまるごとずれる」などの味わい)、それが響く状況は低難度譜面くらいなので、多くの場合、効率的です。
BMS で用いられる音声フォーマットの簡易比較
再生時にデコードを要する形式は、相応の計算資源を “プレイするつど” 消費します。それを嫌って手元で WAV に変換するユーザもいます。
形式 | 利点 | 欠点 |
---|---|---|
WAV | 加工が楽、全機種対応 | 高音質だと巨大容量 |
OGG | 低容量・高音質 | 非可逆圧縮 |
FLAC | 可逆圧縮 | 圧縮率や普及率は冴えない |
MP3 | 低容量 | 非可逆圧縮、劣化や音ズレ問題 |
MIDI | 超低容量 | 環境依存が激しすぎ非推奨 |
- Bemuse は MP3 の音ズレを抑制します。
(Blink /WebKit 推奨) - charatbeatHDX
・BMIIDXview2015 は MIDI に対して本気です。 MIDI 2.0 の2020年代は #MIDIFILE
拡張が存在感を増すかもしれません。
#BMP
タブの概要
#BMP
タブには、譜面で使用する映像ファイルを定義します。通常は BMP フォーマットが使用されます。映像は背景パートと前景パートと POOR アニメーションに分類されます。
BMP 形式の詳細は BGA レーン解説を参照してください。最も互換性が高いのは、
- 24-bit (True Color) BMP を古いソフトウェアは減色して表示します。
- 16-bit (High Color) BMP を一部のソフトウェアは表示できません。
- 256 pixels よりも小さな画像の表示方式は、統一されていません。
#BGA
(座標定義) 命令や、一部機種の独自仕様 (フリーサイズ BGA など) は、
BMS で用いられる映像フォーマットの簡易比較
単数あるいは複数枚の静止画を並べる映像の場合、特に理由がなければ BMP か PNG を選んでおけば問題ありません。
動画形式の利点は、切って並べる必要がない、枚数制限がない、譜面スクロール停止中も映像を簡単に動かせる、などです。欠点は、ファイルサイズが巨大、機種や codec などの環境に大いに依存する、映像内容の組み換えや速度変更が容易ではない、古い機種で表示できない、などです。
再生時にデコードを要する形式は、相応の計算資源を “プレイするつど” 消費します。高画質動画に限らず、過度に最適化された PNG なども、環境次第ではプレイに支障をきたすレベルで遅延を発生させます。
APNG やアニメーション GIF は最初の 1 フレーム目のみが表示されます。
形式 | 利点 | 欠点 |
---|---|---|
BMP | 加工が楽、全機種対応 | 高画質のとき大容量 |
RLE | 可逆圧縮 BMP | 拡張子 bmp のとき判別困難 |
PNG | 低容量、可逆圧縮 | BMSE 表示不可 |
JPEG | 低容量 | 非可逆圧縮、レイヤー不具合 |
GIF | 可逆圧縮 | 通常は 256 色制限 |
MPEG-1 | 互換性が高い | 低画質、じつは Codec など複雑 |
MPEG-4 |
高画質 | 高負荷、非ロイヤリティフリー |
WebM | Web で強い | 冴えない画質 |
WMV | Windows で変換が楽 | Windows 以外の OS でつらい |
- Angolmois
・Sonorous は動画形式は MPEG-1 のみをサポートします。 - Bemuse は映像形式として WebM または MP4 動画のみをサポートします。
Web サーバー用に動画を用意する手順 (英語) をお読みください。
どちらもクロスプラットフォームな BMS 用ビデオを実現できますが、無難な MPEG-1 動画を作成するのは予想以上に面倒です。
QMS-player は WMV 形式の動画を非推奨としています。難易度が高まる。
単数ファイルを定義する
- ファイルを定義したい番号を選択します。
- 選択した番号に対して、ファイルを参照します。
- ファイル参照ダイアログから、定義したいファイルを選択します。
1. ファイルを定義したい番号を選択します。
目的番号を左クリックすると、定義リストボックスにフォーカスが移動し、選択カーソルが縁取られた状態になります。
テンキー “+”・#WAV
または #BMP
の選択カーソルが移動します。
または、定義リストボックスにフォーカスがあるとき、矢印キー、
2. 選択した番号に対して、ファイルを参照します。
ファイルを定義したい行を左ダブルクリックすると、ファイル参照ダイアログが開かれます。
または、定義リスト領域上で右クリックしてコンテキストメニューを開き、
を左クリックするか、フォーカスして Space や Enter を押すのでも構いません。
3. ファイル参照ダイアログから、定義したいファイルを選択します。
ファイルを選択して、
単数または複数のファイルを、ドラッグ・アンド・ドロップで定義する
エクスプローラやファイラーから選択したファイルを、
選択カーソルがある行から以降の空白行に、上から順に定義されます。
既に定義されている番号は飛ばして定義されます。
ドラッグ開始位置にあるファイルが、選択カーソル以降の最初の空白行に定義されます。
ドラッグ開始位置のファイル以外は、エクスプローラ上で選択された時点での並び順のまま定義されます。ファイルの並び順を変更すれば、ドロップ時にリストもその順番になります。
ドラッグ・アンド・ドロップではどんなファイルも定義できてしまうので、無関係なファイルが定義に紛れ込まないようご注意ください。
選択カーソル行から以降にある空白行の数が、ドラッグ・アンド・ドロップしたファイルの数に満たない場合、超過分のファイルは定義されません。
#BMP
定義リストにドラッグ・アンド・ドロップでファイルを定義したとき、変更フラグが立ちません。( #WAV
の場合は変更フラグが立つので、これはバグかもしれません)
重複定義
単一のファイルを、複数のオブジェクト番号に多重に定義することができます。これは音声の定義において重要なテクニックです。
通常、ある瞬間に鳴らせる音声は定義 1 種類につき 1 つのみです。
- 同番号の同時配置
-
同じ番号のオブジェクトは同時にいくつ配置しても、
1 個分しか鳴りません。 - 同番号の連続配置
-
同じ番号のオブジェクトを連続させたとき、再生中のファイルが停止する前に同じファイルをリロードすると、先に再生されていた音声は途中で停止します。波形がゼロクロスポイント以外の位置で中断された場合はノイズが発生します。このノイズは状況によっては非常に目立つものです。
重複定義によって、これを回避することができます。単一のファイルを複数の番号に定義し、別々の番号のオブジェクトとして配置します。
- 重複定義の同時配置
-
重複定義した「同内容・別番号のオブジェクト」を同時に配置すると、配置個数分、同じ音が同時に再生されます。
- 重複定義の連続配置
-
重複定義した「同内容・別番号のオブジェクト」を連続させると、先に再生されていた音声は中断されず再生されます。
- 重複定義の半端な配置
-
音声波形が完全に終了する前に同番号オブジェクトが再登場すると、ノイズが発生します。リロードノイズを完全に抑制するためには、波形の長さを考慮しながら適切に重複定義オブジェクトを配置する必要があります。
重複定義の活用例
- ノイズの回避
-
短音ドラムの連打や、残響音を含む長音や、ループ素材などを連続配置する際、多重定義することで譜面再生時のリロードノイズを回避します。
BMS ではほぼ必須となる手法です。 音声の性質や使われ方によっては、多重定義しないほうがしっくりくるケースもあります。キックの 32 分トリルなどは、そのつど発音がキャンセルされないと逆に不自然に聴こえるかもしれません。あくまでノイズを避けるなら、いっそトリル全部をまとめて録音するといった方法もあります。
- ノイズの予防
-
演奏オブジェクトのリロードノイズを予防します。正確なタイミングで演奏されなかった場合でも、ズレが軽微ならノイズ発生機会を抑制することができます。
演奏オブジェクトのタイミング指示を無視して連続入力した場合は、もちろん演奏音のリロードが発生します。
オブジェクトの判定や音声割り当てがどの地点から準備されるのかは機種により異なるため、必ずしもこれが予防策たりうるとは限りません。
- 疑似的な長音化
-
短い音を多重定義して疑似的に長音化します。フェードインやフェードアウトなどで波形の繋ぎ目の凹凸を均せば、音声は滑らかに連続します。
ファイルを使いまわす分、作品容量を節約できます。
性質上、波形の出だし部分 (アタック) があまり目立たない音が長音化に向いています (ストリングスなど)。
演奏オブジェクトとして使用する場合、疑似長音ではなく本物の長音を用意するほうが、演奏感は向上します。
- 音量の増大
-
多重定義で特定ファイルの音量を n 倍します。
ファイルを使いまわす分、作品容量を節約できます。
単純に整数倍されるので、音割れに注意してください。
また性質上、演奏オブジェクトとしての使用には向いていません。認識できる演奏音が 1 種類のみ、かつオブジェクト全部を拾わなくても演奏音を認識できてしまうため、いわゆる “演奏感” が低下します。
- 意図的なリロード
-
あえて多重定義を行わず、同番号オブジェクトをそのまま連続させて発音を意図的にキャンセルさせる手法もあります。
たとえば長めのブレイクビーツやボーカルサンプルなどをタイミングよくリロードすれば、リズミカルなパターンになる場合があります。
演奏オブジェクトでこれを行い、サンプラー的な演奏感覚を狙った作品もあります。リロードノイズすら「演奏している実感」として有益に働く場合もあるため、重複定義が常に最適解であるとは限りません。
他のアプリケーションにおける重複定義
-
BMS
Resource Register は重複定義作業を多少楽に行えるようにします。 (註: 現在ダウンロード不可)
-
BME2WAV において、オプション「同じ WAV が鳴っても前のを消さない」を有効化すると、譜面内の全オブジェクトが多重定義されたものと同様に扱われます。
通常この項目は有効化したほうが綺麗に変換できますが、意図的に発音キャンセルを行っている一部の作品は、この項目を無効化しないと曲が崩れます。
-
BMX2WAV における [詳細設定 → 変換タブ → WAV が鳴り終わる前に同じ WAV が鳴った場合、前の WAV を消す] も BME2WAV と同様です。ただし BME2WAV とは文意が逆になっています。一般的なプレイアブルアプリケーションと同じ鳴り方にしたい (発音キャンセルさせたい) 場合、この項目を有効化してください。
#WAV
・#BMP
タブの操作
- リスト上でホイール回転 ↑↓
-
リストボックスの表示領域を上下にスクロール
- スクロール量は、
【コントロールパネル → マウス → マウスのプロパティ → “ホイール” タブ】の設定値に従う
- スクロール量は、
- リスト上で左クリック
- クリック位置の番号を選択 (リストカーソル移動)
- リスト上で左ダブルクリック (やり直し不可)
- クリック位置の番号にファイルを定義 (参照ダイアログ)
- リスト上にファイルドロップ (やり直し不可)
-
選択カーソル行から、以降の空白行にドラッグ・アンド・ドロップしたファイルを一括で定義 (複数可)
#BMP
にドロップしたとき、変更フラグが立たない
- リスト上で右クリック
-
定義リストのコンテキストメニューを開く
- マウスオーバーや矢印キー上下でメニュー項目を選択
- 左クリックや Enter で選択項目を実行
- アクセスキー L、
D、 R で各項目を選択して即実行 - Esc、
Alt、 F10、他の箇所クリックなどでメニュー閉じる
- ファイルのロード (やり直し不可)
- 選択カーソル行にファイルを定義 (ファイル参照ダイアログ)
- 選択ファイルをキャンセル (やり直し不可)
-
選択カーソル行の定義を消去
- 単に定義済みアイテムを消すだけ。実際のファイルは消えません。
- 選択ファイルをリネーム (やり直し不可)
-
選択カーソル行に定義アイテムがあるとき、
[譜面上の定義名] と [実際のファイル名] を同時に変更 - 文字列入力フォームで、
IME は常に無効になる - ファイル名だけでなく、パスの定義も可能
- 文字列入力フォームで、
- テンキー “+”・
“-” - 選択カーソルを上下に 1 行ずつ移動
- Shift + テンキー±
-
選択カーソルを上下に 3 行ずつ移動
- 左クリック、
Ctrl + テンキー± -
選択カーソル行の定義内容を 1 行先の定義と入れ替える
- メインパネル上の番号も同時に置換するので安心
- この操作は “元に戻す/やり直し” 可能
- Ctrl + Shift + テンキー±
-
もしくは を 3 回連続で実行する
(== 選択カーソル行の定義内容を 3 行先まで入れ替える)
- “元に戻す/やり直し” 可能
- ただしこの操作 n 回につき Undo Counter +3n なので、元の状態に戻すなら Undo は 3n 回実行する必要がある
- Page Up、
Page Down -
選択カーソルを上下に 1 ページ量ずつ移動
- [リストの表示行数 -1 行] を 1 ページ量とする
- 移動量は、入力時点の BMSE ウィンドウ高さに依存する
- 移動量は、垂直バーのトラック左クリック 1 回分と等価
- リストボックスにフォーカスがないとき、入力は無効
- Home、
End -
選択カーソルを、リストの先頭/末尾に移動
- リストの先頭は常に定義番号
01
- “拡張定義を使用しない” が有効のとき、末尾は
FF
- “拡張定義を使用しない” が無効のとき、末尾は
ZZ
- リストボックスにフォーカスがないとき、入力は無効
- リストの先頭は常に定義番号
- 矢印キー
-
- リストにフォーカスがあるとき、カーソルを 1 行移動
- タブにフォーカスがあるとき、タブを切り替え
- ボタンにフォーカスがあるとき、ボタンを切り替え
- 左クリック (
#WAV
タブ展開時) -
定義リストの音声プレビュー、および “メインパネルの単体選択プレビュー” の音声を停止
- 停止するのは BMSE の再生機能による音声のみ。ビューワなどで再生中の音声には作用しない
-
新規作成時点から譜面未保存のとき、
BMSE.exe は「BMSE.exe があるフォルダ」を暫定基点パスとする。つまり、 BMSE.exe の同位にあるファイル以外はプレビュー不可。 譜面を保存すれば、以降 BMSE は譜面のパスを基点にファイル参照を行う (∴リネームもプレビューも可能)
- 左クリック (
#BMP
タブ展開時) -
BMP・
BGA プレビューウィンドウを開く/閉じる (トグル) - 選択カーソル行の
#BMP
・#BGA
を表示する - 新規作成時点から譜面未保存のとき、リネームや音声プレビューと同様の制約あり
- 選択カーソル行の
- 左クリック (やり直し不可!)
-
選択カーソル行の定義を消去
- 単に定義アイテムを消すだけ。実際のファイルは残る
- 左クリック (やり直し不可)
-
選択カーソル行にファイルを定義 (ファイル参照ダイアログ)
- マウスなしでもファイルを定義できる
他のアプリケーションにおける定義リスト並べ替え
BMSE は 1 行単位の定義操作しか行えませんが、
複数行移動は、複数の BMS から 1 枚の譜面を合成する場合にも役立ちます。部分譜面を個別に編集し、各譜面の定義番号全体をずらしたうえで、定義と配置をまるごと 1 枚にコピーペーストすれば、簡単に譜面を統合できます。
これにより、複数の章からなる組曲風の譜面や、複数作品を合体させた譜面などを作りやすくなります。
- BMS List Sorter は
#BGA
(座標定義) に非対応です。 - iBMSC は
#BMP
と#BGA
(座標定義) に非対応です。 - μBMSC は
#BMP
と#BGA
(座標定義) に非対応ですが、#BMP
対応版が存在します。
パスの定義
“選択ファイルをリネーム” において、パスを指定すると、ディレクトリ構成も同時に変更されます。
通常は定義リストにファイル名を指定しますが、これは [現在編集中の譜面があるフォルダ] を基点としたパスの定義でもあります。
したがって、リネーム時に 1 階層上位 (“..\
”) や下位のディレクトリを指定すれば、対象ファイルも指定通りに移動します。パスの定義とファイルのリネームは同時に行えます。
- たとえば、ある時点での編集中のディレクトリが “parent
\current” フォルダであるものとします。 - “current” フォルダ内を参照している定義アイテム “
test0001.wav
” を、定義リストのメニューから “..
” にリネームすると、\01.wav - 実際の “parent
\current \test0001.wav” は、上位階層 “parent” フォルダに移動し、 “parent \01.wav” になります。
パスの定義やリネーム機能には問題が多いので、ご注意ください
分離符はスラッシュ (“/
”) ではなくバックスラッシュ (“” 日本語環境では “”) を使ってください。スラッシュ区切りのファイルパスは、
存在しないディレクトリを指定すると、
ドライブレター (“:
”) を含むフルパスを指定すると、
「フルパスが指定された定義」を含む譜面を開くと、
256 bytes を超える長さのパスを指定すると、
一部の BMS アプリケーションはパスの定義を解釈しません。
新規作成から譜面を保存するまでの間、
拡張子がないファイル名にもリネームできますが、それがオブジェクトとしてスクリーンに描画される状態で “ファイル名を表示” すると、
指定したパスが既に存在する場合、その名前には変更できません。
ファイル名に使用できない文字を指定すると、様々な不具合が発生します。これらは (もし入力できたとしても) 使わないでください。バックスラッシュ (“\
”) は階層の分離符としてのみ使用してください。
半角スペース (“”) および「非 ASCII 印字可能文字」の使用も避けてください。環境によりパス文字列の文字化けや誤解釈を引き起こします。たとえばひらがな・カタカナ・漢字・半角カタカナなどを用いたパスの定義は、非日本語圏では正常には認識されません。詳細は外部資料を参照してください。
定義リストからのリネーム時、重複定義は考慮されません。たとえば #WAV01
~05
の定義が重複しているとき、#WAV01
をリネームすると、#WAV02
~05
は無効な定義となります。古い名前のファイルはもはや存在しないので、#WAV02
~05
は参照もリネームもできません。
- リネーム後のファイルを再び元の番号に重複定義し直すか、
- もしくは重複定義は全ファイル名が確定した後で行うか、
- そもそも BMSE のリネーム機能を使わない、などの対処法があります。
定義リストからのリネーム時、変更フラグは立ちません。たとえばリネーム直後に BMSE の終了を試みると、保存確認なしで BMSE が終了してしまいます。この場合「実際のファイル名は変更されたにも関わらず、譜面上の定義名は未変更のまま」という状況になり、リネーム対象は無効な定義となります。