ClockRoom

音まわりシビア | 運営ノート

音まわりシビア

曲を1つだけ作成。 早速ゲーム中に乗せてみたのだが問題続発。 BGMとSEのバランスがとんでもなくひどい。 BGMには小容量で済むMIDIを採用するのだが、プログラムによるMIDIの音量のコントロールは極めて困難。 環境に依存し、特に外部MIDI音源モジュールに対しては全く無効である。 そのため、BGMの再生音量調節機能は付けていない。 スピーカの音量でBGMの音量を調節してもらい、SEの音量をゲームで調節してもらう仕様にした。 しかし、ここに落とし穴が。 BGMがよく聞こえるまでスピーカの音量を上げ、それに合わせてSEの音量のみを下げるとSEが変質してしまった。 つまり、音量を下げすぎて波形の一部がゼロに達し、波形が変形してしまったのである。 このままではマズイ。 そこで思いついた策。 この現象は「限りなくゼロ」を「ゼロ」としてしまうデジタル特有の現象であり、量子化ビット数を8ビットから16ビットに変更することにより、端数切り捨てが起こりづらくなるのではないかと予測。 結果は見事、変質なく音量を下げることに成功。 ただし、SEのサイズは2倍・・・

SEのサイズは2倍。 初めはこれだけで済むと思っていた。 しかし、再び不測の事態が。 今度はSEのロード過多によるサウンドRAMの不足(だと思う)。 SEには全く影響ないが、今度はBGMが再生中に欠けてしまう問題が。 BGMとSEを別々のデバイスで再生する場合は問題ないが、1ヶ所に任せるとこんなことが起こってしまうことを初めて知った。 そこで、今度はなるべく気づかれないようにSEのロード数を削減。 なんとかこちらの問題も解決したのだが、ほかの環境では全くわからない。 まあ、私のPCで大丈夫ならおおかた大丈夫だろう。 こういうときにへっぽこPCは便利である。 ただこの問題、ISAのデータ転送速度が問題なのではという説もあるが・・・

ひとくちメモ 「サウンドRAMはビデオRAMよりもシビア」

コメント

名前
内容
送信

※URLを含むコメントはできません。