Skip to content

Node Types

LLMMetaSound supports all MetaSound node types discovered from the INodeClassRegistry.

Schema File: Plugins/LLMMetaSound/Config/Schemas/LLMMetaSoundSchema.llmmetasoundschema


Asset Types

MetasoundSource

UMetaSoundSource with transport (OnPlay trigger).

json
{
  "Metadata": {
    "NodeName": "MySound",
    "NodeType": "MetasoundSource",
    "MetasoundDescription": "My custom sound"
  }
}

MetasoundGraph

UMetaSoundPatch — pure DSP patch / subgraph without transport.


Graph Structure

json
{
  "Metadata": {
    "NodeName": "TriangleSub",
    "NodeType": "MetasoundSource",
    "MetasoundDescription": "Triangle wave with sub-octave"
  },
  "Inputs": [
    { "Name": "Gain", "TypeName": "Primitive:Float" },
    { "Name": "Frequency", "TypeName": "Primitive:Float" }
  ],
  "Outputs": [
    { "Name": "Audio", "TypeName": "Primitive:Float" }
  ],
  "Nodes": [
    { "NodeID": 1, "ClassName": "Triangle", "Name": "MainOsc", "InputDefaults": {} },
    { "NodeID": 2, "ClassName": "Envelope Follower", "Name": "AmpEnv", "InputDefaults": {} }
  ],
  "Edges": [
    { "FromNodeID": 1, "FromVertexID": 0, "ToNodeID": 2, "ToVertexID": 1 }
  ]
}

Node Fields

FieldTypeDescription
NodeIDintUnique integer ID referenced by edges
ClassNamestringMetaSound node class (e.g., "Oscillator", "Triangle")
NamestringDisplay name for the node
LocationobjectX, Y position in graph editor
InputDefaultsobjectDefault values for input pins

Input Default Format

json
"InputDefaults": {
  "Frequency": { "LiteralType": "Float", "AsFloat": 440.0 },
  "Enable": { "LiteralType": "Boolean", "AsBool": true }
}

Literal Types

LiteralTypeFieldDescription
FloatAsFloatFloat value
BooleanAsBoolBoolean value
IntAsIntInteger value
StringAsStringString value

Edge Format

json
"Edges": [
  { "FromNodeID": 1, "FromVertexID": 0, "ToNodeID": 2, "ToVertexID": 1 }
]
FieldTypeDescription
FromNodeIDintSource node ID
FromVertexIDintSource pin index
ToNodeIDintTarget node ID
ToVertexIDintTarget pin index

Node Categories

Generators

ClassNameDescription
TriangleTriangle wave oscillator
SawSawtooth wave oscillator
SquareSquare wave oscillator
NoiseWhite noise generator
LFOLow frequency oscillator

Filters

ClassNameDescription
Ladder FilterLadder filter (LP/HP/BP)
BiquadBiquad filter
OnePoleOne-pole filter

Envelopes

ClassNameDescription
Envelope FollowerAmplitude envelope
ADSRAttack-Decay-Sustain-Release envelope

Effects

ClassNameDescription
DelayDelay effect
ReverbReverb effect
ChorusChorus effect
CompressorDynamics compressor

Mix

ClassNameDescription
GainVolume/gain control
MixerMulti-channel mixer
MonoToStereoMono to stereo conversion
StereoToMonoStereo to mono conversion

Utility

ClassNameDescription
OutputGraph output node
SplitSignal splitter
MergeSignal merger

Common Patterns

Simple Oscillator with Envelope

json
{
  "Metadata": {
    "NodeName": "TriangleSub",
    "NodeType": "MetasoundSource",
    "MetasoundDescription": "Triangle wave with envelope"
  },
  "Inputs": [],
  "Outputs": [],
  "Nodes": [
    { "NodeID": 1, "ClassName": "Triangle", "Name": "MainOsc", "InputDefaults": { "Frequency": { "LiteralType": "Float", "AsFloat": 110.0 } } },
    { "NodeID": 2, "ClassName": "Envelope Follower", "Name": "AmpEnv", "InputDefaults": { "Enable": { "LiteralType": "Boolean", "AsBool": true } } }
  ],
  "Edges": [
    { "FromNodeID": 1, "FromVertexID": 0, "ToNodeID": 2, "ToVertexID": 1 }
  ]
}

Oscillator → Filter → Envelope

json
{
  "Metadata": {
    "NodeName": "SawDiscord",
    "NodeType": "MetasoundSource",
    "MetasoundDescription": "Sawtooth with filter"
  },
  "Inputs": [],
  "Outputs": [],
  "Nodes": [
    { "NodeID": 1, "ClassName": "Saw", "Name": "SawOsc", "InputDefaults": { "Frequency": { "LiteralType": "Float", "AsFloat": 175.0 } } },
    { "NodeID": 2, "ClassName": "Ladder Filter", "Name": "HPF", "InputDefaults": {} },
    { "NodeID": 3, "ClassName": "Envelope Follower", "Name": "AmpEnv", "InputDefaults": { "Enable": { "LiteralType": "Boolean", "AsBool": true } } }
  ],
  "Edges": [
    { "FromNodeID": 1, "FromVertexID": 0, "ToNodeID": 2, "ToVertexID": 0 },
    { "FromNodeID": 2, "FromVertexID": 0, "ToNodeID": 3, "ToVertexID": 1 }
  ]
}

Graph Interface (with Inputs/Outputs)

json
{
  "Metadata": {
    "NodeName": "ModularSynth",
    "NodeType": "MetasoundSource"
  },
  "Inputs": [
    { "Name": "Gain", "TypeName": "Primitive:Float" },
    { "Name": "Frequency", "TypeName": "Primitive:Float" }
  ],
  "Outputs": [
    { "Name": "Audio", "TypeName": "Primitive:Float" }
  ],
  "Nodes": [
    { "NodeID": 1, "ClassName": "Triangle", "Name": "Osc", "InputDefaults": {} }
  ],
  "Edges": []
}

Powered by VitePress