Yomin - LLM MetaSound

๐ŸŽฏ One chat generated MetaSound.

"Use llm-metasound to generate a [laser / explosion / footstep / ambient] sound for [your SFX]."

๐Ÿ“š Tutorial: LLM MetaSound - DSL Schema Guide ยท ๐Ÿ›  Skill Repo: github.com/ituiyuio/Yomin-Fab-LLM-Unreal-Pluagin-Skill

Features:

โœ… One JSON, Complete Audio Graph - Inputs, outputs, nodes, and edges generated from a single .llmmetasound file

โœ… LLM-First Design - AI outputs JSON directly, no MetaSound editor knowledge required

โœ… Bidirectional Conversion - JSON โ†” UMetaSoundSource / UMetaSoundPatch, perfect roundtrip

โœ… Robust Edge Handling - UE5 Builder Subsystem + auto-connect OnPlay + vertex type validation on every wire

โœ… Full Node Coverage - MetasoundFrontend registry with autocomplete + graph-level Inputs / Outputs

โœ… Two Asset Types - UMetaSoundSource (transport + audio playback) and UMetaSoundPatch (pure DSP)

โœ… Editor Panel - Slate-based panel for one-click generation and re-export

โœ… Type-Safe Pin Wiring - Edges that mismatch vertex types are rejected before the asset is saved

๐Ÿ“ฆ File Formats:

.llmmetasound (JSON), .llmmetasoundschema (Schema), UMetaSoundSource / UMetaSoundPatch (UAsset)

Technical Information

Version: Unreal Engine 5.7+

Dependencies: Metasound (engine plugin, enabled by default in UE5)

Modules: LLMMetaSoundEditor (Editor)

Number of Blueprints: 0

Number of C++ Classes: ~12

Network Replicated: No

Documentation Link: LLM MetaSound DSL Schema Guide

Example Project: Config/Examples/ folder contains .llmmetasound example files

Supported Platforms: Windows, Mac, Linux

Overview

The Problem

Traditional UE MetaSound development is tedious:

  • Navigate the node browser manually for every operator

  • Set properties one by one in the details panel

  • Connect pins by hand with no type validation

  • No AI integration for generative or batch-authored audio

  • Hard to version control audio graphs

The Solution

LLMMetaSound changes everything. One JSON file defines:

  • Asset type (Source or Patch)

  • Graph interface members (Inputs and Outputs)

  • All nodes with their class names and locations

  • All edges connecting node pins (type-safe)

LLM outputs the JSON. Plugin generates the MetaSound asset. Done.

Example

{ "Metadata": { "NodeName": "SimpleSynth", "NodeType": "MetasoundSource", "MetasoundDescription": "Sine oscillator with gain and frequency inputs" }, "Inputs": [ { "Name": "Frequency", "TypeName": "Primitive:Float", "LiteralValue": { "LiteralType": "Float", "AsFloat": 440.0 } }, { "Name": "Gain", "TypeName": "Primitive:Float", "LiteralValue": { "LiteralType": "Float", "AsFloat": 1.0 } } ], "Nodes": [ { "NodeID": 1, "ClassName": "Input", "Name": "Frequency", "TypeName": "Primitive:Float" }, { "NodeID": 2, "ClassName": "Input", "Name": "Gain", "TypeName": "Primitive:Float" }, { "NodeID": 3, "ClassName": "Sine", "Name": "Osc" }, { "NodeID": 4, "ClassName": "Multiply", "ClassPath": "UE.Multiply.AudiobyFloat", "Name": "GainMul" }, { "NodeID": 5, "ClassName": "Envelope Follower", "Name": "AmpEnv", "InputDefaults": { "Enable": { "LiteralType": "Boolean", "AsBool": true } } } ], "Edges": [ { "FromNodeID": 1, "FromPinName": "Frequency","ToNodeID": 3, "ToPinName": "Frequency" }, { "FromNodeID": 3, "FromPinName": "Audio","ToNodeID": 4, "ToPinName": "PrimaryOperand" }, { "FromNodeID": 2, "FromPinName": "Gain","ToNodeID": 4, "ToPinName": "AdditionalOperands" }, { "FromNodeID": 4, "FromPinName": "Out","ToNodeID": 5, "ToPinName": "In" } ] }

Import this JSON โ†’ Get a fully functional MetaSound asset with auto-connected nodes. The OnPlay trigger and final audio output are wired automatically โ€” you only describe the graph nodes and edges (no manual ClassName: "Output" node needed; the plugin auto-routes audio to the engine's audio output pin).

Workflow

  1. LLM generates .llmmetasound - AI outputs JSON with your audio graph definition

  2. Open Panel - Window โ†’ LLMMetaSound

  3. Generate - One click creates the MetaSound asset

  4. Iterate - Modify JSON, regenerate, or export existing MetaSound back to JSON

Supported MetaSound Types

TypeDescriptionUMetaSoundSourceAudio playback graph with transport (auto-connected OnPlay trigger)UMetaSoundPatchPure DSP patch without transport

Supported Node Classes

Oscillator ยท Output ยท Delay ยท Gain ยท Envelope ยท Filter ยท LFO ยท Mixer ยท Split ยท Merge ยท MonoToStereo ยท StereoToMono ยท and all MetasoundStandardNodes discovered from the engine registry.

Schema Quick Reference

FieldDescriptionAssetType"Source" or "Patch"Metadata.NodeNameAsset display nameInputs[]Graph-level input interface membersOutputs[]Graph-level output interface membersNodes[]Graph nodes (external nodes, not Input/Output nodes)Edges[]Connections between node pins (type-validated)Node.NodeIDInteger ID referenced by edgesNode.ClassNameMetaSound node class (e.g., "Oscillator")

Successful development to you!

LLMMetaSound v1.0.0 | YominUnreal