Generate Clone Hero charts from any Spotify link with AI-powered note generation
  • Python 48.3%
  • HTML 25.4%
  • JavaScript 22.2%
  • Shell 4.1%
Find a file
Jack Wallner 204846e195 Convert spotify.py to public page scraping, drop API key requirement, update landing page
spotify.py: scrape public track page meta tags instead of Web API (og:title,
og:description, music:duration, og:image). No Spotify API keys needed.

index.js: remove all SPOTIFY_CLIENT_ID / SPOTIFY_CLIENT_SECRET references from
key status display, keys set command, and help text.

landing/: add full landing page with light mode design, 8 feature cards,
CLI reference table, playlist and lyrics documentation.

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
2026-05-11 00:18:15 -07:00
landing Convert spotify.py to public page scraping, drop API key requirement, update landing page 2026-05-11 00:18:15 -07:00
lib Convert spotify.py to public page scraping, drop API key requirement, update landing page 2026-05-11 00:18:15 -07:00
python Convert spotify.py to public page scraping, drop API key requirement, update landing page 2026-05-11 00:18:15 -07:00
.env.example Initial commit: AI-powered Clone Hero chart generator from Spotify links 2026-05-09 22:35:23 -07:00
.gitignore Initial commit: AI-powered Clone Hero chart generator from Spotify links 2026-05-09 22:35:23 -07:00
index.js Convert spotify.py to public page scraping, drop API key requirement, update landing page 2026-05-11 00:18:15 -07:00
package-lock.json Convert spotify.py to public page scraping, drop API key requirement, update landing page 2026-05-11 00:18:15 -07:00
package.json Convert spotify.py to public page scraping, drop API key requirement, update landing page 2026-05-11 00:18:15 -07:00
README.md Initial commit: AI-powered Clone Hero chart generator from Spotify links 2026-05-09 22:35:23 -07:00

🎸 Any Song Clone Hero CLI

Generate Clone Hero charts from any Spotify link — with AI-powered note generation, automatic difficulty scaling, and music video support.

songhero https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b --gemini --video

How It Works

  1. Resolve — Extracts song metadata from Spotify (no API key needed)
  2. Download — Fetches audio + music video from YouTube via yt-dlp
  3. Analyze — AI-powered audio analysis using librosa + Gemini
    • Beat & onset detection
    • Pitch-to-fret mapping
    • Section detection (verse, chorus, bridge)
  4. Generate — Creates .chart files with 4 difficulty levels
  5. Package — Outputs a complete Clone Hero song folder

Difficulty Levels

Difficulty Note Density Orange Fret Chords Description
Easy 25% No No Simple patterns on strong beats
Medium 50% No No Faster, more notes, no orange
Hard 70% Yes Yes Orange notes, some chords
Expert 90% Yes Yes Dense, all notes, complex patterns

Installation

Prerequisites

# macOS
brew install yt-dlp ffmpeg

# Python dependencies
pip3 install librosa soundfile numpy scipy

Install SongHero

git clone https://github.com/jackwallner/any-song-clone-hero-cli.git
cd any-song-clone-hero-cli
chmod +x index.js

Optional: Gemini AI Enhancement

export GEMINI_API_KEY="your-key-here"
# Or create a .env file
cp .env.example .env

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

Examples

# Quick chart (no AI, no video)
./index.js https://open.spotify.com/track/3DrNvXNKo4cr8YAjxvjgnp

# Full experience
./index.js spotify:track:0VjIjW4GlUZAMYd2vXMi3b --gemini --video

# Custom output
./index.js "https://open.spotify.com/track/..." --output ~/Documents/Charts

Output

Each song is saved as a Clone Hero-ready folder:

~/Desktop/Clone Hero/
└── Artist - Song Name (SongHero AI)/
    ├── notes.chart    # All 4 difficulties
    ├── song.ini       # Song metadata
    ├── song.opus      # High-quality audio
    ├── album.jpg      # Album artwork
    └── video.mp4      # Music video (if available)

Tech Stack

  • CLI: Node.js
  • Audio Analysis: Python (librosa, numpy, scipy)
  • AI Enhancement: Google Gemini 2.0 Flash
  • Downloads: yt-dlp + ffmpeg
  • Chart Format: Clone Hero .chart (MIDI-compatible)

License

MIT