Windows-focused helper tools for managing large Paradiddle custom-song libraries and converting Clone Hero/YARG-style song folders into Paradiddle .rlrr charts.
This repo currently includes:
- Paradiddle Library Manager: searchable index, favorites, tags, playlists, and optional active-library subset management for very large song collections.
- Paradiddle Converter: Clone Hero/YARG folder to Paradiddle song-folder conversion using the official GPLv3 ParadiddleUtilities conversion code.
- Beginner Course Generator: creates a small playable beginner drum course with
.rlrrcharts and click-track audio.
These tools are unaffiliated with Paradiddle, Clone Hero, YARG, Rock Band, or Harmonix.
Paradiddle can load custom songs from Documents\Paradiddle\Songs, but the in-game song menu can get difficult to use once you have hundreds or thousands of tracks. The library manager keeps a fast external index and can make Paradiddle see only the subset you want to play right now.
The converter exists for people who already have rhythm-game song folders and want a practical path into Paradiddle without manually authoring each chart.
Requirements:
- Windows
- Python 3.10 or newer on
PATH - Git, if you are cloning from source
Setup:
git clone https://github.com/rrtrytcg/paradiddleTools.git
cd paradiddleTools
.\setup.ps1Launch:
Paradiddle Library Manager.cmd
Paradiddle Converter.cmd
Generate Beginner Course.cmd
The tools use the current Windows user profile:
Clone Hero source: %USERPROFILE%\Desktop\CH\PlayerData\Songs
Paradiddle songs: %USERPROFILE%\Documents\Paradiddle\Songs
Manager state: %USERPROFILE%\Documents\Paradiddle\LibraryManager\library_state.json
You can change the source/output folders in the GUIs.
The library manager starts in direct mode. It scans your existing Documents\Paradiddle\Songs folder in place and does not move your library on launch.
Features:
- search across title, artist, creator, folder, difficulty, and tags
- favorites
- custom tags
- named playlists
- cached metadata scans for large libraries
- optional managed mode for activating smaller song subsets
Managed mode is for large libraries where Paradiddle should only see a smaller active subset.
When you press Set Up Managed Library, the manager:
- Renames
Documents\Paradiddle\SongstoDocuments\Paradiddle\Songs_All. - Creates a new empty
Documents\Paradiddle\Songs. - Activates selected songs by creating Windows directory junctions from
Songsto folders insideSongs_All.
The manager removes only junctions/symlinks it controls during subset activation. Real folders in the active Songs folder are left alone and reported as unmanaged entries.
For big add/remove changes, relaunching Paradiddle after changing the active subset is still the safest workflow.
The converter reads Clone Hero/YARG-style folders with song.ini, notes.mid, and audio stems. It writes Paradiddle song folders containing .rlrr charts and copied audio files.
GUI:
Paradiddle Converter.cmd
Command-line dry run:
.\.venv\Scripts\python.exe .\src\paradiddle_tools\converter\ch_to_paradiddle.py "C:\Path\To\Song" --dry-runConvert one song:
.\.venv\Scripts\python.exe .\src\paradiddle_tools\converter\ch_to_paradiddle.py "C:\Path\To\Song"Bulk convert a folder:
.\.venv\Scripts\python.exe .\src\paradiddle_tools\converter\ch_to_paradiddle.py "C:\Path\To\Songs" --recursiveUseful options:
--mapping auto|rockband|guitarhero
--difficulty Expert
--include-empty
--dry-run
--json.\.venv\Scripts\python.exe .\src\paradiddle_tools\library_manager\paradiddle_library_manager.py --scan-reportGenerate a playable 12-lesson beginner drum course directly into your Paradiddle songs folder:
.\.venv\Scripts\python.exe .\src\paradiddle_tools\course_builder\generate_beginner_course.pyEach lesson becomes a normal Paradiddle custom-song folder with an Expert .rlrr chart, a generated click-track WAV, and lesson metadata.
ParadiddleTools/
Paradiddle Converter.cmd
Paradiddle Library Manager.cmd
setup.ps1
requirements.txt
src/paradiddle_tools/
course_builder/
converter/
library_manager/
third_party/ParadiddleUtilities-src/
This repo vendors ParadiddleUtilities:
https://github.com/emretanirgan/ParadiddleUtilities.git
commit 39d05fc
license GPL-3.0
The converter wraps its MIDI-to-RLRR conversion path and avoids launching its PyQt UI.
GPL-3.0. See LICENSE.