Glossary
Short definitions for the terms that show up across the Aether docs and UI.
Graph
The canvas state: nodes, connections, and their property values. Every running instance of Aether holds a single primary graph plus, when open, patch-editor sub-graphs.
Node
A unit of computation on the canvas. Sources generate signals (oscillators, sample players, inputs, also recorders that echo through); effects transform them (filters, distortions, envelopes); sinks consume them (in 0.1.0 the only Sink-category node is AudioSink, which terminates the graph into the speakers); routing nodes mix and split (Mixer, Multiplexer). The full list is the node reference.
Port
The input or output jack on a node. Ports are typed - an audio output can only connect to an audio input. Port types:
- Audio - audible signal, typically ±1.0, at the configured sample rate (44.1 kHz–192 kHz).
- Control - parameter signal, centred on a default value. Subtypes:
ControlNorm(0..1),ControlBipolar(-1..1),ControlFreq(Hz). - V/Oct - pitch signal, volts per octave, following the Eurorack convention.
- Gate - binary on/off events with a sample offset, used to trigger envelopes and sequencers. Note velocity rides on MIDI, not Gate.
- MIDI - raw MIDI event stream.
- Image - 2D texture data (RGBA) passed between visual nodes like Spectral Painter.
- Spectral - frequency-domain signal (amplitude + phase per bin) for spectral processors.
A node's properties panel includes a Ports section listing each port with its direction, index, name, and type. Hover a row for the port's help text. MIDI bindings live on properties (not ports) and render in a separate section of the same panel.
Connection
A typed edge between one output port and one input port. Connections carry audio or control data at the configured sample rate, per-block. An input port accepts at most one incoming connection - attempting to connect a second source to the same input errors with "Port already connected". Use a Mixer node to combine multiple audio sources into one signal.
Property
A parameter on a node. Set via its properties panel, by a MIDI Learn binding, by a script, or by a modulation signal on an input port named <property> Mod. Every property has a display name, type, default, range, and optional help text.
Sequencer
Step-based pattern playback. The Sequencer node is the playback engine - it reads a track configuration (via its Config In input) and emits MIDI per step as the transport advances. Its companion SequencerEditor node hosts the editor panel - a piano-roll grid with a piano sidebar for pitch and a beat/bar timeline for time, plus a track list for authoring multi-track patterns - and outputs the current sequencer data on its Sequencer Out port every frame (connect to a Sequencer's Config In for playback). The editor also has a separate MIDI Out port, but that's an audition channel that only emits events when you click a note in the editor UI - not during transport playback.
Contrast with the Arranger, which is timeline-based rather than step-based.
Arranger
Timeline-based arrangement playback. Patterns or clips are laid out on tracks across real musical time; as the transport's playhead crosses a region, the Arranger emits per-track level and gate signals for the scheduled content. The Arranger follows the graph-level transport (BPM, play/stop); dedicated Enabled and Restart gate inputs let you gate or reset an instance locally, but it does not run on its own independent clock.
Transport
The master playhead for the project. Global play / stop, tempo, and time signature live here. The top-bar transport controls drive it; Sequencer and Arranger advance in lockstep with it while their respective Enabled gate inputs are high.
Activity Monitor
A per-node view of DSP statistics - CPU time, active voices, event counts. Toggled via the console command toggle("activity") or from the command palette. When active, canvas nodes flip to show their back face with live stats.
Mode3D
An experimental 3D visualisation of the running graph. Sources become planets, sinks become rings, connections become light beams. Off by default. Mode3D is primarily a tech demo for experimenting with how audio might look rendered in 3D space; it is not part of the core editing workflow. Toggle via toggle("3d") in the console when curious. Expect rough edges and a brief hiccup on first activation.
Virtual Device
A MIDI abstraction: a named slot that nodes bind against, routed to one or more physical MIDI input ports. Survives controller swaps. See MIDI Setup.
Path Key
A named root directory that can be resolved inside scripts. Two URI schemes reference path keys: external://<key>/<relative-path> for files on disk (e.g. external://scripts/demo resolves via the scripts path key), and script://<name> for scripts stored inside the project's own database. When Aether runs from the .app bundle, a scripts path key is auto-registered to Contents/Resources/scripts/; additional keys can be registered at launch with --path <key>=<dir>.
Leader Key
The Space-prefixed canvas shortcut system. See Keyboard Shortcuts.
Hint Mode
A navigation mode where each actionable target (node, port, connection) gets a short label overlay. Type the label to jump to that target. Labels are one letter for a handful of targets and two letters when there are more. Triggered by leader-key sequences like Space f and Space p.
.aether
A project file. Embedded redb database containing the graph, properties, sequencer and arranger content, and MIDI bindings. See Working with Projects.
Rhai
The scripting language Aether embeds. Dynamically typed, Rust-like syntax, executed in-process. A broad subset of editor actions are exposed as Rhai functions. Full reference at /aether/docs/scripting/.
Keyboard Node
An 88-key piano strip on the canvas. Dual-purpose: it visualises incoming MIDI (any node wired to its MIDI In lights up the corresponding keys) and it lets you click keys directly on the canvas to emit note events downstream. Used as both a live play surface and a MIDI pass-through monitor.