07 · Formats · Media pipeline

Old rhythm games hid songs everywhere.

RockHero Ripper turns owned game sources into a validated song model, converts charts and media, then emits the exact layouts modern rhythm games expect.

The conversion path

Normalise first.

A source may be a folder, ZIP, 7Z, RAR, Nintendo U8 archive, FSGIMG, FSAR, Xbox STFS package, ISO9660/UDF image, PSARC, Neversoft PAK, or Harmonix ARK/HDR pair. UniversalArchiveExtractor routes formats to bounded parsers, and the scanner collects chart, audio, metadata, artwork, and video hints into SongModel. Detection classifies Guitar Hero, Rock Band, YARG, or unknown material; validation returns structured failures rather than letting an exporter discover corruption halfway through a batch.

One chart model, several encodings

The chart layer parses text .chart, MIDI, SNG, and Guitar Hero QB data. SNG can be read as a legacy stream or package, emitted from chart or MIDI, and converted back to chart or RB3-compatible MIDI. Notes retain tick position, lane, duration, instrument and difficulty; tempo and time signatures remain first-class events. Exporters then materialise canonical names such as notes.sng, notes.chart, or notes.mid with the required song metadata and audio.

The chart editor operates on the same model for note, BPM, and time-signature changes, undo/redo, beat lines, waveform cache, and audio preview. Auto-charting uses FFT analysis, spectral-flux onset detection, and BPM estimation to create an editable starting point. Audio analysis can find likely events. It cannot know whether the chart is fun.

Workflow code belongs below the UI

RockHero.Ripper.Core owns scanning, extraction, parsing, conversion, validation, exporters, config, and logging. The Avalonia application adds MVVM navigation, pickers, progress, queueing, preview, library search, and diagnostics. The CLI is intentionally thin and reuses Core for detection and export-profile listing. Long operations accept cancellation and report progress through validation, export, and completion stages.

Hostile filesystems count

A central temp manager creates a session root, tracks work folders across extractors and converters, recreates the root if needed, and owns disposal. Cleanup chooses a simple delete for shallow trees or a depth-limited walk for hostile nesting. Parsers validate bounds, large disc-image files stream in chunks, and path-length and IO failures become controlled results.

Unsupported is a valid result: PFS/XISO variants are detected but not extracted, proprietary Xbox 360 GH3 DLC has no supported converter, and advanced RB3 venue/lighting authoring is absent. The tool is pre-release. Personal use only with content you own; no DRM bypass and no redistribution.