Song Hero icon

Any Song Clone Hero

Live

Generate custom Clone Hero charts from any Spotify link. Downloads audio, analyzes with AI, and produces 4-difficulty chart files — all from a single command.

The pitch

Clone Hero has thousands of community charts, but only for popular songs. If you want to play a song that doesn't have a chart, you're out of luck. Your alternative is spending 2+ hours manually placing notes in Moonscraper. This tool generates a playable chart for any song on Spotify in under 2 minutes.

Paste any Spotify link. The CLI resolves the metadata, downloads the audio from YouTube, runs it through librosa for beat/onset detection and pitch analysis, optionally enhances with Gemini AI, then outputs a .chart file with Easy, Medium, Hard, and Expert difficulties. Drag the folder into Clone Hero and play.

How it works

Resolve Extracts song metadata from Spotify (no API key needed)
Download Fetches audio + music video from YouTube via yt-dlp
Analyze Audio analysis: librosa for beat/onset detection & pitch-to-fret mapping, plus Gemini for note generation
Generate Creates .chart files with 4 difficulty levels (Easy → Expert)
Package Outputs a complete Clone Hero song folder, ready to play

Difficulty levels

Easy 25% note density, no orange fret, no chords — simple patterns on strong beats
Medium 50% note density, no orange fret — faster rhythms
Hard 70% note density, orange fret, some chords
Expert 90% note density, orange fret, chords — dense, all notes, complex patterns

Specs

CLI Node.js, single command entry point
Audio Python: librosa, numpy, scipy for beat/onset/pitch detection
AI Google Gemini 2.0 Flash (optional, for smarter note generation)
Downloads yt-dlp + ffmpeg for audio & video from YouTube
Format Clone Hero .chart format (MIDI-compatible)

What mattered

No API key required for basic use. Spotify metadata is scraped client-side. YouTube downloads work out of the box with yt-dlp. The only optional dependency is a Gemini key for AI-enhanced note generation.

4 difficulty levels from one analysis pass. The audio is analyzed once, then 4 chart variants are generated by scaling note density and enabling/disabling orange fret and chords. Easy removes 75% of notes, Expert keeps 90%.

Complete output, no assembly required. The output folder contains everything Clone Hero needs: notes.chart, song.ini, album art, audio, and optional video. Drag and drop to play immediately.

Usage

# Basic usage
./index.js <spotify_url>

# With AI enhancement + music video
./index.js <spotify_url> --gemini --video

# Full options
./index.js <spotify_url> [options]

Options:
  --gemini          Use Gemini AI for enhanced note generation
  --video           Force download music video
  --no-video        Skip music video download
  --output <dir>    Output directory (default: ~/Desktop/Clone Hero)
  --keep-temp       Keep temporary files

The goal wasn't to replace hand-crafted charts. It was to make any song playable in Clone Hero within 2 minutes. And not sound terrible.