This page is for my portfolio and discusses the development of the converter. If you are looking to use the converter tool, please head to the page here.
The Clone Hero MIDI Drum Chart Converter is a terribly named program which converts musical MIDI data into chart data, which can be read by the game Clone Hero. The general concept is that so long as the provided MIDI data has accurate drums, these drums can be instantly converted to a format the game can read, which makes expert-level drums much more accessible for the players. Typically, third party charters often only chart the lead instrument of a song (usually guitar) – this tool hopes to drive the creation of more full-band custom song charts, which are ideal for collaborative play. The below video demonstrates the output from this tool – the guitar and bass tracks were manually charted, while the drums were generated by this tool:
The converter itself takes an object-oriented approach. The user enters some information about the MIDI file, such as which MIDI notes should correspond to the coloured notes in-game. A lot of this information is pre-entered for default settings but can be tweaked. The program then reads through the MIDI file, and creates a DrumObject for each note found on the drum track, containing the note ID, tick, and some metadata. The program then performs a verification pass, which will check over the cymbal and tom drum entries and attempt to condense them down to three tracks where possible – converting from a full-size drum kit to the game’s limited kit. Finally, it iterates through the list of DrumObjects, and compiles a .chart file compatible with Clone Hero. The tool is relatively simple and efficient and is designed to be easy to use.
The UI is designed using Java Swing. Due to the nature and usage of the tool, graphical implementation was not a priority, but the design is at least responsive and should display all needed fields on the vast majority of systems.
The source code is available on GitHub here. Clone Hero is a free-to-play game available here, although for the best experience third party hardware is required.