This project streamlines charting for Clone Hero, the free PC rhythm game inspired by Guitar Hero/Rock Band. It generates highly accurate, playable charts directly from audio tracks using advanced extraction techniques like isolating drum tracks from MIDI and extracting precise note data. The engine dramatically reduces the time and effort needed to create custom song charts, enabling efficient creation of multiple songs.
Project description
Auto-Chart Engine (ACE)
Overview
Clone Hero is a free rhythm game for PC, inspired by Guitar Hero and Rock Band, that allows players to create and play custom charts for any song. This project seeks to streamline and elevate the charting process by leveraging advanced extraction techniques to generate playable chart files directly from audio tracks. By isolating drum tracks from MIDI files and extracting precise note data, the engine produces highly accurate Clone Hero charts that accurately represent the original MIDI composition. This engine reduces the time required to chart a song, streamlining the creation of multiple songs in Clone Hero.
Links
- CLI Demonstration: https://youtu.be/5lndr9maaSY?si=u9W6KzgyaVSeP5da
- Git Repo: https://github.com/ryan-w-roche/auto-chart-engine
Install Instructions
Dependencies:
- In the terminal, enter in the following command:
pip install -r requirements.txt
- Install
fluidsynthwithchocolatey (Windows)orhomebrew (Mac)or your Linux package manager:
choco install fluidsynth
Software:
- Moonscraper (testing/BPM editing): https://github.com/FireFox2000000/Moonscraper-Chart-Editor
- Clone Hero (song playability): https://clonehero.net
CLI Usage
The Auto-Chart Engine CLI allows you to extract drum tracks from MIDI files and convert them into .chart files compatible with Clone Hero.
Basic Usage
python -m ace -i /path/to/your/midi/file.mid -o /optional/output/directory
Required Arguments:
-i, --input_dir: Path to the MIDI file you want to convert
Optional Arguments:
-o, --output_dir: Directory where output files will be saved (defaults to your Downloads folder)
Example
python -m ace -i "C:/Users/username/Music/my_song.mid" -o "C:/Users/username/Documents/CloneHero"
How It Works
- The CLI extracts the drum tracks from your MIDI file
- Generates a new MIDI file containing only the drum tracks (saved with suffix "_DRUMS")
- Based on the MIDI with the extracted drums, a
.oggversion of the midi is generated - Converts this drum-only MIDI file into a Clone Hero compatible
.chartfile
Generated Files
When you run the CLI, it produces 3 outputs:
- A MIDI file containing only the drum tracks (named
<original_filename>_DRUMS.mid) - A
.chartfile (named<original_filename>_DRUMS.chart) - A folder named
artist - <song_name> (ACE)- Contains
notes.chartandsong.oggfiles for Clone Hero
- Contains
Drum Mapping
The CLI maps standard drum notes to Clone Hero's drum notes:
- Kick → Line
- Snare → Red note
- Hi-Hat → Yellow cymbal
- 1st Tom → Yellow note
- 2nd Tom → Blue note
- 3rd Tom → Green note
- Crash → Green cymbal
- Ride → Blue cymbal
Troubleshooting
- For best results, use standard MIDI files with proper drum channel mapping (channel 10/9)
Import to Clone Hero Instructions
- Locate the generated folder titled
artist - <song> (ACE) - Copy/cut and paste into your Clone Her songs path
- In Clone Hero, go to
Settings→General→Scan Songs→Yes- This should create a
song.inifile in the folder that was copied into the Clone Hero songs path
- This should create a
- In the
song.inifile is more metadata you can edit, but the important one to edit is thediff_drumswhich categorizes the song based on drumming difficulty - Repeat the process in step
3to see the drum difficulty change - You are now ready to play your newly imported song!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file auto_chart_engine-2.0.0.tar.gz.
File metadata
- Download URL: auto_chart_engine-2.0.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f92804ec98331436122e2ee94c78be88a9d7349d4236ff62c71d673b67b051a
|
|
| MD5 |
9fab152530d58b08699d06064d6f78b8
|
|
| BLAKE2b-256 |
6575745f99313867da80893911ad0d1b1fa8ed65337160af2a479c747de709d4
|
File details
Details for the file auto_chart_engine-2.0.0-py3-none-any.whl.
File metadata
- Download URL: auto_chart_engine-2.0.0-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e5750772b523fd534d5f6d3750437b6fc8ad6a489e4e3c6e993f2cebda3cb30
|
|
| MD5 |
27bd05db22f46651a34bb2941151d726
|
|
| BLAKE2b-256 |
4d4c8700df08d746a249011920002791f12bfc40b1dec495941dbd13b5347c51
|