見出し画像

UE5 MetaSound 03 ~Modulatorノードを再現する~ #UE5 #MetaSounds

【今回のポジティブワード】
教えることは、2度学ぶことである!
 ~ジョセフ・ジュベール~

ラーニングピラミッドにおけるアクティブラーニングの効果
学習の定着率は「講義」だと5%、他人に教えると90%以上になるそうです。「グループ討論(ディスカッション)」、「自ら体験する」、「他の人に教える」はアクティブラーニングにあたり近年注目の学習方法とされているようです。
教えるように書くことで2度学習できるので得した気持ちになれますね。

【前回】

前回は【Sound WaveをRandomに再生する】について書きました。今回は【Modulatorノードを再現する】について書いてみます。
前回からの続きになります。

1.Modulatorノードでは何が出来たのか

今回はModulatorノードを再現しますがそもそもModulatorノードでは何が出来たのでしょうか。

MetaSoundでModulatorノードはどうやって再現できるのか?

ModulartorノードではPitchとVoumeの最小(Min)~最大(Max)を設定し、その範囲内をランダムに調整することが出来ました。
Pithは「音高(おんこう)」ともいい、数値が上がれば音が高くなり、数値が下がれば音が低くなります。
Volumeは「音量」なので、数値が上がれば音が大きくなり、数値が下がれば音が小さくなります。
Modulatorは1.0が元の音源と同じ扱いになるので、1.0より小さいか大きいかで音の聴こえ方が変わります。

ModulatorはPith(音高)とVolume(音量)を範囲内のランダムな値で再生するノード

MetaSoundでPitchとVolumeを変更する方法が分かればModulatorノードを再現することが出来そうです。

2.範囲内の数値でランダムにPitchを変更する

前回ランダムで再生できるようにした「MS_Explosion」をMetaSoundエディタで開きます。

MS_Explosionを開く

Wave Playerに[Pitch Shift]の入力ピンがあります。[-20.0]を入力して再生すると音が少し長くなり、低くなります。[20.0]を入力して再生すると音が短くなり、高くなります。

PitchShiftの数値が-(マイナス)の値にすると、音が長く低くなる。0より大きくすると、音が短く高くなる

WavePlayerのPitch Shiftを変更すればPitchを変更することが出来ました。では、特定の範囲でランダムにPitchを変更できるようにしてみましょう。
Random(Float)を追加します。

Random(Float)を追加する

Random(Float)をRandomGet(WaveAsset:Array)とWavePlayerの間に実行されるように設定します。
MinとMaxにPitchの最小と最大を設定します。Modulatorノードは[1.0]が元の音源でしたが、WavePlayerの[Pitch Shift]は[0.0]が元の音源になります。
変化が分かるように[-20.0~20.0]に設定します。設定できたら再生して音の高さが変わるか確認してみましょう。

Random(Float)でPitch Shiftをランダムに設定する

3.範囲内の数値でランダムにVolumeを変更する

今度はVolumeを範囲内の数値でランダムに変更してみます。
WavePlayerにVolumeの設定がないので、出力した音の大きさをMixerノードで変更します。
Mixerノードを追加します。MonoとStereoがありますが、Stereoで出力するようにしているので今回は[Stereo Mixer(2)]を追加します。

Stereo Mixer(2)を追加する

Stereo Mixer(2)のIn OutをそれぞれWavePlayerのOutとOutputに接続します。
Gainの数値を変更します。
Gainの数値を小さくすると音が小さくなり、数値を大きくすると音が大きくなります。

Gainの数値を変えることでボリュームの大きさを変更することが出来る

【Q&A】GAINとVOLUMEの違い?
VolumeとGainは実際は違うもので、Gainは音を増幅して割れた音に変化させるのに使うようです。
Gain 0からドラッグ&ドラップし、[Random(Float)]を追加します。

Gain 0からRandom(Float)を追加する

追加したRandom(Float)のMinとMaxにGain 0の範囲を設定します。
再生すると設定した範囲でVolumeがRandomに変更されて再生されます。

Random(Float)のMinとMaxにGain 0の範囲を設定する

これでMetaSoundでもPitchとVolumeを変更することができModulatorノードを再現することが出来ました。
ただ、少し意味合いが違うので音楽の知識がもっと必要なことに気付けました。

Sound CueでModulatorノードを使用した処理
MetaSoundでModulatorノードを使用した時と同様の処理

Sound Cueの処理と比べるとMetaSoundの方が複雑で、音楽的知識がより必要です。MetaSoundを学習していると新しい音楽知識が沢山学べて楽しいですね。

次回は「減衰(Attenuation)」の使用方法について学習します。

2021/12/9 訂正
Mixerを使用するより、Audioに対してRandomのFloatをMultiplyすることで同様の内容になります。(こちらの方が簡単)


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