The graph editor
The graph editor is where you build a sound. This page covers the window, adding and wiring nodes, the interface panel, and auditioning. The nodes themselves are catalogued in Node reference.
Opening a graph
Section titled “Opening a graph”Double-click a Sound Graph or Sub Graph asset, or select it and click Open Graph in its inspector. If the graph is already open, the existing window comes forward; otherwise a new window opens docked next to the Scene view.
The toolbar across the top holds the audition play/stop toggle, a Frame All button, and two panel toggles: Interface (the interface panel) and Inspector. The On Play node has the same Audition button on its face, and each Trigger In node has a ▶ chip that fires that trigger, starting the audition if it is not already running. Double-clicking a Sub Graph opens it in its own window. While the graph has authoring problems the toolbar also shows a ⚠ N counter - click it to list them, and pick one to jump to the offending node. The node itself shows a warning badge whose tooltip says what is wrong and how to fix it.
Nodes that hold the graph open until Stop show a small ∞ capsule in
their title bar - a looping sample, a runtime-bindable source, a continuous
generator, a waiting trigger. A placed
Sub Graph shows one when something inside it sustains. No ∞ anywhere means
the graph finishes on its own. Sustaining is not a problem - looping music is
supposed to - so the capsule is informational, not a warning; it answers “why
doesn’t my one-shot finish?” before it becomes a bug report.
Adding nodes
Section titled “Adding nodes”Open the node creation menu on the canvas (right-click, or the search field) and pick a node. Nodes are organized into folders that match the categories in the node reference: Sources, Mix, Effects, Channels, Modulation, Math, Values, Logic, Triggers, Vector, Spatial, Structure.
Interface nodes (Parameter In, Trigger In as a named member, Audio In/Out, and
so on) have no standalone entry: their member binding is fixed at creation. Each
member you declare offers its own Interface/
Wiring ports
Section titled “Wiring ports”Drag from an output port to an input port to connect them. Ports only accept their own signal kind:
- Audio ports carry sound.
- Float ports carry a block-rate control value. A Float port can be a scalar or a vector; many value nodes adopt the width of whatever you wire into them.
- Trigger ports carry events.
Each value or audio input takes a single wire: dropping a new connection onto an occupied input replaces the old one. Trigger inputs accept several wires, and their pulses merge. An unconnected input uses its inline default (shown on the node) - silence for audio, the field value for a float, and never-fires for a trigger.
Connections stay within one graph; a Sub Graph exchanges signals with its parent only through its interface ports.
The Interface panel (the graph’s members)
Section titled “The Interface panel (the graph’s members)”The Interface panel, headed by the graph’s name, lists the members: the named inputs and outputs that cross the graph boundary. On a Sound Graph these are your scripting surface (the parameters and triggers game code drives). On a Sub Graph they become the node’s pins when you place it in another graph.
Add a member with the typed + button and pick a type. Each member is a compact chip showing its name and type; select a chip to edit its details in the Inspector, and use the chip’s context menu to rename or delete it.
The member types and how they behave are covered in The interface and parameters. In short, a Sound Graph offers value members (Float, Bool, Int, Enum, Time, Vector 2/3/4), Trigger, and Sample Set; a Sub Graph additionally offers Audio buses.
To read a member inside the graph, drop its chip onto the canvas (or add the matching interface node): a value member becomes a Parameter In, a trigger becomes a Trigger In, a Sample Set becomes a Sample Set source you wire into a Wave Player. To write a Sub Graph output, use Parameter Out, Trigger Out, or Audio Out.
Sub Graphs
Section titled “Sub Graphs”To reuse part of a graph, select the nodes and use Create Sub Graph from Selection from the canvas context menu. Audity moves them into a new Sub Graph asset, creates interface members and boundary nodes for every wire that crossed the selection, and drops a Sub Graph node in their place. The Output sink of a Sound Graph cannot be extracted - leave it in the parent.
To place an existing Sub Graph, add a Structure > Sub Graph node and assign the Sub Graph asset; its pins are exactly the child’s interface members. To inline one back into its parent, select the node and choose Unpack Sub Graph (the child asset stays on disk).
Auditioning
Section titled “Auditioning”You can hear a graph without entering Play mode.
- The graph window’s play button auditions the whole graph. stop ends it with a short fade; the trigger button fires an external Trigger In, so you can test a graph that waits for input.
- While a graph auditions, nodes show live badges from the running instance: a Parameter In shows its current value, a Wave Player shows its active voice count, and the Output shows a peak meter.
- Auditioning a graph that drives a transport anchors the musical grid exactly as a real Play would, so tempo-locked material sounds the same as in game.
- Sub Graph windows light up too: while the auditioned graph places a Sub Graph (directly or through other Sub Graphs), that window’s nodes show the same badges and meters, and its toolbar names the graph being played. If the same Sub Graph is placed more than once, the window shows one placement’s activity, not a sum.
Samples have their own audition buttons in the Sample inspector; see Samples and sample sets.
Live reload
Section titled “Live reload”Edits to a Sound Graph or one of its placed Sub Graphs reach instances that are already sounding in Play mode or in the graph audition. A value-only edit, such as changing a cutoff or oscillator shape, keeps the running instance’s DSP state: phases, playheads, and effect tails carry on without restarting. A structural edit, such as adding a node, changing a wire or member, or changing a delay ceiling, restarts the instance with the new program.
Bouncing to WAV
Section titled “Bouncing to WAV”Right-click a Sound Graph and choose Audity > Bounce to WAV… to render it offline - faster than realtime, no Play mode - and write the result as a WAV file next to the asset. The bounce renders at the graph’s authored Output layout, so a 5.1 graph writes a six-channel file with standard speaker assignments.
- Duration - when Audity can be sure the graph ends, the bounce renders until it does. Otherwise it renders up to a fixed span and ends at whichever comes first: the graph stopping itself, or the span running out and the bounce sending Stop. Either way it rings out through the Output’s release fade and any effect tails. Some graphs do end on their own without Audity being able to tell ahead of the render, a Trigger Delay wired to a Stop pin among them; those take the fixed-span path and simply finish early.
- Takes - bounce the graph several times in one go. Each take re-rolls the
graph’s random choices (sample selection, Random Value, Random Route), so one
randomized graph becomes a folder of variations:
Name_01.wav,Name_02.wav, … - Lock Seed - pin the random seed so a bounce reproduces exactly; takes use seed, seed+1, seed+2. Leave it off for fresh rolls every bounce.
- Sample Rate / Bit Depth - 44.1/48/96 kHz, 16/24-bit PCM or 32-bit float.
Use it to print a graph for a DAW or another engine, to freeze an expensive graph into a clip on constrained platforms, or to turn one procedural one-shot into a conventional variation set.