Skip to content

About

Generate playable Rhythia maps (.rhm / .sspm / SSQE raw) from any local audio file — onset & beat analysis, adjustable difficulty

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Rhythia AutoMap

Generate playable beatmaps for Rhythia from any local audio file — fully offline, no manual charting.

Supports MP3, OGG, WAV, FLAC (FFmpeg enables M4A/AAC and other formats).

Features

  • Automatic BPM detection and beat tracking (or set --bpm manually)
  • Difficulty scale 1–10 (generator setting, not an official star rating)
  • Exports map.rhm (Rhythia), map.sspm (SSPM v2), and ssqe_raw.txt
  • Deterministic output via --seed

Installation

Requires Python 3.10+.

pip install -r requirements.txt

FFmpeg is optional but recommended for non-WAV/OGG/FLAC inputs.

Usage

python rhythia_automap.py "song.mp3" --difficulty 5

Generated files are saved to maps/<song_name>/ next to the script (map.rhm, map.sspm, ssqe_raw.txt, audio.ogg, report.json).

Useful options:

python rhythia_automap.py song.mp3 -d 8 --bpm 174 --preview --overwrite
  • -d, --difficulty — 1..10 (see table below)
  • --style — pattern style: auto (default), flow, stream, jump, chaos
  • --bpm, --beat-offset-ms — override automatic beat tracking
  • --offset-ms — shift notes in time
  • --density, --max-nps — control note frequency
  • --preview — also export OGG with ticks at note times
  • -o, --out — custom output directory

Difficulty

Scale from 1 to 10. Each level has its own profile: note cap (NPS), cursor speed, jump range, and rhythmic grid. Fractional values (e.g. 6.5) blend two levels.

Level Name Feel
1 Warmup Very sparse notes on the main beats, tiny steps, long repeated patterns
2 Easy Beats only, short sweeps, comfortable pace
3 Casual First off-beats, two-note subdivisions, small shapes
4 Standard Steady beat map with occasional 8th notes, wider shapes
5 Advanced Regular 8ths, longer motifs, occasional jumps
6 Intense 16th-note grid unlocked, faster cursor, bigger jumps mixed in
7 Expert Streams begin, jump patterns appear, sections change every 12 notes
8 Extreme Dense streams, burst sections, fast cursor, heavy jump usage
9 Master 32nd-note grid, very dense streams, near-constant movement
10 Omega Maximum everything: 48 NPS cap, 110 cells/sec cursor, jump spam

Levels 9–10 are intentionally extreme and may be unplayable for most people.

Styles

--style reshapes patterns without changing the difficulty scale:

  • auto — default; jump-pattern ratio follows the difficulty profile
  • flow — smooth and readable: adjacent movement only, no streams, no jumps
  • stream — dense, evenly-spaced note trains at a comfortable jump range
  • jump — long deliberate jumps everywhere, short pattern sections
  • chaos — no motifs at all; every note is an independent random cell

Example: an easy-but-jumpy map — python rhythia_automap.py song.mp3 -d 3 --style jump

Windows

Run start_windows.bat for an interactive prompt, or run_diagnostic_windows.bat if generation fails (saves a detailed log).

Disclaimer

Difficulty is a generator scale, not official stars. Always playtest maps before sharing.

About

Generate playable Rhythia maps (.rhm / .sspm / SSQE raw) from any local audio file — onset & beat analysis, adjustable difficulty

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages