⚠ Contains flashing images. Not suitable for people with photosensitive epilepsy.
About seeMusic
seeMusic was created by Thore Graepel and Claude (Anthropic's AI assistant) to make music visible. Each note becomes a spatial grating whose spatial frequency matches its pitch — finer stripes for high notes, coarser for low. Superimposed gratings create interference patterns just as overlapping light waves do.
MIDI mode
Select a preloaded MIDI file from the dropdown or click Load MIDI to use your own. Use Tempo to speed up or slow down playback. Connect a MIDI keyboard and enable Live to visualise what you play in real time.
Audio mode
Click Load Audio to open an MP3, WAV, OGG, or FLAC file. The audio is analysed in real time using an FFT, mapping all 88 piano keys (A0–C8) to gratings weighted by loudness.
Threshold — minimum loudness (dBFS) for a note to appear. The dashed line on the piano bar chart shows the current threshold.
Tilt — raises the threshold for high notes, reducing overtone clutter.
Top — maximum number of simultaneous notes shown.
Gain — amplifies note energies before mapping to brightness.
Smooth — temporal smoothing; higher values slow down the response.
For a cleaner visualisation you can pair the audio with MIDI note events instead of using the FFT:
Pair MIDI — load a matching .mid file; enable MIDI Vis to use it.
Transcribe — auto-transcribe the loaded audio to MIDI in the browser using Basic Pitch (Spotify's neural pitch detector). Processing takes roughly as long as the audio file; the result is cached until you load new audio.
Microphone mode
Click 🎤 Mic to visualise live audio from your microphone using the same FFT pipeline as Audio mode.
Render modes
Circles — each note produces concentric rings whose spacing reflects its pitch.
Grid — each note produces a set of parallel lines. Use Arms to set how many line directions are overlaid and Phase to rotate them.
Star — radial sectors tiled around the centre. Arms sets the number of sectors; adjacent sectors mirror each other for 2 arms, giving bilateral symmetry. Phase rotates the whole pattern.
Phase — phase-space reconstruction (see below).
Phase space mode
Based on Takens' embedding theorem (1981), each audio sample is mapped to a point (s(t), s(t+τ), s(t+2τ)) in 3-D space. As the audio plays, these points trace out the dynamical attractor of the sound. Pure tones produce ellipses; chords produce Lissajous figures; full music produces rich quasi-periodic attractors. The scene is fully interactive — drag to rotate, scroll to zoom, right-click to pan.
τ delay — time gap between coordinates. The optimal value is roughly one quarter of the dominant period (~1–5 ms for music). Too small collapses everything onto the diagonal; too large gives random scatter.
Trail — seconds of trajectory to accumulate. Longer trails reveal the full attractor; shorter trails show only recent dynamics.
Stride — samples skipped between points. Higher values give a coarser but faster portrait.
α (LP) — richness parameter that couples the LP cutoff to τ₁ via fcutoff = α/(2τ₁). α=1 is strict Nyquist for the embedding (cleanest attractor); higher values keep more harmonics at the cost of some aliasing.
Pt size — pixel size per point. With additive blending, dense attractor regions automatically appear brighter — no explicit density estimation needed.
3D / 2D — toggle between the full 3-D embedding and a flat 2-D projection onto the XY plane.
Reset trail — clears the accumulated portrait and starts fresh.
Phase space works with audio files and microphone input. In MIDI mode the last accumulated portrait stays frozen and can still be rotated and inspected.
Visual controls
SF Scale — zooms all gratings in (coarser) or out (finer) uniformly.
Waveform — grating profile: Sine (smooth), Square (sharp edges), Triangle, or Sawtooth.
Superposition — how multiple gratings combine: Sum (additive mix), Product (masking), or Max (loudest wins).
Color — maps each pitch class to a hue (C = red, +30° per semitone).
Hyp — hyperbolic warp: applies a tanh mapping that compresses the outer regions into a Poincaré-disk-like geometry.
Visual lead — how far ahead to look in the MIDI timeline, compensating for display latency.
Keyboard shortcuts
Space Play / Pause · A Toggle audio · V Toggle visual · F Fullscreen
0 Circles mode · 1–9 Grid mode with 1–9 arms
↑ / ↓ Zoom in / out (SF Scale) · ← / → Rotate colour wheel · - / + Phase rotation · Enter Flip CW / CCW · D Reset visual defaults
⚠ Photosensitivity warning: seeMusic produces rapidly changing visual patterns that may trigger seizures in people with photosensitive epilepsy or similar conditions. Use with caution or turn off the visual display if sensitive.