# MOULD - Misanthrope: drum chart draft

This is a full-song, machine-assisted working transcription from the audio supplied in the project. It is ready for a listening/playability review. It has not been verified note by note by a human drummer or play-tested in Clone Hero/YARG.

## Included

- `game/MOULD - Misanthrope/`: Expert 4-lane Pro Drums chart, song audio, song.ini, and embedded album artwork. Copy the whole `MOULD - Misanthrope` folder into your game's song library and rescan. Choose Expert drums/Pro Drums. Lower difficulties are not authored.
- `pdf/Misanthrope-drums.pdf`: three-page A4 score with a pickup, 134 full measures, section cues, and a condensed 15-measure rest.
- `score/Misanthrope-drums.musicxml`: editable percussion notation for a MusicXML editor such as MuseScore.
- `score/Misanthrope-drums.ly`: editable LilyPond engraving source.
- `score/Misanthrope-drums.mid`: General MIDI drum playback. This is distinct from the game's `notes.mid`.
- `Misanthrope-chart-preview.mp3`: original mix in the **left** channel, synthesized chart hits in the **right** channel. Headphones make comparison easier. This preview uses original recording timestamps, without the game lead-in. The synthesized timbres are only an aid to checking hit placement.
- `drum-events.csv`: editable inspection table of detected hits, source times, drum assignments, and evidence.
- `validation.json`: structural checks and game-lane adjustments.

## Interpretation and limitations

The working tempo is 196 BPM in 4/4. The first strong kick is near 0.19 seconds; the initial tom/cymbal attack is treated as an eighth-note pickup. The game audio has 2.259 seconds of silent lead-in so the pickup is playable. Keep the supplied song.ogg and notes.mid together: replacing the audio with an unpadded file would break synchronization.

The chart contains 976 hits, 71 tom markers and eight two-bar Star Power phrases. Four simultaneous tom/cymbal combinations needed an alternate game lane because two distinct instruments otherwise shared a color. The score retains the inferred acoustic instrument assignments.

Game MIDI preserves measured performance timing, with nearby simultaneous attacks consolidated (maximum change from measured onsets: about 18 ms). That number measures export changes, **not transcription accuracy**. The score rounds rhythms to sixteenths. One close pair of snare strokes uses adjacent sixteenths to preserve both hits. The sparse outro is particularly approximate in notation.

Tom registers are estimated from two prominent frequency groups around 80 and 108 Hz. Cymbal type estimates can confuse a crash played on a ride with a separate crash, or an open hi-hat with other cymbals. Open/closed hi-hat articulation, flams, ghost notes, and accents are not fully resolved. Separation artifacts can still produce missing or extra notes. Confidence values in the CSV are model or heuristic scores, not calibrated probabilities of correctness.

## Most useful listening checks

1. **0:00-0:25:** confirm the pickup, repeated groove, tom choices, and snare rolls.
2. **0:44-1:15:** compare cymbal/hat hits and check for missing strokes during the main groove.
3. **1:15-2:10:** inspect fills and changes in the repeated pattern.
4. **2:10-2:44:** check sparse outro hits and their timing. The score stops after the last charted hit; the game audio retains the recording's fading tail.

Corrections can be made in the project-root `chart-data.json`, which is the common source for the game and notation exporters. Edit the `notes` list there, then run `scripts/build_outputs.py` and `scripts/validate_and_preview.py` with `.work/venv/Scripts/python.exe`. Re-render the PDF from the `.ly` file with the project-local LilyPond executable. Running `scripts/assemble_chart.py` again replaces manual corrections with a fresh machine draft.

## Method and sources

Local separation used [Demucs](https://github.com/facebookresearch/demucs) (`htdemucs`) followed by the six-part MDX23C DrumSep model by aufr33 and jarredou, through [Audio Separator](https://github.com/nomadkaraoke/python-audio-separator). Transcription used [ADTOF PyTorch](https://github.com/xavriley/ADTOF-pytorch), with additional stem-transient checks and resonance rejection. The [ADTOF Plus reference](https://github.com/xavriley/adtof_plus_drum_transcription) informed the workflow. Game MIDI mapping was checked against the [drum format specification](https://github.com/TheNathannator/GuitarGame_ChartFormats/blob/main/docs/Chart-File-Formats/mid-format/Tracks/Drums.md).

The six generated WAV stems remain in the project under `source/stems/kit`, alongside the combined drum stem in `source/stems`. They are not duplicated in this download package.

A separate [MVSEP transcription job](https://mvsep.com/result/20260906195641-0f63e568c2-mould-hoping-as-a-coping-mechanism-01-misanthrope.m4a) was queued as a backup. Its output was not used in this draft.
