Skip to content

cociweb/AutoStepper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoStepper is a Java console program designed to automatically create StepMania SM files with these features:

Generate all difficulty levels
Generate holds & jumps
Obtain banner & background art
Run locally without interaction
Process multiple music files at once
Multiple beat detection methods
Cross-platform support

So, here it is -- AutoStepper by cociweb (www.github.com/cociweb/AutoStepper). You can build AutoStepper.jar from source using either Maven or javac. The output JAR and compiled classes will be placed in the build/ directory.

Building with Maven (Recommended)

Ensure you have Java 25 (OpenJDK 25) and Maven installed.

mvn clean package

The output JAR will be at:

build/AutoStepper.jar

Building with javac (Manual)

Ensure you have Java 25 (OpenJDK 25) installed. Run:

javac -d build -cp "lib/*" $(find src -name '*.java')

This compiles all sources into the build/ directory. To create a runnable JAR (optional):

jar cfe build/AutoStepper.jar autostepper.AutoStepper -C build . -C lib .

Running AutoStepper

To run the program after building:

java -jar build/AutoStepper.jar [arguments]

Replace [arguments] with your desired command-line options (see below).


The arguments are:

input=[file/dir] output=[songs dir] duration=[seconds to process] tap=[true/false] tapsync=[offset time in seconds for tap, default: -0.11] clearence=[seconds to keep clear] hard=[true/false] updatesm=[true/false]

Example:

java -jar ./dist/AutoStepper.jar input="./songs/" output="./SM/" duration=-1 hard=false clearence=10 tap=false

If you set tap=true, AutoStepper won't try and automatically calculate the BPM or offset, and will instead prompt you to hit ENTER along with 30 consecutive beats. AutoStepper will then do the rest.

It is best to let AutoStepper run through a whole bunch of music, and ones that it might not get exactly right -- to then pull out & use tap=true on them.

updatesm=true will look for existing .sm stepfiles using the same filenames generated by AutoStepper. If found, it will take the offset & BPM from those files & just update the steps. This is useful for updating steps generated with old versions of AutoStepper, or changing the "hard" argument without having to recaculate BPM/offset times.

You can also use the output as a base to further edit & perfect songs, with AutoStepper doing most of the dirty work.

I will add it is optimized for pad use, not keyboard use (e.g. difficulty isn't high enough).

cociweb, phr00t

** LICENSING: Modified MIT license to restrict commercial use & require attribution **

Copyright (c) 2026 cociweb, phr00t

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software with only commercial use restrictions & a requirement to attribute cociweb and phr00t. You are free to to use, copy, modify, merge, publish, distribute this Software for private, personal & non-commercial uses as long as cociweb and phr00t are attributed.

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

Java tool to automate StepMania SM generation. Complete generation with banner & background art, all difficulty levels, multiple beat detection methods etc.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors