0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

アプリ内で手軽にDJごっこをしてみたい!(CRI ADX2を利用)

Last updated at Posted at 2021-01-31

DJ用のエフェクトを再現してみよう

というわけで、CRI ADX2を用いて以下の動画のようなデモを作ってみました。

なお、アプリ側はUnityでもUE4でもネイティブでも可能なので、お好きなものをご利用ください。 本記事ではADX2のデータ作成ツール、AtomCraft上でデータの作り方のみをフォローしています。

この記事で得られるもの

  • CRI ADX2 (LE含む)を用いて、DJエフェクトを再現し、アプリ上から手軽に効果が掛けられるデータの作り方、考え方
  • それっぽいエフェクトパラメータの一例
  • パラメータコントロール用カーブの一例
  • 実装の工夫

必要なもの

わからない用語が出てくるかもしれませんが、AtomCraftのヘルプを参照すれば解決するはずです。
DJFX_Help.png

大まかな流れ

  • DSPバス設定をあれこれする
  • バスマップを設定する
  • 変化させたい音のCueを作る
  • ローパス、ハイパスの設定する
  • AISAC(パラメータ変更用コントローラ)を設定する
  • 上記の動画のようにいじる → 楽しい!

今回、エフェクトそのものの仕組みはADX2に既にある機能のみを使います。
音声信号の流れる仕組みを整える感じです。

DSPバス設定をあれこれする

DJFX_DSPBUS.png

  • バスを増やし、センド先を設定する
    最初はMasterOutしか無いので、DSPバスを追加していきます。
    追加されたバスは、そのままでは信号がMasterOutを通らないため音が鳴りません。
    今回はBUS1〜3をエフェクト用に使い、全てBUS4に送っています。その後、BUS4で音量を揃えてからMasterに行くようにルーティングをしてあります。
    ※ Masterにコンプレッサを使うと(今回は存在しませんが)楽曲以外の音も変化してしまうため、楽曲の音量を揃える専用のバスを用意しています。

  • バス1〜3に使いたいエフェクトを差す

バスマップを設定する

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

デフォルトバスマップ

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

オートメーション用バスマップ

DJFX_BUSMAP_auto.png
こちらはアプリ内で各パラメーターをコントロールするために設定が必要です。

変化させたい音のCueを作る

Cueを作り、インスペクターのバスセンドを見ると、先ほど設定したバスマップが反映されてBUS1-4が選べるようになっています。それぞれのチェックボックスをオンにし、ボリュームを右端へ。その代わり、MasterOutをゼロにします。
DJFX_CueBUSSend.png

ローパス、ハイパスの設定をする

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

下段のバンドパスフィルタを使えばローパス、ハイパス共に可能ですが…Qの設定ができません。個人的にローパス(ハイカット)では、カットオフ周辺の帯域は少しブーストされた方が好みなので、ローパスだけ上段のバイクアッドフィルタを使います。

バイクアッドフィルタはフィルタータイプが複数ありますが、一度に1つしか使えないためハイパスはバンドパスを使っています。

ここで設定しなければならない項目は

  • バイクアッドフィルタのタイプ → ローパス
  • Qの値
    のみです。他の値は後ほどAISACコントロールを用いて上書き変更するため、無視します。

AISAC(パラメータ変更用コントローラ)を設定する

AISACを作る

こちらも使い回しを想定してグローバルで作ります。
DJFX_GlobalAISAAC.png

CueにAISACを追加していく

(上記画像のAISACアイコンをCueアイコンにD&Dする)
DJFX_AISAC_Cue.png

AISACのグラフカーブを作っていく

再生時のAISACの状態は不明なので事故を防ぐためにも、デフォルト値のフラグをonにして値も設定しておきましょう。

ローパスの例

DJFX_AISAC_Lowpass.png

バイクアッドCofを選び、上記のようなグラフにしました。今回、このAISACのみデフォルト値を1にしてありますが、デフォルト値を0にし、左右の傾きを逆にしても問題ありません。

ハイパスの例

DJFX_AISAC_Highpass.png
バンドパスCof低域 を選んで図のようなカーブを作ります。

フランジャーなどBUSエフェクトの例

DJFX_AISAC_Flanger.png
エフェクトを掛けるBUSの音とBUS4の音をクロスフェードするようなカーブを書きます。(スクショでBUS4がMasterになっていますが間違いです。後日余裕があれば差し替えます)
曲線はカーブタイプを変更してください。

上記画像ではCof低域のカーブも痒いてありますが、これはエフェクトによる低域の強調が気に入らなかったためです。こうやって状況に合わせた調整ができるのもAISACの良いところなのでぜひお試しください。

ポイントですが、BUS1〜3のエフェクトの設定でDry0%、Wet100%にしておきましょう。
DJFX_DryWet.png

聴きながら調整する

上記の工程を経て以下のようにAISACが大量に設定されたCueができました。
DJFX_AIISAC.png
このCueを再生しながら AisacControl_0xのスライダーを動かせば、それぞれのエフェクトの掛かり方を確認しながら調整が可能です。

お疲れ様でした!
あとはこのツールから皆さんのアプリに組み込むためのバイナリデータを書き出し、アプリからこれらAisacControlの値を変化させるコードを書けばDJごっこが可能です!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?