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.