Incept is one tool that spans sound and picture rather than a single-purpose app. Everything below runs on the same graph engine, on the same Apple-native stack — so any output can drive any other.
A patch is a directed graph of typed nodes. Wires carry one of four kinds of signal: data (a value replaces a port's base), modulation (a value is summed into a port), audio (a live stream), and image (a per-frame frame). The kind is part of the port, so the editor only lets you make connections that actually mean something.
Press ⌘K and type to fuzzy-insert any of 122 nodes at the viewport center. There is no separate "audio app" and "visual app" — a Sampler and a Gaussian blur live in the same graph.
Each parameter is an AnimatableValue: a base value, optional keyframes with easing, and a modulation slot that sums in live contributions. Wire an LFO, Tween, Envelope, DampedSpring, or any math node into it and it moves.
Hardware MIDI (notes, gates, CC) drives parameters today; OSC input is on the roadmap. Continuous controllers map through a min/max range with smoothing, and MIDI-Learn binds a physical knob to any control.
Neural nodes run through CoreML on the local GPU. Diffusion generates images (SDXL Base and Turbo, SD 1.5). StemSeparator splits a track into drums, bass, vocals, and other with HTDemucs. MusicGen synthesizes audio.
Because they're nodes, their inputs are modulatable: drive a diffusion seed from audio onsets, or gate stem separation from the transport. Nothing leaves the machine.
Real-time audio and camera capture as graph sources, with device and frame-rate selection. Record A/V straight to .wav and .mov.
Play live, or bake to .mov offline for sample-accurate, zero-CPU loops. Deterministic subgraphs pre-render; the rest stays live.
Scene3D, meshes, lights, materials, billboards, and SpatialAudio with binaural + ambisonic output. Cast a side-by-side stereo scene to a headset.
One sheet exports Movie (H.264 + AAC), 360° stereo video with ambisonic audio, audio (WAV/AAC/AIFF), B-format ambisonic, or a still PNG.
RMS level, onset detection, and spectrum taps from audio; person masks, depth, optical flow, and text/barcode detection from images.
Lay out a bespoke control surface to play a patch live. The graph stays in Wire; Performance mode (⇧⌘P) is the instrument face — panner, mixer, sequencers, scopes.
Drop a .js script node in your Plugins folder and press ⌘R — it's hosted through JavaScriptCore via InceptJS. For native performance, ship a Swift Package.
Plugin authors depend only on InceptCore — Node, Port<T>, Graph, Time, AnimatableValue. The same primitives the built-in nodes use.
Every built-in node, grouped by category, with a one-line description of what it does.
Node reference →