DJ用のエフェクトを再現してみよう
というわけで、CRI ADX2を用いて以下の動画のようなデモを作ってみました。
なお、アプリ側はUnityでもUE4でもネイティブでも可能なので、お好きなものをご利用ください。 本記事ではADX2のデータ作成ツール、AtomCraft上でデータの作り方のみをフォローしています。CRI ADX2、AtomCraft上でDJエフェクトを再現テスト中。楽しくなってきた。
— 川口 / ゲームの音響や触覚でUXを考える人 (@ADX_kawaguchi) January 31, 2021
とりあえずローパス、ハイパス、フランジャー、エコー(適当)、ビットクラッシャーまで。 pic.twitter.com/BqmP9YPiih
この記事で得られるもの
- CRI ADX2 (LE含む)を用いて、DJエフェクトを再現し、アプリ上から手軽に効果が掛けられるデータの作り方、考え方
- それっぽいエフェクトパラメータの一例
- パラメータコントロール用カーブの一例
- 実装の工夫
必要なもの
- CRI ADX2LE (Win/mac) - https://game.criware.jp/products/adx2-le/
- DJエフェクトを掛けたい曲 (wav)
わからない用語が出てくるかもしれませんが、AtomCraftのヘルプを参照すれば解決するはずです。

大まかな流れ
- DSPバス設定をあれこれする
- バスマップを設定する
- 変化させたい音のCueを作る
- ローパス、ハイパスの設定する
- AISAC(パラメータ変更用コントローラ)を設定する
- 上記の動画のようにいじる → 楽しい!
今回、エフェクトそのものの仕組みはADX2に既にある機能のみを使います。
音声信号の流れる仕組みを整える感じです。
DSPバス設定をあれこれする
-
バスを増やし、センド先を設定する
最初はMasterOutしか無いので、DSPバスを追加していきます。
追加されたバスは、そのままでは信号がMasterOutを通らないため音が鳴りません。
今回はBUS1〜3をエフェクト用に使い、全てBUS4に送っています。その後、BUS4で音量を揃えてからMasterに行くようにルーティングをしてあります。
※ Masterにコンプレッサを使うと(今回は存在しませんが)楽曲以外の音も変化してしまうため、楽曲の音量を揃える専用のバスを用意しています。 -
バス1〜3に使いたいエフェクトを差す
バスマップを設定する

ややこしいですが、キュー設定用のデフォルトバスマップと、オートメーション用のバスマップをそれぞれ設定します。
デフォルトバスマップ

こちらを設定しないとCueのバスセンド先の設定が面倒になるうので、複数のCueで使いまわすことを前提としてデフォルト設定をします。
ADX2で同時に使えるバスは8本が上限ですが。今回のエフェクト数では問題ありませんのでこれで進めます。
バスそのものは64本作れます)
オートメーション用バスマップ

こちらはアプリ内で各パラメーターをコントロールするために設定が必要です。
変化させたい音のCueを作る
Cueを作り、インスペクターのバスセンドを見ると、先ほど設定したバスマップが反映されてBUS1-4が選べるようになっています。それぞれのチェックボックスをオンにし、ボリュームを右端へ。その代わり、MasterOutをゼロにします。

ローパス、ハイパスの設定をする
これらのフィルター効果は、Cueのトラックに対して設定が可能なのでそれを使います。

下段のバンドパスフィルタを使えばローパス、ハイパス共に可能ですが…Qの設定ができません。個人的にローパス(ハイカット)では、カットオフ周辺の帯域は少しブーストされた方が好みなので、ローパスだけ上段のバイクアッドフィルタを使います。
バイクアッドフィルタはフィルタータイプが複数ありますが、一度に1つしか使えないためハイパスはバンドパスを使っています。
ここで設定しなければならない項目は
- バイクアッドフィルタのタイプ → ローパス
- Qの値
のみです。他の値は後ほどAISACコントロールを用いて上書き変更するため、無視します。
AISAC(パラメータ変更用コントローラ)を設定する
AISACを作る
CueにAISACを追加していく
(上記画像のAISACアイコンをCueアイコンにD&Dする)

AISACのグラフカーブを作っていく
再生時のAISACの状態は不明なので事故を防ぐためにも、デフォルト値のフラグをonにして値も設定しておきましょう。
ローパスの例
バイクアッドCofを選び、上記のようなグラフにしました。今回、このAISACのみデフォルト値を1にしてありますが、デフォルト値を0にし、左右の傾きを逆にしても問題ありません。
ハイパスの例
フランジャーなどBUSエフェクトの例

エフェクトを掛けるBUSの音とBUS4の音をクロスフェードするようなカーブを書きます。(スクショでBUS4がMasterになっていますが間違いです。後日余裕があれば差し替えます)
曲線はカーブタイプを変更してください。
上記画像ではCof低域のカーブも痒いてありますが、これはエフェクトによる低域の強調が気に入らなかったためです。こうやって状況に合わせた調整ができるのもAISACの良いところなのでぜひお試しください。
ポイントですが、BUS1〜3のエフェクトの設定でDry0%、Wet100%にしておきましょう。

聴きながら調整する
上記の工程を経て以下のようにAISACが大量に設定されたCueができました。

このCueを再生しながら AisacControl_0xのスライダーを動かせば、それぞれのエフェクトの掛かり方を確認しながら調整が可能です。
お疲れ様でした!
あとはこのツールから皆さんのアプリに組み込むためのバイナリデータを書き出し、アプリからこれらAisacControlの値を変化させるコードを書けばDJごっこが可能です!



