BMS制作メモ
こんにちは❣
qfeileadh(ふぇいりあ)です。
普段、BMSをイベントにギリギリ間に合うように制作してしまっている自分なのですが、BMS制作における工夫点をまとめておこうかなと思います。
一部だけでもお役に立てれば幸いです。
※2020年に書かれたものを2024年に修正した記事です。
Master音源と音切り用でミックスを分ける
Master音源ではバスチャンネルにバスコンプを挿したり、マスターにコンプやリミッターなどを挿して、全体の音をつないでまとめ合わせた後にクリップしないように音圧を上げる処理をしますが、BMSではそうはいきません。
楽曲をBMS化する際、ドラムやシンセなどの音をゲーム内で叩く音(キー音)として一つ一つ細かく切り出す作業(音切り)をする必要があります。そうなると、バスコンプが正常に作用しないどころか、意図しないポンピング現象(不自然にコンプがかかることで、音量が激しく変化してより不自然に聞こえたりすること)が起こったり、ゲーム内で再生したときに2mix時と大きく異なる聴こえ方をすることがあり、その調整をする必要が出てきたりと色々面倒なことになってしまうからです。
音源のミキシング自体はまあ、他の人のいろんなネット記事とか読んでもらうとして、BMS化の際にちょっと工夫したことを解説します。
①バスチャンネル使わず、マスターにコンプ挿さない(キー音書き出し時)
音圧というか音量感はもう単純にマスターでゲイン上げて調整します。当然データ的にはバキバキに音割れを起こしているんですが、「この辺までゲイン上げちゃってもそんなに音割れ気にならないぞ?」ってところがあると思うのでそのレベルまで音量を上げてしまいましょう。私はStudio One3ユーザーなのでMixtoolという付属プラグインで+8~10dbほど2mixから音量を上げています。目安としては-6.0LUFS以上でしょうか。
この時の目安で、しっかり処理したキックの音をソロで鳴らしてマスターで0db弱あたりになるようにすると大体Master音源と同じというか、一般的な「音圧しっかりしてるBMS」と同じくらいに持っていけるんじゃないかなと思います。他の人のBMSのキックをSound Engine Freeか何かで読み込んでみると大体そのあたりまで行ってると思います。キックがピーク-10dbを示していたら、Mixtoolで+10~11dbする感じですね。ソロ解除して全体で聴いて耳で調整。
②キー音にしない音は完全にBGM扱いにする
自分はリバーブやディレイなどのセンド類を一度ステムで書き出して、wavをプロジェクトファイルに張り付けてプラグインとセンドをオフにしています。ゲーム内で叩かないであろう音を選定して、それらの音にはバスコンプなりマスタリング処理なりを施していきます。
バスコンプやマスターチャンネルでの処理は音楽的にも大事な工程です。複数の音をまとめられるなら、まとめた方がゲーム内でのクオリティがしっかり保てます。(当然音切りはすればするだけ不自然になるので)
BGMに回す音は、ベース、アタックの遅いPad系の音(バッキングのストリングスなども)、RiserやSweepなどのSFX系、リバーブ・ディレイなどのセンド類といった具合にすると良い感じです。ベースは音切りをする場合もありますが、音楽的な役割を考えてベースは音切りによる品質劣化を避け、BGMでしっかり安定して鳴ってくれた方がいいのかなということと、正直キー音として叩くにはスラップベースのフィルでもない限りは打鍵感が薄いだろうという理由でBGMに回しています。逆にスラップベースとかは叩くと楽しいから切った方がいいかもしれませんね。ベースでもクラブミュージックの類のベースは存在感があるから切っても良さそうです。
BGMには通常のマスタリングと同じようなプラグインを挿していますが、当然全部合わせて聴いたときと同じ設定で処理するとまた聴こえ方が変わるのでここもかなり注意して作業する必要があります。ベースをBGMに回すメリットもここでの調整がしやすいからです。(ベースはキックなど最前列にあるような音なので、2mix時の音量感をベースの音量で判断できるからです)
この記事を書いた当時に制作したBMSでは、このBGMにはTR5 VC-670(Fairchild系コンプ)でGRたった1db程度でアナログ色・サチュレーション・まとまり感を付加し、TR5 Master EQ 432(あたかも"元からそういうバランスだった"かのようにEQしてくれる有能くん)で2mixと同じ設定のまま使用し、TR5 Oneでアナログ感やトランジェント、ステレオ幅など微調整しつつプリマスタリングをして最後にTR5 Stealth Limitterで聴感覚上の音圧を上記の+10dbぐらいしたものと同じになるよう、ベースの音量を見つつ調整していきました。この時のシーリングは0dbでも-0.3dbでもいいのかなと思います。
正直ここの調整がかなり難しいです。いろんなプラグインのいろんなメーター見ながら、RMSとLUFSとPEAKと音割れに神経研ぎ澄ませて調整していきましょう。分析向けのプラグインとして、MLoudnessAnalyzer、MetricABなどの波形を視覚化できたり音圧やDR(ダイナミックレンジ)を表示してくれるプラグインを使用すると情報を取りやすいです。
Twitterでは「マスターにBMSプレイヤー上での歪み方と似ているHardClipper系のサチュレータを挿して、音割れ許容レベルをモニタリングする」という意見を以前頂いたことがあります。たぶんこちらの方が簡潔で分かりやすいと思います。こちらも是非試してみてください。
あとはこんな感じでベースもPadもセンド類も一本にまとめてしまえば、定義数がかなり節約できます。容量も節約できるのでホントにオススメ。
・キー音書き出し時の注意
Mid2BMSを使う場合と、使わず(使えず)にwoslicerIIなどのツールでブツ切りをしていく場合があると思います。このMid2BMSを使用したときの注意なんですが、例えばキックやスネアなど、アタック感が命といった音をMid2BMSで書き出したとき、BMSプレイヤー上でアタックが鈍く聴こえることがあると思います。「バチン!」という音が「モッ!」といった感じで。
これをこのままにしてしまうと、せっかくのカッコいいキックの音が最悪の状態のままプレイされてしまうことになります。特に問題ない場合は読み飛ばしていただいてOK。
SoundEngine Free上でキックの音を開いて、冒頭1サンプルに無音を挿入するとこの現象は解消されました。キックとかスネアとかだけで大丈夫なので、特にキックはこれをチェックしてみてください。何気に超大事なことだと思います。
また、ブツ切りしなくてはならない音の場合(サスティン効いててベロシティいじりまくってるピアノ、オートメーションかかってるシンセなど)はwoslicerII上での設定に注意です。
デフォルトでは”末端40ms、ずらし4、無音切り-48db”になっていると思いますが、できるだけブツ切りによるクオリティ劣化を避けたいので自分は"末端1ms、ずらし1、無音切り-60db"にしてブツ切りを行いました。特に末端とずらしは調整するべきだと思います。
例えばピアノのサスティンペダルを踏んだ状態でアルペジオするフレーズなんかは、Mid2BMSを使って個別に音を書き出してしまうと、トラックにもともとかけていたコンプやピアノの共鳴(音源による?)等の効果が無くなり、音量が上がって2mix時のバランスが崩壊します。この手のフレーズはぶつ切りしかないです。(と思ってるんですが、何かいい方法あるんですかね?)
こんなフレーズを末端40ms、ずらし4のまま切ってしまうと、文字通りホントにブツブツになります。40msもフェードアウトしていたらそりゃそうなりますよね…。そういった現象を防ぐために末端を1msにして少しでも音が繋がるようにしています。
・重複定義
BMSプレイヤーには、「同じ音が再生された場合、再生される前に鳴っていた同じ音をキャンセルして再生しなおす」という仕様があります。例えばリバーブがかかったプラック音をすべて同じ定義で8分音符で配置してしまうと、リバーブ成分はほとんど消え失せてしまいます。(こうならないためにもセンド類をBGMに回したりするんですね)
同じ音を異なる定義にも割り当てて連続しないようにすると、これがうまく再生されるようになります。これを重複定義と言います。
一見クソめんどくさそうな作業なんですが、Mid2BMSの機能の中にBMSファイルを読み込んで自動で重複定義してくれるという神機能があるのでそれにブチ込んで全てを終わらせましょう。ホントに神。
(なんですが、自分が今回作ったBMSでは定義数が多すぎてどうあがいてもMid2BMSくんがエラーを吐くので、キックとシンバルだけでいいかと判断しキックとシンバルの重複定義を手動で行いました。定義数は、節約しようね!)
これをやるとやらないとではBMSプレイヤー上で再生したときのクオリティがものによっては倍くらい違うので絶対にチェックしておいてくださいね。
ただ、キックとかクラブミュージック系のスネアとかは重複定義しないほうがいいかもしれません。強い音が重なって音量が急激に上がり、重なる度に音割れを起こす可能性があるからです。
この辺りも自分の楽曲に合わせて微調整したほうがよさそうです。
・SoundEngineFreeで最終調整
とはいっても、やはりMaster音源とは全く異なる処理をしているわけですから、どうやってもBMSプレイヤー上で再生したときと聞こえ方が変わってくるのはもうしょうがないです。少しでも自然になるように、まず①音割れ具合、②キー音とBGMの音量バランス、③打鍵感、④重複定義で最終調整していきましょう。
SoundEngineFreeにはスクリプト機能というものがあり、一括でフォルダ内のwavを無音削除したり音量変更できたりします。もし音割れが許容できないレベルでガリガリしていたりするようなら全体を-1dbしてみるなど、便利です。
音量変更をするだけならVoltというソフトはさらに楽でおすすめです。
ベースをBGMに回す利点はここにもあって、この段階でのキー音とBGMの調整の際にキックとベースに注意して調整すればBGMの音量は間違うことはないんじゃないかなと思います。一応リバーブやディレイなどのセンド類がそこそこ聴こえるかっていうのもチェックしておきましょう。あえてBGMだけそのバランスから-1dbしてキー音とBGMの差をつけるっていうのもゲーム的にはアリかなと思います。BGMのせいで音割れすることもあるのでこちらも試してみてください。BMSプレイヤーとSoundEngineFree・Voltでミキシングをする感覚ですね。時間かかって超めんどくさいけど。
もしこの記事の内容のほかに工夫していることとか、オススメの方法があれば是非教えてください。
qfeileadh
https://twitter.com/qfeileadh