【Unreal Engine】UE5のMetaSounds入門:Sound Cueとの違いと、音を外から変える仕組み

作成: 2026-07-20

MetaSoundsをSound Cueと比べて図解。素材を選ぶSound Cueに対し、MetaSoundsは音を組み立てて加工する。MetaSound Sourceの作り方、Wave Player/Randomの基本ノード、トリガーと音声の2種のワイヤー、そしてInputを外から渡して再生中の音を変える方法まで。

UE5でサウンドを調べると、Sound CueとMetaSoundsという2つの仕組みが出てきます。どちらも音を鳴らすためのアセットで、見た目もノードをつなぐ形で似ています。そのため「新しく作るならどちらなのか」「そもそも何が違うのか」で手が止まります。

違いは役割です。Sound Cueは用意した音を選んで鳴らす設計図で、MetaSoundsは音そのものを組み立てて加工する仕組みです。とくに大きいのは、MetaSoundsが再生中の音を外から変えられる点です。この記事では、Sound Cueとの違い、MetaSound Sourceの作り方、基本ノード、そして再生中にInputを渡して音を変える方法までを解説します。

Sound Cueは素材を選び、MetaSoundsは音を組み立てるという対比のイメージ

この記事でわかること

  • Sound Cue=素材を選んで鳴らす、MetaSounds=音を組み立てて加工する
  • MetaSound Source の作り方と、Wave Player / Random の基本ノード
  • トリガー音声 の2種類のワイヤーの見分け方
  • 再生中に音を変える最大の強み、 Inputを外から渡す 方法
  • 実践: 足音の高さを移動速度で変える

Sponsored

Sound Cueとの違い:選ぶか、組み立てるか

先に結論から言うと、2つは競合ではなく 役割が違う 仕組みです。

Sound Cue は、すでにある音(Sound Wave)を 選んで、混ぜて、揺らして鳴らす 設計図です。素材そのものは触りません。詳しくはSound WaveとSound Cueの記事で扱っています。

MetaSounds は、そこから一歩踏み込んで 音を組み立て、加工する 仕組みです。ノードをつないでいく点はSound Cueと似ていますが、扱えるものが違います。

Sound Cueは3つの素材から1つを選んで出す図、MetaSoundsは素材と加工ノードとInputを組み合わせて音を作る図の対比
Sound CueMetaSounds
考え方素材を選んで鳴らす音を組み立てて加工する
得意なことランダム選択、ピッチ・音量の揺らぎそれに加えてDSP(フィルタや合成)まで
再生中の変更基本はできないInputで外から変えられる
位置づけ今も現役Epicの開発の中心

いちばんの違いは、下から2行目の 再生中の変更 です。Sound Cueは「どう鳴らすか」を作った時点で固定するのに対し、MetaSoundsは 鳴らしている最中にBlueprintから値を送り込んで音を変えられます 。ピッチ・音量はもちろん、フィルタの効き具合や鳴らす間隔まで、実行中に動かせます。

どちらを使うかは、今から新しく作るなら MetaSounds で構いません。ただしSound Cueが使えなくなったわけではなく、 考え方(素材を選ぶ・変調する・出力する)は共通 なので、片方を理解すればもう片方も読めます。

Sponsored

MetaSound SourceとPatchの作り方

コンテンツブラウザで右クリックし、 Sounds > MetaSound Source を選ぶと作れます。名前を付けてダブルクリックすると、専用のエディタが開きます。

同じメニューに MetaSound Patch もありますが、役割が違います。

アセット再生できるか用途
MetaSound SourceできるBlueprintの Sound ピンに挿す、実際の音
MetaSound Patchできない複数のSourceで使い回す部品(サブグラフ)

最初に作るのは MetaSound Source です。Patchは「よく使う加工をまとめて再利用する」段階で出てくるので、今は気にしなくて構いません。

エディタを開くと、最初から On Play(入力)と On Finished(出力)、そして音声の出力ピンが置かれています。

  • On Play: この音が再生され始めた瞬間に発火するトリガー。ここから処理を始めます
  • On Finished: 再生が終わったことをエンジンに伝えるトリガー。単発の音では、鳴らし終わったらここへつなぎます
  • Out(Mono / Left・Right): 実際に耳へ届く音声信号の出口

補足: MetaSoundsはプラグインで提供されますが、UE5の標準テンプレートでは有効になっています。もしノードが見当たらないときは、Edit > PluginsMetaSound が有効かを確認してください。

基本のノード:Wave PlayerとRandom

最初に覚えるノードは2つです。この2つで「素材を鳴らす」「複数からランダムに選ぶ」が作れます。

Random Getが3つのWave Assetから1つを選び、Wave Playerへ渡してOutへ出るMetaSoundグラフの図

Wave Player は、Sound Wave(.wav 素材)を再生するノードです。主なピンは次のとおりです。

ピン種類内容
Playトリガー(入力)ここが発火すると再生を始める
Wave Assetデータ(入力)鳴らすSound Wave
Pitch Shiftデータ(入力)ピッチを半音単位でずらす。再生中でも効く
On Finishedトリガー(出力)鳴らし終わったら発火
Out音声(出力)実際の音声信号

Random Get は、 配列から1つをランダムに取り出す ノードです。Next トリガーを受けるたびに、つないだ配列から1要素を選んで出します。No Repeats を設定すると、直前と同じ要素を避けられます。

足音を3〜5種類の配列にして Random Get へ入れ、その出力を Wave PlayerWave Asset へつなげば、「毎回違う足音」の土台ができます。これはSound Cueの Random ノードと同じ発想です。

トリガーと音声:2種類のワイヤー

MetaSoundsを触り始めて最初に戸惑うのが、 ワイヤーに種類がある ことです。つなごうとしても挿せない、というのはたいてい種類の取り違えです。

トリガー線・音声線・データ線の3種類のワイヤーを、合図・連続信号・設定値として描き分けた図
ワイヤー意味
トリガー「今やれ」の合図。一瞬だけ発火するOn PlayPlayOn Finished
音声(Audio)耳に届く連続した信号Wave Playerの Out
データ設定値。数値や真偽Float、Int、Bool、Wave Asset

見分け方はシンプルで、 同じ種類のピン同士しかつながりません 。トリガーはトリガーへ、音声は音声へ、Floatの値はFloatの入力へ。「線が引けない」ときは、出口と入口の種類が違わないかを見てください。

とくに トリガー はMetaSoundsの中心です。「Randomで次を選ぶ」「Wave Playerを鳴らす」といった動作は、すべてトリガーが発火した瞬間に起こります。連続的に流れ続ける音声信号とは、性質が別物だと押さえておくと混乱しません。

Sponsored

Inputで外から音を変える

ここがMetaSoundsの主役です。グラフに Input を作っておくと、 Blueprintから名前を指定してその値を送り込めます 。しかも再生中に送れます。

MetaSoundのInput「SpeedRatio」へBlueprintのSet Float Parameterが値を送り、Wave PlayerのPitch Shiftが変わる流れの図

流れは3ステップです。

  1. MetaSoundエディタの左側「Inputs」で、たとえば SpeedRatio(Float)というInputを追加する
  2. そのInputを、グラフ内で使いたいところ(Wave PlayerPitch Shift など)へつなぐ
  3. Blueprintから、その音のAudio Componentに対して Set Float Parameter を送る

3番目のノードは、In NameグラフのInput名と同じ文字列(この例なら SpeedRatio)、In Value に送りたい値を入れます。 文字列が一致して初めて届く ので、大文字小文字まで合わせてください。

そしてここに、初心者がまず引っかかる落とし穴があります。 Set Float Parameter を送るには、その音のAudio Componentの参照が必要 です。ところが再生ノードには2系統あり、参照を返すのは片方だけです。

鳴らし方戻り値パラメータを送れるか
Play Sound 2D / at Locationなし(鳴らしっぱなし)送れない
Spawn Sound 2D / AttachedAudio Component送れる

つまり、あとから音を変えたいなら Spawn Sound 系で鳴らす 必要があります。Play Sound で鳴らすと参照が手元に残らず、Set Float Parameter の送り先がありません。「MetaSoundにInputを作ったのに変わらない」ときは、まずここを疑ってください。

補足: 値だけでなく、トリガーも外から送れます。グラフにトリガー型のInputを作り、Set Trigger Parameter(MetaSound内のトリガー入力を実行するノード)で発火させると、「鳴らしっぱなしの1つの音に、外から拍を打ち込む」といった作り方もできます。まずはFloatのInputから始めるのがおすすめです。


実践:足音の高さを移動速度で変える

アクションの走行音、ホラーの忍び足、RPGのフィールド移動。 速く動くほど足音が少し高く弾む ようにすると、同じ素材でもスピード感が伝わります。ここでは、移動速度をInputで受け取り、足音のピッチをその場で変えるMetaSoundを作ります。

動かすとこうなる

歩いているときは低めの落ち着いた足音、走り出すと1段高い足音になり、しかも1歩ごとにわずかに違って聞こえる状態を作ります。

歩き時は低いピッチ、走り時は高いピッチの足音が鳴り、各歩に小さなゆらぎが乗る様子を示�した図

再現条件

Third Person テンプレート で新規プロジェクトを作り、次を用意します。

種類名前内容
Sound WaveSW_Footstep_0103足音の素材(3種類)
MetaSound SourceMS_Footstepこれから作る
CharacterBP_ThirdPersonCharacterテンプレート付属

MS_Footstep のグラフに、次のInputを1つ追加します。

Input名既定値用途
SpeedRatioFloat0.00=歩き、1=全力疾走

MetaSound側のグラフ

MS_Footstep の中を、次のように組みます。

On PlayからRandom GetとRandom Floatが動き、SpeedRatioとゆらぎを足したPitch ShiftでWave Playerが鳴り、On FinishedでOutへ閉じるMetaSoundグラフ
On Play(トリガー)
  ├─→ Random Get(In Array = [SW_Footstep_01..03], Next = On Play)
  │       └─ Value ─→ Wave Player の Wave Asset
  ├─→ Random Float(Min = -0.5, Max = 0.5, Next = On Play)… 1歩ごとのゆらぎ
  │       └─ Value ─┐
  │                 Add(Float)
  SpeedRatio ×2.0 ──┘   └─→ Wave Player の Pitch Shift(半音)
  └─→ Wave Player の Play

Wave Player の On Finished ─→ グラフの On Finished
Wave Player の Out ─────────→ グラフの Out

ピッチは2つの足し算です。 SpeedRatio × 2.0 で「速いほど高く」(歩き0半音〜疾走+2半音)を作り、そこへ Random Float±0.5 半音を足して1歩ごとのゆらぎにします。Wave PlayerOn Finished をグラフの On Finished へつなぐことで、1歩ぶんを鳴らし終えたら素直に終了する 単発の音 になります。

Blueprint側:Spawnして値を送る

足音は、足が地面に着く瞬間に鳴らすのが自然です。歩き・走りのアニメーションに Anim Notify を打ち、その通知から次を組みます(Notifyの打ち方はSound Cueの記事と同じです)。

Anim NotifyからGet Velocityで速度比を出し、Spawn Sound Attachedの戻り値へSet Float Parameterで送るBlueprintノードグラフ
AnimNotify(足接地)
  → Get Velocity → Vector Length → ÷ MaxWalkSpeed(例 500)→ Clamp(0.0, 1.0)  … SpeedRatio
  → Spawn Sound Attached
        Sound          = MS_Footstep
        Attach to Component = Mesh(足のソケットでも可)
        (戻り値)Return Value = Audio Component
  → Set Float Parameter(Target = 上のAudio Component)
        In Name  = "SpeedRatio"
        In Value = 先ほどのSpeedRatio

ポイントは、 Spawn Sound Attached の戻り値に対して Set Float Parameter を送る ことです。Play Sound 系にすると戻り値が無く、値を送れません。In Name"SpeedRatio" は、MetaSoundのInput名と 完全に一致 させます。

確認する

Playして歩き回り、途中で走ってください。

  • 歩いているとき → 落ち着いた低めの足音。Pitch Shiftはほぼ 0 半音
  • 走っているとき → 1段高い足音。SpeedRatioが1に近づき、Pitch Shiftが +2 半音あたりまで上がる
  • どの速度でも → 1歩ごとに ±0.5 半音のゆらぎが乗り、まったく同じ音の繰り返しにならない

うまくいかないときの切り分けです。

  • 音が鳴らないSpawn Sound AttachedSound が空、Notifyが呼ばれていない、または MS_FootstepOut が未接続
  • 速度で変わらないSet Float ParameterIn Name がグラフのInput名 SpeedRatio と不一致(スペル・大文字小文字を合わせる)
  • ピッチが飛びすぎるSpeedRatio × 2.0 の係数が大きい。まず ×1.0 に下げて確かめる
  • 毎回同じ音Random Get の配列に1つしか入っていない、または Next が未接続
  • Play Soundで組んでいて変えられない → 戻り値が無くAudio Componentを取れない。Spawn Sound 系に置き換える

ポイントは2つです。

  • 再生中に変えるにはAudio Componentが要る: Play Sound 系は鳴らしっぱなしで参照が返りません。Spawn Sound 系にして、戻り値のAudio Componentへ Set Float Parameter を送るのが、動的な音の基本形です。鳴らした音を空間になじませる調整はアッテネーションとSubmixの記事へ続きます
  • Inputは名前で受け渡す: グラフのInput名と、Blueprintの In Name の文字列が一致して初めて値が届きます。ここが、鳴らし方を固定するSound Cueと、外から動かせるMetaSoundsの決定的な差です
Sponsored

おまけ:先に知っておくと良いこと

次の一手はBGMを動かすこと。 Input で外から値を渡せる仕組みは、効果音だけでなく 状況で変化するBGM に使えます。複数の Wave Player を同時に走らせ、音量だけを出し入れすれば、曲を途切れさせずに厚みを変えられます(→ MetaSoundsで作るインタラクティブミュージック)。

  • まずは「素材を選ぶ・揺らす」まで: MetaSoundsはフィルタや波形合成まで作れる奥の深い仕組みですが、最初から全部は要りません。Wave PlayerRandom GetInput の3点で、実用的な効果音は十分に作れます
  • エディタ内で音を試せる: MetaSoundエディタのツールバーの再生ボタンで、その場で音を確認できます。Inputの値もエディタ上で仮の値を与えて試せるので、Blueprintを組む前に音だけ詰められます
  • Sound Cueは「変換」ではなく「作り直し」: 既存のSound CueをMetaSoundへ自動でそっくり移す万能なボタンは期待しないでください。考え方は共通なので、必要になったものから組み直すのが現実的です
  • 音量の上げすぎに注意: MetaSounds内でもBlueprintの Volume Multiplier でも、1.0を大きく超えると音が割れます。小さいと感じたら、まず素材そのものの音量かSubmixでの全体調整を検討してください
  • 同時に鳴る音には上限がある: 大量の足音や弾着音を一斉に鳴らすと、上限を超えたぶんは再生されません。Sound Concurrency で「同種の音は最大◯個まで」を決めておくと安定します

まとめ

  • Sound Cueは 素材を選んで鳴らす設計図 、MetaSoundsは 音を組み立てて加工する仕組み 。役割が違い、どちらも現役
  • 最初に作るのは MetaSound Source 。基本ノードは Wave PlayerRandom Get の2つから
  • ワイヤーには トリガー・音声・データ の3種類があり、同じ種類同士しかつながらない
  • MetaSoundsの主役は Input 。Blueprintから 名前を指定して値を送り込み 、再生中の音を変えられる
  • 値を送るには Spawn Sound 系で鳴らしてAudio Componentを得るPlay Sound 系では参照が返らない

いま作っているゲームで、速さ・体力・距離のように「刻々と変わる数値」はどれでしょうか。その1つを音のピッチや間隔につないでみると、MetaSoundsの手応えがつかめます。