# Tune.Toys documentation > The Tune.Toys User Manual and Wiki: how to make, play, publish and sell audio instruments and effects as portable Toys, one reference page per node type, and the developer platform (API, schemas, MCP, embeds). Links below are each page's Markdown version. Any page URL works with `.md` in place of its trailing slash (https://docs.tune.toys/nodes/std.delay/ → https://docs.tune.toys/nodes/std.delay.md). ## Get started - [Get started](https://docs.tune.toys/start.md): Open a template, play it, edit its Patch, save it and publish it in about five minutes. - [Download](https://docs.tune.toys/start/download.md): Where to get Tune.Toys on each platform, what is available today and what is still to come. - [Requirements](https://docs.tune.toys/start/requirements.md): What you need to use Tune.Toys in the browser: a current browser, an audio output, and an optional account. ## User Manual - [User Manual](https://docs.tune.toys/manual.md): Every part of the app in the order you meet it. - [Account, settings, notifications and language](https://docs.tune.toys/manual/account-settings.md): Profile, handle, sessions, audio, appearance, notification preferences and language. - [Frame design](https://docs.tune.toys/manual/frame-design.md): Place controls, bind them to parameters and design a responsive playable panel. - [Library](https://docs.tune.toys/manual/library.md): Bookmarks, tags, your selected release of each product and what is installed. - [Marketplace: buying](https://docs.tune.toys/manual/marketplace-buying.md): Find products, buy an offer, get entitlements and downloads. - [Marketplace: selling](https://docs.tune.toys/manual/marketplace-selling.md): Publisher profile, payouts, offers, storefront and moderating reviews. - [Patch](https://docs.tune.toys/manual/patch.md): Add nodes, connect cables, set parameters and reuse patches as groups. - [Desktop app, Player and Installer](https://docs.tune.toys/manual/player-installer.md): The desktop app (Editor and Installer) for macOS, Windows and Linux, the DAW Player, and what is qualified so far. - [Playing](https://docs.tune.toys/manual/playing.md): Play a Toy with the mouse, touch, computer keyboard or MIDI, and set your audio device. - [Saving and publishing](https://docs.tune.toys/manual/saving-publishing.md): The four saved states, drafts, releases, visibility, versions and the product listing. - [Sharing and embedding](https://docs.tune.toys/manual/sharing-embedding.md): Share links, QR codes, deep links and embed codes. - [Troubleshooting](https://docs.tune.toys/manual/troubleshooting.md): Audio permissions, browser support, recovery, how help links work and reporting problems. - [Workspace](https://docs.tune.toys/manual/workspace.md): Start a Toy, arrange panels, use Spotlight, undo and redo, and recover your work. ## Nodes - [Nodes reference](https://docs.tune.toys/nodes.md): One page per node type: ports, parameters, how it works and playable help patches. - [Dictionary definition](https://docs.tune.toys/nodes/addon.dictionary.define.md): Meanings and phonetics of an English word. - [Open-Meteo forecast](https://docs.tune.toys/nodes/addon.open-meteo.forecast.md): Current weather and forecasts for a place, no key. - [Random user](https://docs.tune.toys/nodes/addon.randomuser.get.md): Generated placeholder people with names and pictures. - [Wikipedia search](https://docs.tune.toys/nodes/addon.wikipedia.search.md): Search English Wikipedia for matching pages. - [Wikipedia summary](https://docs.tune.toys/nodes/addon.wikipedia.summary.md): Lead extract of an English Wikipedia article. - [LLM chat](https://docs.tune.toys/nodes/ai.chat.md): Ask Anthropic, OpenAI or Gemini with your own vault key through the completion endpoint; text or JSON out. - [Receive](https://docs.tune.toys/nodes/bus.receive.md): Pick up a named bus without a cable. Its type and width follow whatever drives the Send. - [Send](https://docs.tune.toys/nodes/bus.send.md): Name a bus and send a signal to it. Every Receive with the same name in this definition hears it. - [Band energies](https://docs.tune.toys/nodes/ctl.bands.md): Split audio into log-spaced bands and follow each one's energy as a control lane: the audio-to-visual bridge. - [Clock](https://docs.tune.toys/nodes/ctl.clock.md): Bar, beat, eighth, sixteenth and triplet pulses plus the phase within the beat on six lanes, locked to the transport or at its own tempo. - [Combine lanes](https://docs.tune.toys/nodes/ctl.combine.md): Concatenate two control bundles, preserving every lane without mixing. - [Constant](https://docs.tune.toys/nodes/ctl.const.md): A fixed control vector of up to eight lanes, set in the inspector. The number box of the control domain. - [Counter](https://docs.tune.toys/nodes/ctl.counter.md): Count rising edges of a trigger lane, with step, limit, wrap and reset. Lane 1 is the normalised count, lane 2 the raw count. - [Curve](https://docs.tune.toys/nodes/ctl.curve.md): A drawn breakpoint curve on a control lane: shape the input or Position through it, or loop it at a rate, mapped onto Min to Max. - [Control envelope](https://docs.tune.toys/nodes/ctl.envelope.md): A control-rate ADSR, AD or AR envelope on a gate lane, 0 to 1, with velocity scaling and a done event. - [Envelope follower](https://docs.tune.toys/nodes/ctl.follow.md): Track the level of an audio bundle as one control lane per channel, with attack and release. - [Sample and hold](https://docs.tune.toys/nodes/ctl.hold.md): Capture the input lanes whenever the trigger lane rises and hold them until the next trigger. - [Control LFO](https://docs.tune.toys/nodes/ctl.lfo.md): A free-running or tempo-synced low-frequency oscillator on a control lane, 0 to 1, with depth, offset, phase, skew, random shapes and a reset input. - [Random](https://docs.tune.toys/nodes/ctl.random.md): A seeded random control lane: steps, glides or walks to a new value on each trigger, or free-running at a rate or tempo division. - [Scale](https://docs.tune.toys/nodes/ctl.scale.md): Map a control range onto another with a curve, clamp and inversion. Depth and offset for any modulation. - [Select lanes](https://docs.tune.toys/nodes/ctl.select.md): Extract a contiguous lane range from a control bundle. Use several to split a sensor's lanes. - [Smooth](https://docs.tune.toys/nodes/ctl.smooth.md): Slow a control lane down with separate rise and fall times so jumpy sensors and buttons stop clicking. - [Compare](https://docs.tune.toys/nodes/data.compare.md): Compare two data values as numbers, text or lists and send true or false: ordering, equality, contains, starts or ends with, pattern match, empty, in list. - [Convert](https://docs.tune.toys/nodes/data.convert.md): Convert a value to another datatype, optionally picking a field or formatting a string; failures go to error. - [List](https://docs.tune.toys/nodes/data.list.md): List operations on data values: get, push, insert, remove, slice, sort, unique, flatten, join, range, sum, minimum, maximum, mean, shuffle and more. - [Math](https://docs.tune.toys/nodes/data.math.md): Arithmetic on data values, with the same operations as signal Math. Numbers in, numbers out; lists are worked element by element. - [Merge](https://docs.tune.toys/nodes/data.merge.md): Combine up to eight inputs into one JSON object keyed by port, when any or all have arrived. - [Random](https://docs.tune.toys/nodes/data.random.md): Make a random number, integer, boolean, string, colour or choice on each trigger; seeded when a seed is wired. - [Dataset](https://docs.tune.toys/nodes/data.set.md): Read CSV, TSV, JSON or NDJSON from an asset, a host-chosen file or a connection as rows, JSON and text. - [String](https://docs.tune.toys/nodes/data.string.md): Text operations on data values: length, case, trim, split, replace, slice, pad, repeat, search, regular expressions, format and JSON. - [Data to control](https://docs.tune.toys/nodes/data.to-control.md): Turn numbers into one control lane for a parameter or control input, mapped from a declared range. - [Value](https://docs.tune.toys/nodes/data.value.md): A literal source, the data domain's number box and message box. - [Console log](https://docs.tune.toys/nodes/log.console.md): Write each incoming value to the Console panel with a level and label, rate-limited. - [Media player](https://docs.tune.toys/nodes/media.player.md): Plays a video asset or an open stream URL (MP4, WebM; HLS where the browser plays it natively) as one video stream with play, loop and rate controls. - [Recorder](https://docs.tune.toys/nodes/media.recorder.md): Record a video stream to a file while Record is on. Audio joins when external audio buses land. - [Text to Speech](https://docs.tune.toys/nodes/media.speech.md): Generate speech with ElevenLabs using your own vault key, and play the audio through the patch. - [Arpeggiator](https://docs.tune.toys/nodes/midi.arp.md): Play held notes one at a time, locked to the transport: up, down, up-down, down-up, random, as played or as chords, over 1–4 octaves, with latch. - [MIDI channel](https://docs.tune.toys/nodes/midi.channel.md): Pass every channel, keep one channel, or move everything onto one channel. - [Euclidean rhythm](https://docs.tune.toys/nodes/midi.euclid.md): Spread pulses as evenly as possible over a cycle of steps, locked to the transport, and play each as a note, with rotation, swing and accent. - [Control to MIDI](https://docs.tune.toys/nodes/midi.from-control.md): Send control lanes as MIDI controllers: lane 1 to the first CC number, lane 2 to the next, one message per change. - [Data to MIDI](https://docs.tune.toys/nodes/midi.from-data.md): Play a JSON list of notes in beats as MIDI on each trigger, scheduled on the transport. - [MIDI in](https://docs.tune.toys/nodes/midi.in.md): A logical MIDI input port. The host binds it to a device or the DAW's MIDI bus; the Toy never stores a device. - [Keyboard](https://docs.tune.toys/nodes/midi.keyboard.md): Notes from the on-screen piano and computer typing become MIDI. The face of the piano widget. - [MIDI merge](https://docs.tune.toys/nodes/midi.merge.md): Interleave up to four MIDI streams by time, in input order for equal offsets. - [Control to notes](https://docs.tune.toys/nodes/midi.notes.md): Turn control lanes (pitch, gate and velocity) into MIDI notes, the inverse of MIDI to control, so control sources and sensors can play instruments. - [MIDI out](https://docs.tune.toys/nodes/midi.out.md): A logical MIDI output port. The host binds it to a device or the DAW; messages leave at their sample offsets. - [Step sequencer](https://docs.tune.toys/nodes/midi.step.md): Up to 64 steps of notes, rests and ties locked to the transport, with per-step pitch, velocity and probability, swing and four directions. - [MIDI to control](https://docs.tune.toys/nodes/midi.to-control.md): Turn MIDI into six control lanes: pitch, gate, velocity, bend, pressure and one CC, with last-note priority. - [Transpose](https://docs.tune.toys/nodes/midi.transpose.md): Shift note numbers by semitones and octaves, clamped to the MIDI range. - [Velocity](https://docs.tune.toys/nodes/midi.velocity.md): Scale, offset, floor or fix note-on velocities. - [Body](https://docs.tune.toys/nodes/sense.body.md): Track one body's pose into control lanes: torso position, hand positions, arm spread, lean, crouch and presence. - [Face](https://docs.tune.toys/nodes/sense.face.md): Track one face into control lanes: position, head pose, gaze, mouth, smile, blinks, brows and presence. - [Gestures](https://docs.tune.toys/nodes/sense.gesture.md): Recognise seven hand gestures into one gate lane each, with confidence and presence. - [Hands](https://docs.tune.toys/nodes/sense.hands.md): Track up to two hands from a video stream into control lanes: position, depth, pinch, spread, openness and presence per hand. - [Motion](https://docs.tune.toys/nodes/sense.motion.md): The device's accelerometer and gyroscope as control lanes: acceleration, rotation rate, tilt, heading and a shake gate. - [Pitch correction](https://docs.tune.toys/nodes/std.autotune.md): Detects the pitch of a monophonic input and pulls it to the nearest note of the Toy tuning, a scale or held MIDI notes. - [Chorus](https://docs.tune.toys/nodes/std.chorus.md): Prepared multi-voice chorus, ensemble and vibrato over arbitrary channel bundles. - [Combine channels](https://docs.tune.toys/nodes/std.combine.md): Concatenate two audio buses, preserving every channel without mixing. - [Compare](https://docs.tune.toys/nodes/std.compare.md): Turn any signal into a gate or trigger by comparing it to a threshold or to another signal, lane by lane, with hysteresis and tolerance. - [Compressor](https://docs.tune.toys/nodes/std.compressor.md): Peak/RMS compression with a sidechain key input, detector filtering, hold, adaptive release and channel linking. - [Convolver](https://docs.tune.toys/nodes/std.convolver.md): Convolution with an attached WAV impulse response: real rooms, speaker cabinets and creative textures, with predelay, trims and gain. - [Crossfade](https://docs.tune.toys/nodes/std.crossfade.md): Blend two signals with one balance control: 0 plays A, 1 plays B. - [Crossover](https://docs.tune.toys/nodes/std.crossover.md): Splits audio into 2–4 Linkwitz-Riley bands, output as one band-major bundle whose bands sum back flat. - [Bitcrusher](https://docs.tune.toys/nodes/std.crush.md): Reduces bit depth and sample rate: 2^bits levels, sample-and-hold with jitter, optional triangular dither. - [Delay](https://docs.tune.toys/nodes/std.delay.md): Tempo-aware, smoothly retimed echoes with colored, ducked and explicit multichannel feedback. - [Noise reduction](https://docs.tune.toys/nodes/std.denoise.md): Spectral noise gate: learn a noise profile or follow the floor adaptively, then turn down each frequency bin that stays near it. - [Drive](https://docs.tune.toys/nodes/std.drive.md): Four nonlinear shapers with DC removal, tone and latency-aligned filtered oversampling. - [Envelope](https://docs.tune.toys/nodes/std.envelope.md): Curved AD, AR and ADSR gain envelopes with looping and explicit retrigger behavior. - [Parametric EQ](https://docs.tune.toys/nodes/std.eq.md): Parametric EQ with up to 32 reorderable RBJ bands: cuts, shelves, bells and notches, per-band bypass and output trim. - [Gain](https://docs.tune.toys/nodes/std.gain.md): A clean multichannel gain stage. - [Gate](https://docs.tune.toys/nodes/std.gate.md): Noise gate and downward expander with a sidechain key input, range, hold, lookahead, detector filtering and channel linking. - [Granulator](https://docs.tune.toys/nodes/std.granulator.md): Replays windowed grains of the live input: up to 32 at once, scheduled from the node path, with freeze, reverse and pitch. - [Harmonizer](https://docs.tune.toys/nodes/std.harmonizer.md): Adds up to three pitch-shifted voices to the input, each with its own interval, level and pan. - [Limiter](https://docs.tune.toys/nodes/std.limiter.md): Linked or independent sample-peak limiting with hold and adaptive release. - [Low-pass filter](https://docs.tune.toys/nodes/std.lowpass.md): A gentle one-pole filter for warmer edges. - [Math](https://docs.tune.toys/nodes/std.math.md): Arithmetic on any signal, lane by lane: add, multiply, divide, power and more on audio or control operands. The output runs at the rate of its fastest input. - [Channel matrix](https://docs.tune.toys/nodes/std.matrix.md): Route and mix input channels into a declared output bundle with explicit gains. - [Mixer](https://docs.tune.toys/nodes/std.mixer.md): Sum up to 32 channels, each with gain, pan, mute and solo, into one mix with a master level. Plug a cable in to add a channel. - [Multiband compressor](https://docs.tune.toys/nodes/std.multiband.md): Three-band compressor on a flat-summing crossover: per-band threshold, ratio, attack, release, makeup and solo, then an output trim. - [Neural amp](https://docs.tune.toys/nodes/std.nam.md): Play a bounded NAM A1/A2 WaveNet capture with shared DSP, verified model assets and explicit dry fallback when a model is missing. - [Noise](https://docs.tune.toys/nodes/std.noise.md): Thirteen streaming noise colors and textures with independent channel and instance state. - [Oscillator](https://docs.tune.toys/nodes/std.oscillator.md): Selected waveform kernels, continuous morphing, harmonic shapes and phase/gate control; an optional MIDI input plays notes in the Toy's tuning. - [Phaser](https://docs.tune.toys/nodes/std.phaser.md): Swept allpass notches: 2 to 12 stages, a free or transport-locked sweep, signed feedback and channel spread. - [Pitch shifter](https://docs.tune.toys/nodes/std.pitch.md): Shifts audio up or down by up to two octaves with a splicing delay line, with fine cents, feedback and a dry/wet mix. - [Audio player](https://docs.tune.toys/nodes/std.player.md): Plays an attached WAV asset as one stream for loops, beds and backing tracks, following the transport or running free. - [Polyphonic instrument](https://docs.tune.toys/nodes/std.poly.md): Eight owned, velocity-sensitive oscillator voices with ADSR, sustain and MPE, played from a MIDI cable in the Toy's tuning. - [Resonance suppressor](https://docs.tune.toys/nodes/std.resonance.md): Spectral resonance suppressor: finds narrow peaks that stand above the local spectral average and pulls them down dynamically, bin by bin. - [Reverb](https://docs.tune.toys/nodes/std.reverb.md): An eight-line modulated feedback-delay network with room, hall and plate-like tunings. - [Sampler](https://docs.tune.toys/nodes/std.sampler.md): Plays an attached WAV asset as an instrument of up to eight voices in the Toy's tuning, with a playback region, a sustain loop and ADSR. - [Select channels](https://docs.tune.toys/nodes/std.select.md): Extract a contiguous channel range. Use several selectors to split a bundle. - [Feedback suppressor](https://docs.tune.toys/nodes/std.suppressor.md): Feedback suppressor: tracks howling tones and places up to eight narrow time-domain notches on them, with no added latency. - [Filter](https://docs.tune.toys/nodes/std.svf.md): Low-pass, high-pass, band-pass, notch, all-pass or morphing filter with resonance, 12/24 dB slopes, curve editing and output RTA. - [Transient shaper](https://docs.tune.toys/nodes/std.transient.md): Boosts or softens the attack and sustain of each hit, independent of level, with a floor, mix and output trim. - [Tuner](https://docs.tune.toys/nodes/std.tuner.md): Passes audio through unchanged and shows the nearest degree of a microtonal tuning on its face. Mute silences it like a tuner pedal. - [Vocoder](https://docs.tune.toys/nodes/std.vocoder.md): Channel vocoder: a modulator on Key imposes its band envelopes on the carrier through 8 to 32 band-pass filters, with formant shift and sibilance. - [Wavetable](https://docs.tune.toys/nodes/std.wavetable.md): Plays a drawn or preset table of up to eight 2048-sample frames with position morphing, unison and MIDI pitch. - [Cron](https://docs.tune.toys/nodes/time.cron.md): Fire a trigger on an interval, a cron expression or musical beats, with the time as JSON. - [Blur](https://docs.tune.toys/nodes/video.blur.md): Gaussian blur with a bounded radius at the source resolution. - [Camera](https://docs.tune.toys/nodes/video.camera.md): A camera feed as one video stream. The Toy names a logical camera; the host binds it to a device after the person allows it. - [Chroma key](https://docs.tune.toys/nodes/video.chroma-key.md): Turn one colour transparent with tolerance, softness and spill suppression: the green screen. - [Color](https://docs.tune.toys/nodes/video.color.md): Adjust brightness, contrast, saturation, hue, gamma and warmth, or invert the picture. - [Combine streams](https://docs.tune.toys/nodes/video.combine.md): Concatenate two video bundles into one, preserving every stream. - [Composite](https://docs.tune.toys/nodes/video.composite.md): Stack up to four layers over a base at the base's size with blend mode, opacity, position and scale per layer. - [Video crossfade](https://docs.tune.toys/nodes/video.crossfade.md): Blend two streams with one mix control. - [Screen capture](https://docs.tune.toys/nodes/video.display.md): A window, tab or whole display as one video stream, chosen by the person each time it starts. - [Image](https://docs.tune.toys/nodes/video.image.md): A declared image asset as a still video stream, for logos, backgrounds and keys. - [Multiview](https://docs.tune.toys/nodes/video.multiview.md): Tile a bundle of streams into one picture with labels, for monitoring. - [Paint surface](https://docs.tune.toys/nodes/video.paint.md): A transparent surface the paint widget draws on, as one video stream to composite over anything. - [Pixelate](https://docs.tune.toys/nodes/video.pixelate.md): Mosaic cells and posterised levels for a chunky look. - [Select streams](https://docs.tune.toys/nodes/video.select.md): Extract a contiguous range of streams from a video bundle. - [Snapshot](https://docs.tune.toys/nodes/video.snapshot.md): Capture the newest frame as a still when the shutter fires; the host saves it. - [Switcher](https://docs.tune.toys/nodes/video.switch.md): Cut or transition between up to four sources; outputs the program. The face of the switcher widget. - [Text layer](https://docs.tune.toys/nodes/video.text.md): Renders a text template as a transparent video stream; {1} to {8} in the template show control lanes. Scoreboards and lower thirds. - [Transform](https://docs.tune.toys/nodes/video.transform.md): Move, scale, rotate, crop and mirror a stream, and set the output size. Also the resize node. - [Web frame](https://docs.tune.toys/nodes/web.frame.md): A sandboxed web page shown by a web widget, exchanging messages only with its declared origin. - [Web request](https://docs.tune.toys/nodes/web.request.md): Fetch a URL on each trigger under the network allowlist; secrets come from a vault slot, never the Toy. - [Web scrape](https://docs.tune.toys/nodes/web.scrape.md): Fetch a page through the proxy and extract text, rows or links with a CSS selector; scripts never run. - [WebSocket](https://docs.tune.toys/nodes/web.socket.md): Keep a WebSocket open to an allowlisted host, sending and receiving messages with optional reconnect. ## Concepts - [Concepts](https://docs.tune.toys/concepts.md): Cables, groups, Frames, presets, MIDI, multichannel audio and patch lock. - [Buses](https://docs.tune.toys/concepts/buses.md): Named wireless connections inside one definition. A Send names a bus; Receives pick it up without a cable. - [Cables and channels](https://docs.tune.toys/concepts/cables.md): Cables carry audio between nodes. Their channel count follows the ports they connect. - [Control lanes](https://docs.tune.toys/concepts/control-lanes.md): Control cables carry block-rate values, normally 0 to 1, that plug into any parameter through its socket. - [Data cables](https://docs.tune.toys/concepts/data-cables.md): The fifth cable type carries structured messages between host nodes; datatypes, widening and bridges into sound. - [Frames](https://docs.tune.toys/concepts/frames.md): A Frame is the playable face of a Toy: controls bound to its public parameters. - [Groups](https://docs.tune.toys/concepts/groups.md): A group is a reusable sub-patch. Each instance has its own state. - [MIDI cables](https://docs.tune.toys/concepts/midi-cables.md): A MIDI cable is one stream carrying all 16 MIDI channels, with sample-accurate timing inside the engine. - [MIDI](https://docs.tune.toys/concepts/midi.md): MIDI notes play instruments and MIDI CC messages can move controls. - [Multichannel audio](https://docs.tune.toys/concepts/multichannel.md): Audio bundles carry from 1 to 32 channels. Widths are inferred and checked. - [Patch lock](https://docs.tune.toys/concepts/patch-lock.md): Patch lock protects a patch from accidental edits while you play. - [Presets](https://docs.tune.toys/concepts/presets.md): A preset is a named set of public parameter values you can recall. - [Secrets and the vault](https://docs.tune.toys/concepts/secrets.md): Toys name vault slots, never key values; your keys stay in the account vault and are used only by the server. - [Sensing](https://docs.tune.toys/concepts/sensing.md): Sensor nodes read a video stream or the device and give back fixed, labelled control lanes from 0 to 1. - [Takes](https://docs.tune.toys/concepts/takes.md): A take records one performance as timestamped events; it replays online or offline and exports as audio, MIDI or video. - [Video](https://docs.tune.toys/concepts/video.md): Video cables carry frames of pictures from sources through effects to a live Screen in a Frame. - [Voices](https://docs.tune.toys/concepts/voices.md): Give a group voices and it plays chords. Each note gets its own copy of the group, with its own state. ## Components - [Components reference](https://docs.tune.toys/components.md): The controls and displays you can place in a Frame. - [Toggle, momentary and trigger](https://docs.tune.toys/components/buttons.md): Switches and buttons: stay on, on while held, or a short pulse. - [Envelope editor](https://docs.tune.toys/components/envelope.md): An interactive ADSR curve for an envelope node. - [Filter editor](https://docs.tune.toys/components/filter.md): An interactive frequency response curve for a filter node. - [Knob](https://docs.tune.toys/components/knob.md): A rotary control bound to one public numeric parameter. - [Meter](https://docs.tune.toys/components/meter.md): A level display. - [Piano](https://docs.tune.toys/components/piano.md): A keyboard that plays a polyphonic voice node. - [Scope and spectrum](https://docs.tune.toys/components/scope.md): Live displays of a real signal: oscilloscope, FFT, spectrogram, XY/phase and tuner. - [Screen](https://docs.tune.toys/components/screen.md): Shows a verified image, muted video or a built-in scene. - [Segmented selector](https://docs.tune.toys/components/segmented.md): A named set of choices bound to one discrete parameter. - [Slider](https://docs.tune.toys/components/slider.md): A horizontal or vertical fill bar bound to one parameter. - [Text](https://docs.tune.toys/components/text.md): Static text and headings in a Frame. - [XY pad and joystick](https://docs.tune.toys/components/xy.md): Two distinct public parameters controlled by one surface. ## Guides - [Guides](https://docs.tune.toys/guides.md): Step-by-step lessons that start from a template. - [Build a browser delay effect](https://docs.tune.toys/guides/build-a-delay.md): Learn how a low-pass filter, delay time, feedback and mix shape a stereo echo in Tune.Toys. - [Make your first browser synthesizer](https://docs.tune.toys/guides/first-synth.md): Explore oscillator frequency, level and filtering with a playable sine-wave instrument template. - [Reuse a patch with independent controls](https://docs.tune.toys/guides/reusable-groups.md): Understand nested patches, independent instance state and reusable Frames using two stereo gain stages. ## Developers - [Developers](https://docs.tune.toys/developers.md): Use Tune.Toys from scripts, publisher automation and agents: API keys, limits, webhooks, embeds, MCP and schemas. - [Agent documents and llms.txt](https://docs.tune.toys/developers/agents.md): Machine-readable entry points for agents and crawlers. - [API route index](https://docs.tune.toys/developers/api.md): All 271 public operations of the Tune.Toys API 0.1.0, grouped by tag. - [Authentication and keys](https://docs.tune.toys/developers/authentication.md): Key format, scopes, lifetime, rotation, revocation and what keys can never do. - [Embed API](https://docs.tune.toys/developers/embed.md): Embed a playable Frame, a read-only Patch or a node card with an iframe and control it with postMessage. - [Errors](https://docs.tune.toys/developers/errors.md): The error envelope and the stable error codes. - [Idempotency](https://docs.tune.toys/developers/idempotency.md): Retry writes safely with an Idempotency-Key. - [MCP server](https://docs.tune.toys/developers/mcp.md): Let a local agent search the catalog, read node docs, validate Toys and edit your drafts. - [Pagination](https://docs.tune.toys/developers/pagination.md): Offset catalog pages, keyset cursors and sync cursors. - [Quickstart](https://docs.tune.toys/developers/quickstart.md): Create an API key and make your first authenticated request. - [Rate limits and quotas](https://docs.tune.toys/developers/rate-limits.md): Buckets, weights, headers and the 429 response. - [JSON Schemas](https://docs.tune.toys/developers/schemas.md): Published JSON Schemas for the Toy format and every platform contract. - [SDK](https://docs.tune.toys/developers/sdk.md): The TypeScript client for the Tune.Toys API. - [Webhooks](https://docs.tune.toys/developers/webhooks.md): Signed event deliveries for product events (pro apps). ## Contributors - [Contributors](https://docs.tune.toys/contributors.md): Selected engineering documents from the repository. - [System architecture](https://docs.tune.toys/contributors/architecture-overview.md): This document answers three questions for anyone changing the repository: which layer a piece of code belongs to, which folder owns it, and what it is allowed to depend on. Tune.To - [Authoring for people and agents](https://docs.tune.toys/contributors/authoring-agents.md): How do the graph editor, the Frame designer, the in-app prompt panel and later CLI/MCP adapters change a Toy without bypassing one another? Every author, human or model, goes throu - [Collaborative community](https://docs.tune.toys/contributors/community.md): What does the full collaborative social community platform require, what exists, and what is still missing? This document is the requirements-and-evidence record for that active ob - [Contributing](https://docs.tune.toys/contributors/contributing.md): Start with MVP scope, the architecture overview and the README of the folder you intend to change. AGENTS.md is the working agreement for humans and agents and takes precedence whe - [Architecture decisions](https://docs.tune.toys/contributors/decisions.md): Dated architecture decision records and their status. - [Developer platform](https://docs.tune.toys/contributors/developer-platform.md): Developer platform design: keys, limits, webhooks, OpenAPI and MCP. - [Discovery and public pages](https://docs.tune.toys/contributors/discovery.md): How does someone who is not signed in find, hear and save a Toy, and how do search engines and social cards see it? This document covers the public routes the API serves, card prev - [Publishing, libraries and Player](https://docs.tune.toys/contributors/distribution.md): What happens between "I accepted an edit" and "someone else hears it in their DAW"? This document describes the delivery paths that start from one immutable release: web links, the - [Shared DSP primitives](https://docs.tune.toys/contributors/dsp-primitives.md): This document answers which processors the shared engine provides, where their numeric contracts come from, and what bounds, latency and evidence apply. The same Rust kernels serve - [Execution and optimization](https://docs.tune.toys/contributors/execution.md): This document answers how one Rust processing core runs in a browser tab, a DAW plugin and an exported product, what the audio thread may and may not do, and how performance work i - [Frames and interface composition](https://docs.tune.toys/contributors/frames.md): This document answers what a Frame is, how its controls bind to a running instance, which widget kinds exist, and what every host must do when it mounts one. A Frame is a declarati - [Container and single-server hosting](https://docs.tune.toys/contributors/hosting.md): Container image, host preparation, promotion and the docs.tune.toys static site. - [Compact nodes and shared interface components](https://docs.tune.toys/contributors/interface-components.md): This document answers how Patch nodes are sized, how interface components are placed in Patch and Frame Design from one palette, which control faces and displays exist, and the cap - [Multichannel audio bundles](https://docs.tune.toys/contributors/multichannel-audio.md): This document answers how an audio cable carries 1 to 32 lanes, how widths are inferred through nested definitions, which routers exist, and how each host maps logical lanes to rea - [MVP scope](https://docs.tune.toys/contributors/mvp.md): This document defines the first complete release: the journey that must work end to end, what each capability delivers at each stage, and the acceptance criteria that decide whethe - [Patch editor](https://docs.tune.toys/contributors/patch-editor.md): How does a creator wire a graph on the canvas, and what guarantees hold for every gesture? The patch editor is browser UI over React Flow and the shared authoring operations: every - [Releasing TuneToys app versions](https://docs.tune.toys/contributors/releases.md): How an app version is built, qualified, promoted and rolled back. - [Trust and service boundaries](https://docs.tune.toys/contributors/security.md): Which data is trusted, which code is trusted, and who may do what on which host? This document states the trust boundaries the platform is designed around. It is a design, not a se - [Toy source format 0.1.0](https://docs.tune.toys/contributors/toy-format.md): This specification governs the portable .toy.json document: what it contains, which references must resolve, which bounds every host enforces, and which parts are still draft. It i - [Product vision](https://docs.tune.toys/contributors/vision.md): Tune.Toys lets developers, musicians, curious users and agents create and distribute playable software. It begins with audio instruments and effects and keeps a foundation for logi - [Customizable editor workspace](https://docs.tune.toys/contributors/workspace-layout.md): How can a creator arrange Patch, Frame Design, Preview, Source JSON, Properties, Layers and History the way they work, and trust that none of it leaks into the Toy? The workspace i ## Releases - [Releases](https://docs.tune.toys/releases.md): What changed in each Tune.Toys app version. - [0.0.2 (in development)](https://docs.tune.toys/releases/0-0-2.md): The v0.0.2 sprint: listings, storefronts, versions, notifications, localization, sharing, embedding, documentation and the developer platform. ## Glossary - [Glossary](https://docs.tune.toys/glossary.md): The vocabulary used across Tune.Toys. ## Optional - [Full documentation as one file](https://docs.tune.toys/llms-full.txt) - [Sitemap](https://docs.tune.toys/sitemap.xml) - [API reference (Swagger UI)](https://tune.toys/developers) - [OpenAPI 3.1 document](https://tune.toys/v1/openapi.json)