ue5-metasound-dsp
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMetaSounds 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., vs ).
Multiply (Audio)Multiply (Float)Audio、Trigger、Float、Int32、Bool、Time、String、WaveAsset、UObject、Enum(+数组变体)
类型规则:音频速率信号无法连接到Float类型。请使用正确的节点变体(例如与)。
Multiply (Audio)Multiply (Float)Asset Types
资源类型
| Type | Use | Interface |
|---|---|---|
| Source | Standalone playable asset | UE.Source.OneShot or MetaSound |
| Patch | Reusable subgraph (no play) | Custom |
| Preset | Parameter overrides of existing Source/Patch | Inherits parent |
| 类型 | 用途 | 接口 |
|---|---|---|
| Source | 可独立播放的资源 | UE.Source.OneShot 或 MetaSound |
| Patch | 可复用子图谱(不可播放) | 自定义 |
| Preset | 现有Source/Patch的参数覆盖 | 继承自父资源 |
Interfaces
接口
- — Standard audio output
MetaSound - — OnPlay trigger in, OnFinished trigger out
UE.Source.OneShot - — Distance input for volume falloff
UE.Attenuation - — Azimuth/Elevation for 3D positioning
UE.Spatialization
- — 标准音频输出
MetaSound - — 输入OnPlay触发,输出OnFinished触发
UE.Source.OneShot - — 用于音量衰减的距离输入
UE.Attenuation - — 用于3D定位的方位角/仰角
UE.Spatialization
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 + pins
Primary OperandOperandAdd、Subtract、Multiply、Mix — 均包含 + 引脚
Primary OperandOperandMath (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 MonoSine → Multiply(Audio) × AD Envelope → Out MonoSubtractive: Osc → Filter → Amp → Output
减法合成:振荡器 → 滤波器 → 放大器 → 输出
Saw → Biquad Filter(LP) → Multiply × ADSR → Out Mono
↑ Cutoff FrequencySaw → Biquad Filter(LP) → Multiply × ADSR → Out Mono
↑ Cutoff FrequencyAdditive: Multiple Oscs → Mix → Output
加法合成:多振荡器 → 混音 → 输出
Sine(f) + Sine(2f) + Sine(3f) → Add → Multiply × Envelope → OutSine(f) + Sine(2f) + Sine(3f) → Add → Multiply × Envelope → OutTriggered: Event → Sample Player → Processing
触发式:事件 → 采样播放器 → 处理
OnPlay → Wave Player → Biquad Filter → Compressor → Out
↑ Pitch Shift for variationOnPlay → Wave Player → Biquad Filter → Compressor → Out
↑ Pitch Shift for variationModulated: LFO → Parameter Control
调制式:LFO → 参数控制
LFO → Map Range(0-1 → 200-2000) → Biquad Filter CutoffLFO → Map Range(0-1 → 200-2000) → Biquad Filter CutoffKey Pin Names (Authoritative)
关键引脚名称(权威参考)
| Node | Inputs | Outputs |
|---|---|---|
| Sine/Saw/Square/Triangle | Frequency, Phase Offset, Glide, Bias | Audio |
| Noise | Seed | Audio |
| AD Envelope | Trigger, Attack Time, Decay Time | Out Envelope |
| ADSR Envelope | Trigger Attack, Trigger Release, Attack Time, Decay Time, Sustain Level, Release Time | Out Envelope |
| Biquad Filter | In, Cutoff Frequency, Bandwidth, Filter Type | Out |
| State Variable Filter | In, Cutoff Frequency, Resonance, Band Stop Gain | HPF, LPF, BPF, BSF |
| Wave Player | Play, Stop, Wave Asset, Start Time, Loop, Pitch Shift | Out Audio, On Finished |
| Multiply/Add (Audio) | Primary Operand, Operand | Out |
| Map Range | Value, In Range A, In Range B, Out Range A, Out Range B, Clamped | Out |
| InterpTo | Target, Current, Speed, Interp Delta Time | Value |
| Clamp | In, Min, Max | Value |
| Compressor | Audio, Ratio, Threshold dB, Attack Time, Release Time, Sidechain, Wet, Knee | Audio |
| ITD Panner | Audio, Angle, Interaural Delay, Head Width | Left, Right |
| Trigger Repeat | Start, Stop, Period | RepeatOut |
| Trigger Sequence | Trigger, Reset | Out 0, Out 1, ... |
Full reference: (93 nodes, 464 pins from Epic docs)
scripts/ms_node_specs.json| 节点 | 输入 | 输出 |
|---|---|---|
| Sine/Saw/Square/Triangle | Frequency、Phase Offset、Glide、Bias | Audio |
| Noise | Seed | Audio |
| AD Envelope | Trigger、Attack Time、Decay Time | Out Envelope |
| ADSR Envelope | Trigger Attack、Trigger Release、Attack Time、Decay Time、Sustain Level、Release Time | Out Envelope |
| Biquad Filter | In、Cutoff Frequency、Bandwidth、Filter Type | Out |
| State Variable Filter | In、Cutoff Frequency、Resonance、Band Stop Gain | HPF、LPF、BPF、BSF |
| Wave Player | Play、Stop、Wave Asset、Start Time、Loop、Pitch Shift | Out Audio、On Finished |
| Multiply/Add (Audio) | Primary Operand、Operand | Out |
| Map Range | Value、In Range A、In Range B、Out Range A、Out Range B、Clamped | Out |
| InterpTo | Target、Current、Speed、Interp Delta Time | Value |
| Clamp | In、Min、Max | Value |
| Compressor | Audio、Ratio、Threshold dB、Attack Time、Release Time、Sidechain、Wet、Knee | Audio |
| ITD Panner | Audio、Angle、Interaural Delay、Head Width | Left、Right |
| Trigger Repeat | Start、Stop、Period | RepeatOut |
| Trigger Sequence | Trigger、Reset | Out 0、Out 1、... |
完整参考:(来自Epic文档的93个节点,464个引脚)
scripts/ms_node_specs.jsonBuilder 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文件)
| Template | Nodes | Pattern |
|---|---|---|
| gunshot | 7 | Random → WavePlayer → Filter → Envelope |
| footsteps | 8 | Surface switch → per-surface chains |
| ambient | 9 | Looped layers + random details + LFO |
| spatial | 6 | ITD Panner + distance processing |
| ui_sound | 5 | Sine + AD Envelope (procedural) |
| weather | 10 | State-driven + crossfade + dynamic filter |
| vehicle_engine | 14 | Trigger Sequence → layered Wave Players |
| sfx_generator | 25 | 7-stage synth (Gen→Spectral→Filter→Amp→FX) |
| preset_morph | 8 | Morph 0-1 → MapRange → filter params |
| macro_sequence | 12 | Graph variables → InterpTo → filter |
| sid_bass/lead/chip_tune | 5-8 | SID nodes for chiptune |
| wind/snare | 6-8 | From Epic tutorial exports |
Templates at:
src/ue_audio_mcp/templates/| 模板 | 节点数 | 模式 |
|---|---|---|
| gunshot | 7 | Random → WavePlayer → Filter → Envelope |
| footsteps | 8 | Surface switch → 按表面区分的信号链 |
| ambient | 9 | 循环层 + 随机细节 + LFO |
| spatial | 6 | ITD Panner + 距离处理 |
| ui_sound | 5 | Sine + AD Envelope(程序化) |
| weather | 10 | 状态驱动 + 交叉渐变 + 动态滤波器 |
| vehicle_engine | 14 | Trigger Sequence → 分层Wave Players |
| sfx_generator | 25 | 7阶段合成器(生成→频谱→滤波→放大→效果) |
| preset_morph | 8 | Morph 0-1 → MapRange → 滤波器参数 |
| macro_sequence | 12 | 图谱变量 → InterpTo → 滤波器 |
| sid_bass/lead/chip_tune | 5-8 | 用于芯片音乐的SID节点 |
| wind/snare | 6-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
设计指南
- Choose asset type: Source (playable) or Patch (reusable subgraph)
- Select interface: MetaSound (general), OneShot (fire-and-forget)
- Design signal flow: Generator → Processing → Envelope → Mixing → Output
- Expose parameters Blueprint needs to control as graph inputs
- Use for editor layout visibility
SetNodeLocation() - Validate with before sending to Builder API
ms_validate_graph - Consider AudioLink if routing to Wwise for mixing
- 选择资源类型:Source(可播放)或Patch(可复用子图谱)
- 选择接口:MetaSound(通用)、OneShot(一次性播放)
- 设计信号流:生成器 → 处理 → 包络 → 混音 → 输出
- 将蓝图需要控制的参数暴露为图谱输入
- 使用优化编辑器布局可见性
SetNodeLocation() - 发送到Builder API前,使用进行验证
ms_validate_graph - 如果需要路由到Wwise进行混音,请考虑使用AudioLink
Gotchas
注意事项
- AD Envelope (Float) for modulation chains, AD Envelope (Audio) for amplitude
- InterpTo requires default value
Current - 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 for direct lookup
Namespace::Name::Variant
- 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: (144 nodes, 798 pins)
src/ue_audio_mcp/knowledge/metasound_nodes.py - Templates: (22 JSON graphs)
src/ue_audio_mcp/templates/ - 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
- 节点目录:(144个节点,798个引脚)
src/ue_audio_mcp/knowledge/metasound_nodes.py - 模板:(22个JSON图谱)
src/ue_audio_mcp/templates/ - 图谱 schema:
src/ue_audio_mcp/knowledge/graph_schema.py - Builder工具:
src/ue_audio_mcp/tools/metasounds.py - 抓取的引脚信息:
scripts/ms_node_specs.json
$ARGUMENTS