Emocute Visual

Talk to Claude — music videos that show every chord.

Just say "make an MV for this track" and it works. For more specific direction — for example,

"It's ambient, so use moonlit_sea_night. I also want the chord progression as the star, so try cof_pianoroll_green too and let me compare."

— describe it in natural English and Claude handles the entire pipeline (analysis, template selection, build, export) and returns a draft. You then refine it through conversation: which template, what to emphasize, what to swap. That's the harness.

Examples of conversational control

  • "It's ambient, so use moonlit_sea_night"
  • "I want the chord progression to be the star. Build with cof_pianoroll_green too so I can compare"
  • "Stretch it to 0.95x tempo, keep the key"
  • "Make Spotify Canvas (9:16 / 8s) for every track on the album, batch it"

The toolkit ships with 39 commands, 5 templates, and 9 parts. Claude composes them to fulfill your request. You don't need to learn the CLI (though you can).

When you want to direct it yourself, still through Claude

You can direct every detail yourself. Claude remains your starting point.

  • "Tell me the chord progression, BPM, and key for this song" → Claude runs detection and returns the result
  • "I want to emphasize the chord transition here on the Circle of Fifths" → it rewrites parameters for that section
  • "Cool color palette, calm down the wave motion" → it rewrites the relevant template and rebuilds
  • "I want to feed the chord progression I wrote in my DAW to a template" → MIDI import (midi-chords command)

You're not stuck with existing template combinations. Tell Claude "make the particles coarser," "explode the waveform only on the chorus," or "draw it as this shape instead of the circle of fifths," and Claude rewrites the shaders and helps you develop your own visual language. Source code is included; let Claude decide what to change and where.

The toolkit exports chord progressions, BPM, key, and audio descriptors as JSON, so you're free to take them into a DAW or another visualizer.

Three export pipelines

  • autopilot— From a single MP3 to a finished MV in one shot
  • build --auto-record— One click in the browser, auto-downloads MP4 when the song ends
  • webm-to-mp4— WebM → MP4 re-encode

Source-included, modifiable. Not a black box.

Key features

Circle of Fifths × chord visualizationDraws the chord progression on the Circle of Fifths (templates: cof_pad_keyboard / cof_pianoroll_green; parts: cof_chord_key / cof_bass_wave). A design that turns music theory directly into visual language.
Hardware-UI replica partsStratum Wave (layered spectral terrain), MPC Pads (4×4 matrix), Step Sequencer (16-step × 4-track), Lissajous (XY phase scope). Visual vocabulary that reads naturally to gear-literate listeners.
Chord recognition engineDetects chord progressions with BTC (Bi-directional Transformer for Chord recognition). Combines a 402-chord dictionary (maj9 / 7b9 / m11 / 13#11 etc.), ChordMatch which scores inversions / missing notes / extra notes, and sub-bin pitch detection.
Batch Spotify Canvas generationBatch-exports Canvas (9:16 / 8-second loop) for every track on an album. Per Spotify's own data, Canvas drives +5% streams, +145% shares, and +20% playlist adds.
MIDI → chord progression (midi-chords)Generates chords.json from MIDI exported by your DAW. A workflow for inputting chord progressions with higher confidence than auto-detection (feed your own progressions directly into templates).
Auxiliary commandsLRC / SRT lyrics import; crossfade joining.

What's included

  • mvtool.py + commands/ (39 commands / ~14,000 lines of Python total)
  • harmony.py + chord_defs.py (402-chord dictionary)
  • detect.py (the chord recognition engine itself)
  • Curated template library (WebGL2 shaders, all JS error-checked)
  • Sample track + MIDI bundled (sample/Emocute - Études Impossible.mp3 + the MIDI ZIP) — a felt piano IDM instrumental so you can do an end-to-end test the moment you buy.
  • 22 documents + CLAUDE.md (optimized for Claude Code integration)
  • License (commercial use OK / redistribution prohibited)

How to use

  1. Unzip the archive
  2. Launch Claude Code (the claude command) in the unzipped folder
  3. Place an MP3 and say "make an MV for this song"
  4. Claude reads the bundled CLAUDE.md and proceeds through template selection → HTML generation → browser playback

About accuracy (chord detection)

BTC's official Weighted Chord Symbol Recall (WCSR) scores are below. Training and evaluation data is Western pop (Beatles / Queen / Robbie Williams / UsPop2002 etc.).

  • Root only 83.8%
  • Maj-min (major/minor) 82.7%
  • Triads 75.9%
  • Sevenths 71.8%
  • Tetrads (with tensions) 65.5%
  • MIREX score 80.8%

It's not perfect. Expect roughly 1 in 4–5 detections to miss or land in a gray zone. J-pop, anime songs, Vocaloid, ambient, and electronic music are outside the training distribution, so accuracy drops further on those. In practice we recommend asking Claude to correct the generated chords.json ("this chord is wrong, change it to E"), or using the bundled ChordCoT prompt set to refine the progression with an LLM. Details in the bundled docs/FAQ.md.

Requirements

  • Recommended: Claude Pro / Max plan + Claude Code
  • Supported OS: macOS / Linux
  • Python 3.10+ / FFmpeg / Node.js + Puppeteer
  • Windows is unverified. Windows via WSL2 should work; native Windows is not currently supported.

Watch

Every music video Emocute released in 2026 was built with this toolkit.

https://x.com/emocutesounds

Price

$69 USD, one-time. Source included. Modifications allowed. No render limits.

Support

Read the bundled documentation first (MANUAL.html / docs/FAQ.md / memory/MEMORY.md). For unresolved issues, email support@emocutelab.com.

License & notes

  • Source code included (not a black box)
  • Commercial use OK (credit not required)
  • Redistribution prohibited (limited to individual / internal organization use)
  • Modifications are at the buyer's discretion