Audio fingerprint → visual
audio_fingerprint_to_visualAnalyzes audio to extract a 4-feature fingerprint and automatically dispatches a matching TouchDesigner visual generator with tuned parameters.
Instructions
Sample a few seconds of audio inside TouchDesigner, compute a 4-feature fingerprint (tempo, spectral centroid, onset density, dynamic range), run a deterministic heuristic mapping to pick a matching Layer 1 generator (create_glitch / create_audio_reactive / create_kaleidoscope / create_feedback_tunnel / create_feedback_network / create_gpu_particle_field), and dispatch it with parameters tuned to the fingerprint. Default audio_source='synthetic' to avoid macOS mic-permission hangs. dry_run=true returns the chosen mapping without building. apply_top_op composites the result over an existing TOP.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| audio_source | No | Audio source for fingerprinting. Defaults to 'synthetic' (a gated tone at the global tempo) because 'device' can hang TD on a macOS mic-permission modal — same rationale as detect_tempo. | synthetic |
| audio_file_path | No | Audio file path. Required when audio_source='file'. | |
| existing_chop_path | No | Path of an existing audio CHOP. Required when audio_source='existing_chop'. Pulled in via Select CHOP (cross-container wires fail). | |
| sample_sec | No | Sample window length in seconds the fingerprint is averaged over. | |
| apply_top_op | No | Optional path of a TOP to composite the chosen generator's output over (via a compositeTOP('over') built in apply_top_op's parent). | |
| parent_path | No | Parent COMP for the transient sampler and the dispatched generator. | /project1 |
| dry_run | No | When true: sample the audio, classify, and return the chosen mapping + params without instantiating the generator. | |
| force_family | No | Override the heuristic and force a family; params still tuned from the fingerprint. | auto |
| expose_controls | No | Forwarded to the dispatched generator's expose_controls flag. |