SynthForge is an experimental, unofficial Synth Riders map generator. It runs as a small local web app: upload an audio file, choose generation settings, preview the generated level, and download a .synth file.
This project is a prototype. It is not affiliated with Synth Riders, Kluge Interactive, SynthRiderz, or any existing project named SynthForge.
- Repository: https://github.com/justinehler/SynthForge
- Static GitHub Pages home: https://justinehler.github.io/SynthForge/
The public Pages site is intentionally static for now. The actual generator requires a backend with Python and ffmpeg; that backend is planned for a VPS deployment later.
The exact https://synthforge.github.io URL would require control of the GitHub account or organization named synthforge, which is already occupied by an unrelated organization.
- Upload common audio files supported by
ffmpeg. - Estimate BPM and beat timing.
- Generate Synth Riders-style notes, rails, special notes, lights, effects, and obstacles.
- Choose between generator models:
Rules: the main model currently being tuned.Flow: experimental smooth/choreography-oriented model.Neural v0: untrained neural-style scaffold, mostly for future model integration.
- Preview generated maps in a simple 3D-style canvas synced to audio playback.
- Switch preview between generated difficulties.
- Export a downloadable
.synthpackage.
- Python 3.11+
ffmpegavailable onPATH- Python packages from
requirements.txt
Install dependencies:
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txtRun locally:
python3 server.pyThen open:
http://127.0.0.1:8765
Generated .synth files are written to generated/. They can contain uploaded audio, so this folder is ignored by Git by default.
GitHub Pages alone cannot run the current app because SynthForge needs a backend for uploads, ffmpeg, audio analysis, and .synth ZIP export. A practical first public deployment is:
- VPS hosts the Python app and generation backend.
- Optional static landing page or docs can live on GitHub Pages.
Later, the frontend could be split from the backend if needed.
This should remain clearly marked as an unofficial fan tool. Avoid training on encrypted or downloaded community maps unless mappers explicitly provide permission and usable source files/passwords.