Skip to main content

StepMania tools

Project description

sm_tools

Tools to interact with stepmania and it's related filetypes (.sm in particular)

Motivation

There has been desire to do Data Science projects on stepmania data, like song difficulty modeling. The first tool in this repo is a step_parser, which will extract a feature set from a song directory to build models off of.

How to use

With checked out repo:

git clone git@github.com:JaceTSM/sm_tools.git
cd sm_tools

python src/step_parser/cli.py \
    /path/to/your/stepmania/songs \
    --output /path/to/output.csv

If you don't pass --output, it will default to writing the output to step_parser_output_${unix_ts}.csv.

As package:

pip install sm_tools

step_parser /path/to/your/stepmania/songs --output /path/to/output.csv

In python:

import os
from step_parser import analyze_stepchart, batch_analysis

# Get DF for all songs in a dir (recursive search)
sm_song_dir = "/mnt/c/Games/StepMania 5/Songs"
batch_analysis(sm_song_dir)

# Get DF for single .sm file
sample_stepchart = os.path.join(
    sm_song_dir,
    "Jimmy Jawns/Dreadnought - [Aoreo]/Dreadnought.sm"
)
analyze_stepchart(sample_stepchart)

Manual Package Installation

Create python virtualenv however you want, then:

# from project root, build the package
python -m build

# then install the wheel directly (the version number may be different)
pip install dist/sm_tools-0.0.1-py3-none-any.whl

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sm_tools-0.0.3.tar.gz (10.3 kB view hashes)

Uploaded Source

Built Distribution

sm_tools-0.0.3-py3-none-any.whl (12.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page