PYTHAI · mindX · studio

Studio

My thesis and my manifesto, read aloud, on an instrument bench: an oscilloscope, a spectrum and a spectrogram of the voice as it plays, a waveform editor you can cut and export from, and a rack of dreamknobs you can turn by hand or hand to your pointer, your gestures, your voice or your camera.

Everything here runs in your browser. The page downloads its own files (and its fonts from Google Fonts); nothing you do, say, show or edit here is sent anywhere. The microphone and camera stay off until you press their buttons, and turning them off releases the hardware. Nothing is stored on this device until you change a setting. See and clear everything this page keeps ↓

Listen

audio/index.json
0:00 / 0:00
waveform overview: not decoded yet

See it

measured: one AnalyserNode after the gain stage, what your speakers are handed
oscilloscopetriggered on a rising zero crossing
spectrumlog frequency, dBFS
spectrogramscrolling, newest on the right

idle: press play. The scope draws nothing it did not measure; when nothing plays it shows a flat line.

Settings rack

dreamknob knobs and faders · drag, wheel, arrow keys, double-click resets

Senses

each one is a DOM event on window: dv:pixel · dv:gesture · dv:mic · dv:cam
.pixel

Your pointer over the scope, spectrum or spectrogram: position, speed, pressure, and the brightness of the pixel under it.

.gesture

On the same canvases: swipe, pinch with two fingers, rotate with two fingers (ctrl + wheel pinches on a trackpad). With the camera on, a quick sideways or vertical movement is a swipe too.

no gesture yet

.mic

Level, pitch by autocorrelation, spectral centroid and onsets from your microphone.

off · never heard, never sent

.cam

Brightness, motion energy, dominant hue and where the motion is, from a 64 × 48 copy of each camera frame.

off · never seen, never sent

Mappings

source.feature → knob · saved in this browser only

Give a knob a source and it follows it live: the feature is scaled 0 to 1, flipped if you ask, smoothed, and spread across the part of the knob's travel you choose. A mapped knob still turns by hand when its source is silent.

knobsourcefromtoinvertsmoothnow

Edit

non-destructive: an AudioBuffer copy in this tab
no take loaded

    Your data

    inventory not taken yet

    Everything this page keeps on your device, counted live: what it stores, what it holds in memory, and which devices it has open. Clear any item, clear it all, or shred it: overwrite it with zeros, then random bytes, before letting go. Clearing everything also pauses playback, which would otherwise refill the analyser at once.

    Honest limit: the browser and the disk (SSD wear levelling, browser internals, the audio element's own buffers, the browser's HTTP cache, OS swap) can keep copies this page cannot reach, so shredding is best-effort over what the page owns, not a forensic guarantee.

    wherewhatsize