So I was working on my second chart with drums and thought there has to be an easier way…
Two days later and I present: the Clone Hero Drum Converter. Or whatever other name I happen to use for it next time I mention it, it changes every time.
This does pretty much exactly what it says on the tin. Grab a MIDI file for the song you’re working on, plug it into my program and it’ll give you clone hero-ready chart output.
Now, I should clarify one caveat: this data will never be perfect straight away. The idea is this speeds up your process drastically, but you do still need to do some work. After the import you’ll need to check over the toms and cymbals to make sure they aren’t breaking any charting guidelines and are wrapping well – the program can’t really do that as that’s a very human task.
What the program will do
- Create a Clone Hero drum chart template from your MIDI file
- Allow you to account for an intro delay by specifying where the first drum hit should fall
- Automatically process double kicks based on your own criteria
- Allow you to change any MIDI note data, letting you decide what drum is what pad.
- Allow you to create an entirely new chart from the data, which could speed up tempo mapping with beats to reference.
- Optionally optimise tom placements (MIDI creators tend to be quite inconsistent. Assuming your MIDI uses 1-6 toms, these will be spread evenly and consistently. Alternatively, define them yourself!)
- Generally, speed up your charting
So how do we use it?
First, download it from the end of this page. The program is written in Java and you will need a Java Runtime Environment to run it. Your computer probably already has that installed, but in the rare chance it doesn’t you can download it here.
Now that that’s out the way, a walkthrough!
- Find a MIDI file. This is the hardest part. I happened to have a few for my own songs already, but when I needed other songs I found the best results was to download Guitar Pro files (for example, from ultimate-guitar.com), then load those up and export as MIDI. It’s worth checking over for accuracy at this stage too – things like tempo don’t matter too much, but time signature and note positioning do.
- Load it into the program. Press “Open File” and navigate to your shiny new MIDI file.
- Set your options.
- If you’re just adding this to an existing chart, untick “Full File”. If you’re making a new chart to use for tempo mapping, leave it ticked.
- Open your song in Moonscraper or your chart editor, find where the first beat of your drums are and get the position (bottom-left corner in Moonscraper). Set “drum start time” to this number.
- If you don’t want double kicks to be processed, uncheck “Auto 2x Kick”
- If you are using double kick automatic processing, you can set the maximum delay here. This number is in position data (like your first beat). The math is the time of the last normal kick drum plus this number must be greater than current time to trigger a 2x modifier – so if your double kicks are 240 apart, it needs to be at least 241.
- Set the MIDI channel if appropriate. Most should be 10 by default, but I found ones created by Garageband for iPad were channel 1 for some reason.
- Adjust MIDI ticks if needed. Usually these will be fine so try the defaults first, there will only be issues if your MIDI files BPM is drastically different to your in-game one. See FAQ later for examples.
- (Optional) Set your notes. This is where MIDI notes are converted to Clone Hero chart notes. Each number in the box is a valid option, so by default any note 36 will become a kick drum, any 38 or 40 will become a red drum (snare), and so on. You can have as many numbers as you like, separated by commas. Any notes you want to ignore can go into Ignored Notes.
- Click Convert! Ideally, you should now get some output on the right side. If you did, great! Hit copy, open your chart in your favourite text editor (I recommend Sublime Text, but notepad works fine), and paste it at the end. If something went wrong, then this will display on the right side. The two most likely issues are either you have notes the program doesn’t understand (add them to a drum’s box, or to ignored notes), or your MIDI file doesn’t have data on the current channel (a list of data will be printed, try and guess your channel). In some cases with poor quality MIDI files you may also get a bad chart which is just totally wrong. If that happens, you’ll need to edit the MIDI file and remove other instrument data and leave only drums, but most of the time as long as the MIDI channels are set up, the program will just ignore other data.
- Load up your Chart Editor and fix everything up. You’ll need to go through and make sure things are aligned properly to your chart – in some cases it will be fine, sometimes you’ll need to move the whole chart (Ctrl+A). You also need to check that you don’t have consecutive toms/cymbals of different types on the same notes and adjust as accordingly.
Here’s a video example of the above steps. I don’t like talking so please do enjoy the awkward AI voice. This is for one of my band’s songs (Sternum || Structue – Wovenlung) which was produced using electronic drums, and this MIDI file is the exact one from the official track so this is an ideal case scenario and known to be 100% correct.
Download 1.2.0:
Extract with 7zip or similar then run the .jar file. You will need to install Java if you don’t already have it.
Source code for those who are interested is available here.
Changelog
1.0.0:
– Initial release
1.1.1:
– Ability to change tickrate
– Multiple MIDI channels to scan
– Additional default notes
– Better cymbal detection
– Double crash hit support
1.2.0:
– Massive overhaul to tom detection! If you use “Auto Tom Optimisation” (enabled by default) the program will check through your song, find all the toms in use, and divide them equally between yellow/blue/green. This makes tom rolls/fills feel much more natural in the initially generated chart
– Improved cymbal detection and double crash support again
– Disabled “full file” being enabled by default – more often than not you probably don’t want a full file.
– Open File now opens by default to where the program is, instead of your documents folder
– Max kick time is now inclusive (by default notes which are 96 apart will trigger 2x kick – previously at default only 95 or less would trigger.)
– Hopefully finalized default notes. I actually checked the MIDI standard this time, so most notes should be there now. Exceptions are everything above 60 (just too much to list and rarely used) and cowbell (56 – will vary depending on your chart and often charts as a tom; don’t use auto toms with cowbell.)
– Overall with a high quality, accurate MIDI file and a well tempo mapped song, the program should now give playable drums right out the box. If this is not the case, please let me know so I can improve further!
FAQ / Issues Section
After copying my drum data into my chart, my whole chart is misaligned!
Check if the “Full File” box is ticked – if you have an existing file, you want this off. If it was on you just copied in a bunch of basic chart metadata into your file. Check back in the .chart file in your text editor and find the start of where you pasted, there may be extra data there that you don’t need. If you see [Song] etc towards the end of your chart then that’s what you’ve done, your chart should only have one [Song] section. Delete this extra data, leaving only [ExpertDrums] and beyond.
I imported drums but they’re really slow/fast compared to the chart – double or half the length!
Your charts BPM isn’t the same as the MIDI file. Maybe you charted at 120bpm when the MIDI file was at 240bpm or something. This is fine – BPM affects how fast star power drains so high values aren’t great anyway!
To fix it, make use of the MIDI Ticks to Clone Hero Ticks section. By default, 1920 to 768 gives a MIDI/Clone Hero ratio of 2.5 and this should work fine when the BPM is the same. If your MIDI BPM is higher or your notes are too spaced out, increase the MIDI tickrate by the same percentage (so if your MIDI file is double BPM set it to 3840). Likewise, if the MIDI BPM is lower or the notes are too close together, reduce the MIDI tickrate. This is in 1.1 and above only.
I have a different problem/question!
Ok, join my Discord server from the link in the top menu and let me know!