CriWare Unreal Engine
Plug-ins for CriWare solutions.
読み取り中…
検索中…
一致する文字列を見つけられません
ADX チュートリアル No.24:AtomModulationを使ったピッチの調整方法

はじめに

ここでは「AtomControlBusMix」アセットと「AtomControlBus」アセットを使ったピッチの調整方法について説明します。
この2つのアセットはMIDIコントローラーとスライダーの関係で例えることができます。
「ControlBus」は音量やピッチ、フィルターのCutoff周波数などを調節するスライダーでこれらを統括しているのが「ControlBusMix」になります。


Audio Modulation クイック スタート ガイドをもとに作成しています。
また、レベル上に「SampleVoiceWave」という「AtomComponent」を内包するアクタが配置しているとして説明をします。

AtomControlBusの設定

「AtomControlBus」アセットを作成します。
ここでは名前を「MC_Bus」とします。

「MC_Bus」アセットの詳細を開き、「General」→「Parameter」で「Pitch」アセットを選択します。


デフォルトでは「Pitch」アセットは表示されないため、歯車のアイコンをクリックし、「Show Plugin Content」にチェックを入れて、表示させる必要があります。

ControlBusMixの設定

次に「AtomControlBusMix」アセットを作成します。
ここでは名前を「MC_BusMix」とします。

「MC_BusMix」の詳細にある「Mix Stages」の要素を一つ追加し、「MC_Bus」を選択します。
ここでは1つの「Control Bus」だけを設定していますが、複数の「Control Bus」を設定でき、AISACのパラメータをこの一つのアセットで管理することができます。

ControlBusMixの適用

「ControlBusMix」で行ったピッチの制御をサウンドに適用します。
適用の方法には複数の方法があり、以下のグループ単位で設定を適用できます。

  • 「AtomSoundClass」単位での設定
  • 「AtomSoundCue」単位での設定
  • 「AtomComponent」単位での設定 ここではこれらの設定方法を1つずつ説明します。

「AtomSoundClass」アセットでピッチ制御

AtomSoundClassとは

「AtomSoundClass」アセットを登録した複数の「Atom Sound Cue」もしくは「AtomComponent」に対して音量やピッチなどのパラメータをコントロールできます。
ただし、「Atom Sound Cue」もしくは「AtomComponent」にある「○○Multipier」は「AtomSoundClass」のパラメータに対して乗算されます。
この機能はAtomCraftのカテゴリと似た機能ですが、CRIWARE UE Pluginでは別物として扱います。

「AtomSoundClass」アセットの設定

「ControlBusMix」アセットによるパラメータの変更をするために、「AtomSoundClass」アセットを使った方法を説明します。
ほかにも「AtomComponent」、「AtomSoundCue」などに直接設定する方法もありますが、ここでは割愛します。

「ADX Atom」→「Classes」から「AtomSoundClass」アセットを作成します。

作成した「AtomSoundClass」アセットの詳細を開き、以下の手順で「ControlBus」を指定します。

  1. 「Modulation」→「Pitch」にある「Modulate」にチェックを入れる
  2. 「Modulation」→「Pitch Modulators」→「Pitch Mdoulators」の「+」で要素を1つ追加する
  3. 「Modulation」→「Pitch Modulators」→「Pitch Mdoulators」に上で作った「MC_Bus」を指定する

対象の音声にパラメータを適用する方法

レベル上に配置された「SampleVoiceWave」の「AtomComponent」の詳細を開きます。
「Sound」の項目の下にある「Adcaned」から「Sound Class Override」に作成した「AtomSoundClass」アセットを指定します。

「AtomSoundCue」アセットでピッチ制御

対象の音声にパラメータを適用する方法

適用対象の「AtomSoundCue」を持つ「AtomCueSheet」アセットの詳細を開きます。
そこで適用対象の「Cues」の項目にある「AtomSoundCue」を右クリックし「Edit」で詳細を開きます。

「AtomSoundClass」アセットの指定によるピッチ制御

「AtomSoundCue」アセットの詳細にある「Sound」の「Class」で設定します。
この項目には「AtomSoundCue」アセットは上記の『「AtomSoundClass」アセットでピッチ制御』の設定をしたアセットを指定してください。

Modulatorの指定によるピッチ制御

上記の『「AtomSoundClass」アセットの設定』で紹介した「Volume」の項目が「Modulation」という項目となっていますが、設定のやり方は同じです。

注意

「Modulate」の項目にチェックを入れた場合でもスライダーの値は参照されます。
また、Modulatorを複数指定した場合の値の計算方法も「Volume/Pitch」、「Highpass」、「Lowpass」の項目ごとで異なります。
以下で「全てのパラメータ」と表記しているパラメータはスライダーの値を含めたすべての値群になります。

Volume/ Pitch

全てのパラメータが乗算された結果が採用されます。

Highpass

全てのパラメータにおいて最大値が採用されます。

Volume/ Pitch

全てのパラメータにおいて最小値が採用されます。

「AtomComponent」アセットでピッチ制御

「AtomComponent」の詳細から設定ができます。『「AtomSoundCue」アセットでピッチ制御』で紹介した項目を設定することで同じ結果が得られます。

Blueprintでピッチ制御

キーボードの「1」を押すたびにピッチが変化するBlueprintは以下の方法です。


  1. アクティブ化したいBusMix(「MC_BusMix」)を指定します。
  2. 対象とする(「MC_BusMix」)を指定します。
  3. 「MC_BusMix」の「Mix Stages」で指定した「MC_Bus」を指定します。
  4. 画像では「Value」はそれぞれ「0.1」と「1.0」に設定しています。

この「SetControlBusMixByFilter」のFilterとはアセット検索のFilterであり、音声信号処理におけるFilterとは異なる点に注意してください。
また、Filterによる「AtomControlBusMix」の絞り込みには以下の3つの項目を選択でき、複数の項目を設定した場合、全ての条件に当てはまる「AtomControlBusMix」内の「AtomControlBus」アセットが対象になります。

  • AddressFilter:Bus名での検索(「*」などの正規表現に似た検索も可能です)
  • Param Class Filter:「AtomModulationParameter」のClassでの検索
  • Param Filter:「AtomModulationParameter」アセットでの検索
  • Value:変更する値

「Modulation」の項目で設定できるドロップダウンリスト

Modulatorの設定は「AtomSoundClass」「AtomSoundCue」「AtomComponent」で設定ができます。
それぞれ異なる設定をした場合にどの設定が適用されるかをコントロールすることができます。この設定はModulationの項目のドロップダウンリストで指定します。


また、「AtomSoundClass」「AtomSoundCue」「AtomComponent」には設定の優先順位があり、優先順位が高い設定を「親の設定」と呼ぶことにします。
また、「対象」は設定を行った「AtomSoundClass」「AtomSoundCue」「AtomComponent」のことを指します。
注意
「親の設定」、「対象」は説明上、定義した言葉です。

「Disable」

Modulationの設定が無効化されます。

「Inherit」(デフォルト設定)

親のModulation設定を反映します。
親は次の順で決定されます。

  1. 「AtomSoundClass」
  2. 「AtomSoundCue」
  3. 「AtomComponent」

「Override」

対象に設定したModulatorが適用されます。
親の設定は反映されないことに注意してください。

「Union」

親の設定パラメータに対象の設定パラメータが乗算された結果が反映されます。