Create audio-reactive visual
create_audio_reactiveCreate a real-time audio-reactive visual by building an audio analysis chain (spectrum, level, optional beat) and rendering a spectrum visual in various styles (bars, radial, particles, ring, LED grid).
Instructions
Build an audio analysis chain (spectrum + level + optional beat) and a spectrum visual driven by it. Creates a new baseCOMP under parent_path holding the audio source, an Audio Spectrum CHOP, an Analyze level, an optional Beat CHOP, a CHOP-to-TOP texture with a Sensitivity gain, the GLSL visual, and a Null output. Each visual_style renders the spectrum its own way: glsl=horizontal bars, geometric=radial bars, particle=dot field, feedback=ring tunnel, instancing=LED grid. Returns a summary plus a JSON block with the container path, created node paths, the output path, exposed controls, any node errors, warnings, and an inline preview image. This is the only audio tool that produces a built-in visual: use extract_audio_features for level/bass/mid/treble channels or create_spectrum for per-band channels (no visual), and bind_audio_reactive to wire those channels onto an existing COMP's knobs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| duck_depth | No | How deeply the duck pulls toward 0 at peak level (0–1). | |
| parent_path | No | Parent network where the audio-reactive container is created (default '/project1'). | /project1 |
| audio_source | No | Where audio comes from: 'microphone'/'device_in' create an Audio Device In CHOP, 'file' an Audio File In CHOP (set audio_file_path), 'existing_chop' reuses an audio CHOP you already have (set existing_chop_path). | microphone |
| visual_style | Yes | How the spectrum is rendered: glsl=horizontal bars, geometric=radial bars, particle=dot field, feedback=ring tunnel, instancing=LED grid. | |
| beat_detection | No | When true (default), add a Beat CHOP driven by the audio source for tempo/beat signals. | |
| sidechain_duck | No | When true, add an inverted duck-envelope channel to the modulation Null CHOP (`mod1`). | |
| transient_gate | No | When true, add a transient/onset channel to a new modulation Null CHOP (`mod1`) for binding to parameters. | |
| audio_file_path | No | Path to an audio file to play; used only when audio_source='file'. | |
| duck_release_ms | No | Release time of the duck envelope in ms. | |
| expose_controls | No | When true (default), expose a live 'Sensitivity' knob controlling how strongly the audio drives the visual. | |
| frequency_bands | No | Spectrum resolution: sets the Audio Spectrum CHOP output length (TouchDesigner clamps it to 128–4096 bins). Higher = finer spectrum. | |
| transient_hold_ms | No | Transient hold time in ms before decay; used only when transient_gate=true. | |
| existing_chop_path | No | Path of an existing audio CHOP to analyze; used only when audio_source='existing_chop'. | |
| transient_threshold | No | Transient threshold (0–1); used only when transient_gate=true. |