ue5-metasound-dsp

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

MetaSounds DSP — Node Graphs & Signal Design

MetaSounds DSP — 节点图谱与信号设计

Design MetaSounds audio graphs: choose nodes, wire signal chains, configure DSP parameters, and generate Builder API command sequences.
设计MetaSounds音频图谱:选择节点、连接信号链、配置DSP参数,并生成Builder API命令序列。

Data Types

数据类型

Audio, Trigger, Float, Int32, Bool, Time, String, WaveAsset, UObject, Enum (+ Array variants)
Type rules: Audio-rate cannot connect to Float. Use correct node variant (e.g.,
Multiply (Audio)
vs
Multiply (Float)
).
Audio、Trigger、Float、Int32、Bool、Time、String、WaveAsset、UObject、Enum(+数组变体)
类型规则:音频速率信号无法连接到Float类型。请使用正确的节点变体(例如
Multiply (Audio)
Multiply (Float)
)。

Asset Types

资源类型

TypeUseInterface
SourceStandalone playable assetUE.Source.OneShot or MetaSound
PatchReusable subgraph (no play)Custom
PresetParameter overrides of existing Source/PatchInherits parent
类型用途接口
Source可独立播放的资源UE.Source.OneShot 或 MetaSound
Patch可复用子图谱(不可播放)自定义
Preset现有Source/Patch的参数覆盖继承自父资源

Interfaces

接口

  • MetaSound
    — Standard audio output
  • UE.Source.OneShot
    — OnPlay trigger in, OnFinished trigger out
  • UE.Attenuation
    — Distance input for volume falloff
  • UE.Spatialization
    — Azimuth/Elevation for 3D positioning
  • MetaSound
    — 标准音频输出
  • UE.Source.OneShot
    — 输入OnPlay触发,输出OnFinished触发
  • UE.Attenuation
    — 用于音量衰减的距离输入
  • UE.Spatialization
    — 用于3D定位的方位角/仰角

Node Categories (144 nodes, 20 categories)

节点类别(144个节点,20个类别)

Generators

生成器

Sine, Saw, Square, Triangle, Noise, LFO, Additive Synth, SuperOscillator, WaveTable, Perlin Noise
Sine、Saw、Square、Triangle、Noise、LFO、Additive Synth、SuperOscillator、WaveTable、Perlin Noise

Wave Players

波形播放器

Wave Player (mono), Stereo Wave Player, with loop/pitch shift/concatenation
Wave Player(单声道)、Stereo Wave Player,支持循环/移调/拼接

Envelopes

包络

AD Envelope (Audio-rate), AD Envelope (Float), ADSR Envelope, Crossfade, WaveTable Envelope
AD Envelope(音频速率)、AD Envelope(Float)、ADSR Envelope、Crossfade、WaveTable Envelope

Filters

滤波器

Biquad Filter, State Variable Filter, Dynamic Filter, Ladder Filter, One-Pole HPF, One-Pole LPF, Band Splitter, Bitcrusher
Biquad Filter、State Variable Filter、Dynamic Filter、Ladder Filter、One-Pole HPF、One-Pole LPF、Band Splitter、Bitcrusher

Delays & Time

延迟与时间

Delay, Stereo Delay, Pitch Shift, Diffuser, Grain Delay, Flanger
Delay、Stereo Delay、Pitch Shift、Diffuser、Grain Delay、Flanger

Dynamics

动态效果

Compressor, Limiter
Compressor、Limiter

Math (Audio)

数学运算(音频)

Add, Subtract, Multiply, Mix — all have
Primary Operand
+
Operand
pins
Add、Subtract、Multiply、Mix — 均包含
Primary Operand
+
Operand
引脚

Math (Float)

数学运算(Float)

Add, Subtract, Multiply, Divide, Modulo, Map Range, Clamp, InterpTo, Linear To Log Frequency
Add、Subtract、Multiply、Divide、Modulo、Map Range、Clamp、InterpTo、Linear To Log Frequency

Triggers

触发器

Accumulate, Any, Compare, Control, Counter, Delay, Filter, Gate, Once, OnThreshold, OnValueChange, Pipe, Repeat, Route, Sequence
Accumulate、Any、Compare、Control、Counter、Delay、Filter、Gate、Once、OnThreshold、OnValueChange、Pipe、Repeat、Route、Sequence

Spatialization

空间化

ITD Panner, Stereo Panner, Mid-Side Encode/Decode, Doppler Pitch Shift
ITD Panner、Stereo Panner、Mid-Side Encode/Decode、Doppler Pitch Shift

Music

音乐相关

Frequency↔MIDI, MIDI Quantizer, Scale to Note Array, BPM to Seconds, Metronome, Quartz Clock
Frequency↔MIDI、MIDI Quantizer、Scale to Note Array、BPM to Seconds、Metronome、Quartz Clock

Effects

效果器

Plate Reverb, Ring Modulator, WaveShaper, Chorus, Phaser
Plate Reverb、Ring Modulator、WaveShaper、Chorus、Phaser

Utility

实用工具

Crossfade, Envelope Follower, Wave Writer, Random Get, Trigger On Threshold
Crossfade、Envelope Follower、Wave Writer、Random Get、Trigger On Threshold

SIDKIT (Custom)

SIDKIT(自定义)

SID Oscillator, SID Envelope, SID Filter, SID Voice, SID Chip
SID Oscillator、SID Envelope、SID Filter、SID Voice、SID Chip

Signal Flow Patterns

信号流模式

Basic: Generator → Envelope → Output

基础:生成器 → 包络 → 输出

Sine → Multiply(Audio) × AD Envelope → Out Mono
Sine → Multiply(Audio) × AD Envelope → Out Mono

Subtractive: Osc → Filter → Amp → Output

减法合成:振荡器 → 滤波器 → 放大器 → 输出

Saw → Biquad Filter(LP) → Multiply × ADSR → Out Mono
         ↑ Cutoff Frequency
Saw → Biquad Filter(LP) → Multiply × ADSR → Out Mono
         ↑ Cutoff Frequency

Additive: Multiple Oscs → Mix → Output

加法合成:多振荡器 → 混音 → 输出

Sine(f) + Sine(2f) + Sine(3f) → Add → Multiply × Envelope → Out
Sine(f) + Sine(2f) + Sine(3f) → Add → Multiply × Envelope → Out

Triggered: Event → Sample Player → Processing

触发式:事件 → 采样播放器 → 处理

OnPlay → Wave Player → Biquad Filter → Compressor → Out
                         ↑ Pitch Shift for variation
OnPlay → Wave Player → Biquad Filter → Compressor → Out
                         ↑ Pitch Shift for variation

Modulated: LFO → Parameter Control

调制式:LFO → 参数控制

LFO → Map Range(0-1 → 200-2000) → Biquad Filter Cutoff
LFO → Map Range(0-1 → 200-2000) → Biquad Filter Cutoff

Key Pin Names (Authoritative)

关键引脚名称(权威参考)

NodeInputsOutputs
Sine/Saw/Square/TriangleFrequency, Phase Offset, Glide, BiasAudio
NoiseSeedAudio
AD EnvelopeTrigger, Attack Time, Decay TimeOut Envelope
ADSR EnvelopeTrigger Attack, Trigger Release, Attack Time, Decay Time, Sustain Level, Release TimeOut Envelope
Biquad FilterIn, Cutoff Frequency, Bandwidth, Filter TypeOut
State Variable FilterIn, Cutoff Frequency, Resonance, Band Stop GainHPF, LPF, BPF, BSF
Wave PlayerPlay, Stop, Wave Asset, Start Time, Loop, Pitch ShiftOut Audio, On Finished
Multiply/Add (Audio)Primary Operand, OperandOut
Map RangeValue, In Range A, In Range B, Out Range A, Out Range B, ClampedOut
InterpToTarget, Current, Speed, Interp Delta TimeValue
ClampIn, Min, MaxValue
CompressorAudio, Ratio, Threshold dB, Attack Time, Release Time, Sidechain, Wet, KneeAudio
ITD PannerAudio, Angle, Interaural Delay, Head WidthLeft, Right
Trigger RepeatStart, Stop, PeriodRepeatOut
Trigger SequenceTrigger, ResetOut 0, Out 1, ...
Full reference:
scripts/ms_node_specs.json
(93 nodes, 464 pins from Epic docs)
节点输入输出
Sine/Saw/Square/TriangleFrequency、Phase Offset、Glide、BiasAudio
NoiseSeedAudio
AD EnvelopeTrigger、Attack Time、Decay TimeOut Envelope
ADSR EnvelopeTrigger Attack、Trigger Release、Attack Time、Decay Time、Sustain Level、Release TimeOut Envelope
Biquad FilterIn、Cutoff Frequency、Bandwidth、Filter TypeOut
State Variable FilterIn、Cutoff Frequency、Resonance、Band Stop GainHPF、LPF、BPF、BSF
Wave PlayerPlay、Stop、Wave Asset、Start Time、Loop、Pitch ShiftOut Audio、On Finished
Multiply/Add (Audio)Primary Operand、OperandOut
Map RangeValue、In Range A、In Range B、Out Range A、Out Range B、ClampedOut
InterpToTarget、Current、Speed、Interp Delta TimeValue
ClampIn、Min、MaxValue
CompressorAudio、Ratio、Threshold dB、Attack Time、Release Time、Sidechain、Wet、KneeAudio
ITD PannerAudio、Angle、Interaural Delay、Head WidthLeft、Right
Trigger RepeatStart、Stop、PeriodRepeatOut
Trigger SequenceTrigger、ResetOut 0、Out 1、...
完整参考:
scripts/ms_node_specs.json
(来自Epic文档的93个节点,464个引脚)

Builder API Functions (68+)

Builder API 函数(68+个)

Core

核心

CreateSourceBuilder, CreatePatchBuilder, AddNode, FindNodeInputHandle, FindNodeOutputHandle, ConnectNodes, SetNodeInputDefault, Audition, BuildToAsset
CreateSourceBuilder、CreatePatchBuilder、AddNode、FindNodeInputHandle、FindNodeOutputHandle、ConnectNodes、SetNodeInputDefault、Audition、BuildToAsset

Graph I/O

图谱输入输出

AddGraphInput, AddGraphOutput, RemoveGraphInput, RemoveGraphOutput, GetGraphInputNames
AddGraphInput、AddGraphOutput、RemoveGraphInput、RemoveGraphOutput、GetGraphInputNames

Interfaces

接口

AddInterface, RemoveInterface, IsInterfaceDeclared
AddInterface、RemoveInterface、IsInterfaceDeclared

Variables (UE 5.7+)

变量(UE 5.7+)

AddGraphVariable, AddVariableGetNode, AddVariableSetNode, AddVariableGetDelayedNode
AddGraphVariable、AddVariableGetNode、AddVariableSetNode、AddVariableGetDelayedNode

Presets

预设

ConvertToPreset, ConvertFromPreset
ConvertToPreset、ConvertFromPreset

Live Updates

实时更新

SetLiveUpdatesEnabled
SetLiveUpdatesEnabled

Templates Available (22 JSON)

可用模板(22个JSON文件)

TemplateNodesPattern
gunshot7Random → WavePlayer → Filter → Envelope
footsteps8Surface switch → per-surface chains
ambient9Looped layers + random details + LFO
spatial6ITD Panner + distance processing
ui_sound5Sine + AD Envelope (procedural)
weather10State-driven + crossfade + dynamic filter
vehicle_engine14Trigger Sequence → layered Wave Players
sfx_generator257-stage synth (Gen→Spectral→Filter→Amp→FX)
preset_morph8Morph 0-1 → MapRange → filter params
macro_sequence12Graph variables → InterpTo → filter
sid_bass/lead/chip_tune5-8SID nodes for chiptune
wind/snare6-8From Epic tutorial exports
Templates at:
src/ue_audio_mcp/templates/
模板节点数模式
gunshot7Random → WavePlayer → Filter → Envelope
footsteps8Surface switch → 按表面区分的信号链
ambient9循环层 + 随机细节 + LFO
spatial6ITD Panner + 距离处理
ui_sound5Sine + AD Envelope(程序化)
weather10状态驱动 + 交叉渐变 + 动态滤波器
vehicle_engine14Trigger Sequence → 分层Wave Players
sfx_generator257阶段合成器(生成→频谱→滤波→放大→效果)
preset_morph8Morph 0-1 → MapRange → 滤波器参数
macro_sequence12图谱变量 → InterpTo → 滤波器
sid_bass/lead/chip_tune5-8用于芯片音乐的SID节点
wind/snare6-8来自Epic教程导出的内容
模板路径:
src/ue_audio_mcp/templates/

Graph JSON Spec

图谱JSON规范

json
{
  "type": "source",
  "interface": "MetaSound",
  "nodes": [
    {"id": "osc1", "class": "Sine", "defaults": {"Frequency": 440.0}},
    {"id": "env1", "class": "AD Envelope", "defaults": {"Attack Time": 0.01, "Decay Time": 0.5}}
  ],
  "connections": [
    {"from": "osc1:Audio", "to": "env1:In"}
  ],
  "inputs": [
    {"name": "Frequency", "type": "Float", "target": "osc1:Frequency"}
  ],
  "outputs": [
    {"name": "Out Mono", "type": "Audio", "source": "env1:Out Envelope"}
  ]
}
Validated by 7-stage validator: required fields, asset_type, interfaces, node types, pin existence, type compatibility, required inputs, interface completeness.
json
{
  "type": "source",
  "interface": "MetaSound",
  "nodes": [
    {"id": "osc1", "class": "Sine", "defaults": {"Frequency": 440.0}},
    {"id": "env1", "class": "AD Envelope", "defaults": {"Attack Time": 0.01, "Decay Time": 0.5}}
  ],
  "connections": [
    {"from": "osc1:Audio", "to": "env1:In"}
  ],
  "inputs": [
    {"name": "Frequency", "type": "Float", "target": "osc1:Frequency"}
  ],
  "outputs": [
    {"name": "Out Mono", "type": "Audio", "source": "env1:Out Envelope"}
  ]
}
通过7阶段验证器验证:必填字段、资源类型、接口、节点类型、引脚存在性、类型兼容性、必填输入、接口完整性。

Design Guidelines

设计指南

  1. Choose asset type: Source (playable) or Patch (reusable subgraph)
  2. Select interface: MetaSound (general), OneShot (fire-and-forget)
  3. Design signal flow: Generator → Processing → Envelope → Mixing → Output
  4. Expose parameters Blueprint needs to control as graph inputs
  5. Use
    SetNodeLocation()
    for editor layout visibility
  6. Validate with
    ms_validate_graph
    before sending to Builder API
  7. Consider AudioLink if routing to Wwise for mixing
  1. 选择资源类型:Source(可播放)或Patch(可复用子图谱)
  2. 选择接口:MetaSound(通用)、OneShot(一次性播放)
  3. 设计信号流:生成器 → 处理 → 包络 → 混音 → 输出
  4. 将蓝图需要控制的参数暴露为图谱输入
  5. 使用
    SetNodeLocation()
    优化编辑器布局可见性
  6. 发送到Builder API前,使用
    ms_validate_graph
    进行验证
  7. 如果需要路由到Wwise进行混音,请考虑使用AudioLink

Gotchas

注意事项

  • AD Envelope (Float) for modulation chains, AD Envelope (Audio) for amplitude
  • InterpTo requires
    Current
    default value
  • Float→Audio connections are invalid — use Biquad Filter Bandwidth, not Multiply Audio
  • Dynamic Filter needs Audio-rate cutoff input; use Biquad for Float cutoff
  • Pin names from Epic docs may use shorthand — always verify against
    ms_node_specs.json
  • Node class names: use display names from knowledge DB, or full
    Namespace::Name::Variant
    for direct lookup
  • AD Envelope (Float)用于调制链,AD Envelope (Audio)用于振幅控制
  • InterpTo需要设置
    Current
    默认值
  • Float→Audio的连接无效 — 请使用Biquad Filter的Bandwidth参数,而非Multiply (Audio)
  • Dynamic Filter需要音频速率的截止频率输入;若使用Float类型的截止频率,请选择Biquad Filter
  • Epic文档中的引脚名称可能使用简写 — 请始终对照
    ms_node_specs.json
    进行验证
  • 节点类名:使用知识库中的显示名称,或完整的
    Namespace::Name::Variant
    格式进行直接查找

Source Files

源文件

  • Node catalogue:
    src/ue_audio_mcp/knowledge/metasound_nodes.py
    (144 nodes, 798 pins)
  • Templates:
    src/ue_audio_mcp/templates/
    (22 JSON graphs)
  • Graph schema:
    src/ue_audio_mcp/knowledge/graph_schema.py
  • Builder tools:
    src/ue_audio_mcp/tools/metasounds.py
  • Scraped pins:
    scripts/ms_node_specs.json
$ARGUMENTS
  • 节点目录:
    src/ue_audio_mcp/knowledge/metasound_nodes.py
    (144个节点,798个引脚)
  • 模板:
    src/ue_audio_mcp/templates/
    (22个JSON图谱)
  • 图谱 schema:
    src/ue_audio_mcp/knowledge/graph_schema.py
  • Builder工具:
    src/ue_audio_mcp/tools/metasounds.py
  • 抓取的引脚信息:
    scripts/ms_node_specs.json
$ARGUMENTS