Clear limits and recovery

Gesture Synth camera, sound and privacy FAQ

Find the exact recovery path for camera, sound, tracking, recording and sharing—and see what stays on your device.

Open the instrument

Camera and sound

Why does Gesture Synth ask for camera permission?

Camera mode uses the selected camera inside the current browser session to detect up to two hands and draw the mirrored performance. Choose No camera to play without requesting camera permission. Permission is requested only after you actively choose Camera and start; No camera uses mouse, touch or keyboard and does not load the hand model.

What should I do if camera permission is denied?

Allow Camera from the address bar or browser site settings, then choose Try again. If you do not want to grant access, switch to No camera immediately. A missing, busy or unsupported camera has the same No-camera escape path.

Why is there no sound?

Sound must be unlocked by a click. The live status then distinguishes loading, searching for a hand, an unstable gesture, fist mute, a missing chord hand, tracking loss and audio startup failure. In No camera, select a lane or press 1–5 after sound is unlocked.

Why did tracking stop or become slower?

Bring an open hand fully back into even front light and leave room around the fingertips. Gesture Synth waits for a stable reacquisition before playing again. On slower devices it can reduce the hand-model rate and show Performance reduced while keeping the audio arranger available.

Browsers, recording and sharing

Which browsers are supported?

The current physical evidence covers desktop Chrome on macOS. Desktop Edge follows an automated Chromium capability path but has not had a separate physical-device smoke. Android Chrome has automated responsive, touch and 9:16 recording evidence; iPhone Safari has responsive and MIME capability tests. Those mobile paths are not presented as physical-device approval. The page enables recording only when the running browser exposes every required API and a supported MIME type.

What is recorded?

Camera clips contain the mirrored camera, aligned hand feedback, observed/next/playing HUD, energy, mode, scene, key, brand and the same Web Audio mix you hear. No-camera clips contain a state-driven music visualizer instead of camera imagery. Landscape is composed at 1280×720 and portrait at 720×1280; both run for at most 15 seconds.

Which file format will I get?

The browser chooses a MediaRecorder format it actually reports as supported. Current Chromium usually produces WebM with Opus audio; an MP4 path is available only where the browser reports it. The file extension, Blob MIME and preview type use the same selected format.

Why is Share unavailable or failing?

File sharing depends on browser and operating-system support for the generated file. If Share is unsupported, cancelled or fails, the local preview remains and Download stays available. The current desktop test observed that fallback and Gesture Synth never turns a failed Share into data loss or an automatic upload.

Where is a downloaded file saved?

Your browser chooses the destination according to its download settings. Gesture Synth does not receive, store or analyze that file path. A local preview exists only in the current tab until you discard it, stop, hide or close the page.

Local processing and lifecycle

Are camera frames, hand landmarks or recordings uploaded?

No. Gesture Synth processes camera frames and raw hand landmarks in the current browser session. A recording is a temporary local Blob until the user explicitly downloads it or selects a destination in the system Share panel. None of that media or hand data is sent to Gesture Synth analytics. MediaPipe documents that its Tasks API may send Google non-input performance and utilization metrics; Gesture Synth self-hosts the model and runtime assets and discloses that separate provider behavior.

What happens after Stop, hiding or closing the page?

The app cancels frame processing and musical scheduling, stops camera, canvas and recording tracks, terminates the Worker, revokes preview Object URLs, disconnects audio nodes and closes the AudioContext. No-camera mode never creates camera resources.

Optional analytics and privacy choice

What does optional analytics measure?

Only after the user allows analytics, the released version can measure page identity and coarse steps such as input selected, audio ready, first chord, recording completed, shared or downloaded. It never sends camera, audio, recording Blob, landmarks, gesture paths or a chord sequence. Before that choice, Vercel Web Analytics, Google Analytics and Microsoft Clarity are not loaded by this application. Allowed values are limited to fixed enums, supported MIME categories and a rounded recording duration.

What is never sent to analytics?

Video, photos, audio, recording Blobs, Canvas images, raw landmarks, hand or pointer trajectories, the chord sequence, filenames, local paths, device labels, Share destinations and direct identity fields are excluded. The camera, performance HUD, calibration and recording preview are explicitly masked from Clarity in every mode and viewport.

How do I reject or withdraw analytics permission?

Choose Decline analytics in the first privacy choice, or reopen Privacy settings in the footer. Declining does not change the tool. Withdrawing a previous approval sends the providers a denied signal and reloads the page so already loaded session tooling is stopped. Only the coarse choice and its contract version are kept in local storage.

Vercel still serves the page and may process ordinary HTTPS request metadata under its hosting privacy policy, independently of this optional product analytics choice. That delivery metadata never contains camera frames, audio, recordings or hand landmarks.

Project and contact

Who operates Gesture Synth?

Gesture Synth is an independent browser music tool published at gesturesynth.net. It is not the official site of another same-name product, hardware maker or research project.

How can I contact the project?

The project does not currently publish a support inbox. No private account or unverified mailbox is shown as a contact address; adding a verified public channel is a post-launch trust follow-up.