見出し画像

ダッキングのデザイン

ゲームの中での音量の自動調整の機能としてダッキングというのがあるという話。

ダッキングとは

A 通常の音で流れる
B 音量が下がる
C 元の音量に戻る

というシンプルなもの。

もともとはラジオとかの放送機材の機能で、ラジオの場合音楽をかけているうえにDJが声を重ねる場合、優先度に応じて変化させれば、ミックスの人がいなくても自動化できるのではという発想。

距離減衰の話でもでてたけど、音には優先度がある。

優先度が
ジングル>声>音楽

だった場合にこれらが同時に鳴った時に自動的によきバランスになってくれると都合が良い。

マニピュレーターやPAの人が3つのトラックの音量フェーダーに指をのせて常に状況把握するのはコストが高い。自動化できるところは自動化してしまおうという。

声と音楽

A 音楽
B 声>音楽
C 音楽

といった変化

この場合、声が聞き取りずらいとまずいけど、
音楽だけの時は、音楽が主となり、それなりの音量で音楽が鳴って欲しい。

ラジオのシステムだと音量が小さいと聞こえない場合があるので、
(小さなスピーカーで、音量が弱い場合でも明瞭に聞こえるようにするため)なるべく一定の大きな音で鳴らすようにコンプのようなものがかけられている。

音楽とジングル

A 音楽
B ジングル>音楽
C 音楽

という感じで、ほぼ排他的(最優先のものだけが鳴る)に扱われる。
音楽とジングルを重ねたくないのは、不協和音を避けるため。(どちらも音楽的なものが流れているとぶつかるとちょっとまずい)

チップチューン的なモデル

A 音楽
B SE>音楽
C 音楽

ファミコンくらいの音源の時は、そもそも発音数が限られていて、
そこで音楽を流すのに4音使っているけど、SEも鳴らしたいので、1音拝借。みたいなことが起こる。

こういう時に、優秀なサウンドドライバーが良い感じに元の状態に戻してくれると、プログラムが複雑にならずにすむのでありがたい。

とても重要なアイテムや、謎を解いた時とか、音楽が消えて、ジングルやSEが鳴る。よくある演出になる。

ボイスパーカッション

ベースの音を歌いながらドラムの音が入る。みたいな口が一つしかないのに音がたくさん鳴っているように聞こえる。

ベースのトラックは裏で鳴っている想定で、より大きいドラムの音で消されているような表現。

もちろん、ベースの音は、ドラムの音が無くなれば元に戻る。その時、裏で時間経過は進んでいる。

元に戻すのがなかなか難しい

口でやるにしても高度なテクニックが必要なのがわかる。(元の状態に戻すってなかなか難しい、多段でさらに別の楽器が入ってきたり、途中の要素が抜けてしまうとか・・・)

割り込みの処理で、常態が変化したりくらいならまだ復帰できそうで良いけど、ここから(時々)ジャンプして、別の処理にとぶ(GOTO)みたいなのだったりだと、もう状態管理の設計からしっかりしないと危ういのです。

音に対して、どういう分類にしておくべきかの設計次第で、これらの機能が生きる死ぬが決まってしまうほど・・・

サウンドミドルウェアのダッキング

もともと、それぞれの音量をコントロールできるように、各カテゴリ(SE,BGM,VOICE,AMBIENT,SYSTEMなど)ごとに操作できるようにデータにタグのようなものをつけてそれぞれのカテゴリーの音量が決まるようにしておく。

そして、そのカテゴリ間の優先度によって、他のカテゴリの音量を変化させる、といったことができる。

音量以外にもフィルターだったり、エフェクトセンドだったりといった効果をかけることにも使える。

便利なのは、一時的に効果をかけたあと、自動で元の状態に戻ってくれること。 (これプログラムで組むとだいたいいろんな問題に悩まされる)

やりすぎると酔う?

これも、万能システムではなく、声がでたり、ひっこんだりを短い時間でおこしていると、音楽が揺れてしまい、それはそれで不安定で聞き取りずらい状況になる。

A 音楽
B 声>音楽
C 音楽
B 声>音楽
C 音楽

時間処理の調整

短い時間での切り替えは避けるべき。 でも、すぐにフェードしないと声の出だしが聞き取りずらい とかもある。

A 音楽
B 声音楽
B 声>音楽
C 音楽

あと、声が終わっているのに、なかなか音楽が戻ってこないとか。

A 音楽
B 声>音楽
C  >音楽
C 音楽

この時間調整や塩梅もなかなか難しい。

声や、ジングルなどもテール部分(もう音が終わって、残響や余韻の部分)のところからは、音楽がクロスフェードしてくれるくらいがちょうどよいとかもあったりする。

(ADX2だとREACT戻りマーカーみたいなのを埋め込めたりできる)

ダッキングの速度、音量バランス調整

この戻るとか、変化する速度、どれだけ音量を変えるかなどは、状況によって変わるので、調整が必要です。

例えば、音楽と声であったら、音楽は音量0にしなくて、半分くらいで良いかなとかを設定しておきます。

サイドチェインコンプ

これもダッキングに似ている。
どの音が前にきて、どの音が後ろにといったトラック間の情報に応じて、さらにそれぞれの優先度とかを埋め込みつつ、特定の周波数帯域とか、音像(MID,SIDE)とか、他のバスへのセンドとか。
細かく設定できると、超万能ダッキングになるかもしれない。 
ただ、設定はなるべくシンプルが望まれるところ・・・

綺麗に設定できた・・・ だが・・・

細かくパラメータ調整し、自動化できて、やったー!

と、全体を聞いてみると、破綻はしていないが、メリハリがない感じになってしまう・・ ということも。
(音の調整としては空気のようになるのが理想ですが)

ゲームの世界ではよくあるのですが、開発末期とかに、 
今までより強い最上級魔法を目立たせてほしい

とか要求がきちゃったりします。

これ、もっと早く言ってほしいところですが、まぁ、全体像が見えて初めて、さらに強調すべきところがわかるので、ある意味仕方ないことなのかとも思われます。(ラスボス演出とか・・・

サウンドのデザインとしては、そういう要求にもこたえられるように、あらかじめ、最上級プライオリティの音のための仕組み として、このダッキングを用意しておくと、時間の限られた中、プログラマの手をわずらわせずに要求に答えられる場合があります。 そしてクオリティがあがると思われます。

A 音楽
B 最上級魔法>>>音楽
C 音楽

ダッキングの上を行く演出

ゲームの場合要求がさらに重なる場合もあります。(オイオイ

さらに効果を目立たせたい場合の最終兵器としては、ミキサーのエフェクト設定を大胆に変更する(ADX2だとスナップショット切り替え時間モーフ指定)で応じてしまうというのもあります。

これも元に戻し忘れとかすると大惨事になりかねないので、もろ刃の剣、用法容量を守って扱いましょう。

プログラムの場合、元に戻す処理は結構バグの温床になりやすいので、こういう部分も、あまり複雑にしないようになるべくシンプルにしておくと良いと思われます。



この記事が気に入ったらサポートをしてみませんか?