Skip to main content
Glama

Audio fingerprint → visual

audio_fingerprint_to_visual

Analyzes 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

TableJSON Schema
NameRequiredDescriptionDefault
audio_sourceNoAudio 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_pathNoAudio file path. Required when audio_source='file'.
existing_chop_pathNoPath of an existing audio CHOP. Required when audio_source='existing_chop'. Pulled in via Select CHOP (cross-container wires fail).
sample_secNoSample window length in seconds the fingerprint is averaged over.
apply_top_opNoOptional path of a TOP to composite the chosen generator's output over (via a compositeTOP('over') built in apply_top_op's parent).
parent_pathNoParent COMP for the transient sampler and the dispatched generator./project1
dry_runNoWhen true: sample the audio, classify, and return the chosen mapping + params without instantiating the generator.
force_familyNoOverride the heuristic and force a family; params still tuned from the fingerprint.auto
expose_controlsNoForwarded to the dispatched generator's expose_controls flag.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses the full workflow: sampling, fingerprint extraction, heuristic mapping, parameter tuning, dispatch, and optional compositing via apply_top_op. Also explains the dry_run behavior and the rationale for the synthetic default. No contradictions with annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph covering the core algorithm, default behavior, and key options. It front-loads the main action, but could be more structured (e.g., bullet points for clarity). Still concise and informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters, no output schema, the description explains the algorithm and default rationale but does not describe the normal return value (the generated generator) or details of the heuristic mapping. The gap for normal-case output reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3. The description adds value beyond the schema by explaining why 'synthetic' is the default (macOS permission hangs) and clarifying dry_run's purpose (returns mapping without building). This justifies a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: sample audio, compute a 4-feature fingerprint, run a deterministic heuristic to pick a Layer 1 generator (naming specific options), and dispatch it with tuned parameters. This distinguishes it from sibling create_* tools as an orchestrator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on audio_source defaulting to 'synthetic' to avoid macOS mic-permission hangs, and mentions dry_run for testing. However, it does not explicitly contrast with using individual create_* tools directly, limiting when-not-to-use advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pantani/tdmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server