サウンドを作成する場合、曲を作ったり効果音を作ったりします。 これらの波形のボリュームやエフェクトを変えたりといったことは波形編集ソフトで行いますが、 プログラムで再生するときの動作(ふるまい)を調整したい場合があります。 ここでは、ゲームサウンドのチューニングと題して、さまざま機能を駆使して、プログラムをいじらずともデータだけでできる調整可能な手法を紹介します。 ADX2のAtomCraftで紹介しますが、似たようなラッパーを組むなどでも解決できるかと思います。 * 同時に一個しかならないBGMを用意する ゲーム中、BGMのデータを用意するけれど、大抵は同時に再生すると不協和音になって嬉しくない状況になります。 こんな場合は、カテゴリを用意します。 カテゴリ「BGM」を用意して、さらに「キューリミット」を1とします。 そして、BGMのキューをこのカテゴリに所属させます。 *効果音が多く鳴ったときにBGMが消えてしまう まず、効果音の発音数をリミットさせるために、 カテゴリ「SE」を用意します。(SE=SoundEffectsの略) 「SE」はある程度複数鳴っても構わないので、「キューリミット」を8くらいにします。(ここは調整でもっと少なくても良いかも) そして、効果音のキューをこの「SE」カテゴリに所属させます。 これで、効果音は少なく発音されるのでBGMが消えにくくなりました。 *確実にBGMが消えないようにする ゲームサウンドの中でBGMは絶対に消えない。とても重要な音という方針で考えます。 この場合、効果音よりもBGMのプライオリティが高いという状況になります。 各BGMのボイスプライオリティの値を255としておくことで、確実に消えないようにすることができます。 *BGMをふわっと切り替えたりしたい BGMの切り替えるときに、スパッと止まってしまうと気持ち良さが足りない場合があります。 こんな時は、BGMのボイスの「エンベロープ」の「リリース」を200くらいに設定することで、フェードアウトします。 同様に、BGMのボイスの「エンベロープ」の「アタック」を200くらいにすると、フェードインします。 *BGMがうるさくてSEが埋もれてしまう SEの音量やBGMの音量を調整してもうまくいかない場合があります。 SEもしっかり聞こえて欲しいけど、普段はBGMもしっかり聞こえて欲しい。 この場合は、SEが鳴っていない時はBGMをしっかり鳴らす。 SEが鳴っている時はBGMを控えめにする。 とするとちょうど良いバランスになります。 REACTを作成し、「変化カテゴリ」を「BGM」、「トリガカテゴリ」を「ダッカー」にします。 さらに、「戻り時間」を200に設定し、「変化レベル値」を「0.5」くらいにします。 こうすると、SEの音が鳴った時にBGMが下がり、丁度良いバランスになります。