forgegen + FunScriptForge¶
forgegen and FunScriptForge are designed to work together. forgegen generates; FunScriptForge refines.
The handoff¶
forgegen outputs a .funscript file. That file is the handoff point.
The .funscript is a standard format — both tools read and write it. You can load the forgegen output directly into FunScriptForge without any conversion.
Why use both?¶
| forgegen produces | FunScriptForge adds |
|---|---|
| A beat-locked, mode-shaped draft | Micro-adjustments — smooth transitions, velocity shaping |
| Consistent phrase-level amplitude | Tone editing — feel and texture per section |
| A valid, playable funscript | Device-specific export (Handy limits, OSR2 multi-axis, estim) |
| A starting point in 30 seconds | The human touch that makes a script feel hand-crafted |
The generated draft is good — not perfect. FunScriptForge is where you take "good" to "great."
Typical workflow¶
- Drop your audio into forgegen. Choose a style. Generate.
- Download the
.funscript. This is your working draft. - Open the
.funscriptin FunScriptForge. Load the same media file for sync. - Review the heatmap. Look for phrases that feel off — too intense, too quiet, wrong pacing.
- Apply transforms in FunScriptForge. Tone-shape sections, adjust velocity, trim or extend phrases.
- Export per device. FunScriptForge handles device-specific constraints (velocity caps, range limits).
What forgegen intentionally leaves out¶
forgegen does not touch:
- Velocity limiting — FunScriptForge enforces device-specific speed limits
- Micro-timing — small positional nudges between beats
- Manual keyframes — any beat-by-beat editing
- Device export — Handy vs. OSR2 vs. estim format differences
These are FunScriptForge's domain. The split is intentional — each tool does one job well.
Using the draft without FunScriptForge¶
The forgegen output is a valid, playable funscript. You don't have to open FunScriptForge to use it — load it directly into SyncPlayer, MultiFunPlayer, or the Handy app.
For casual use or music-sync content where exact precision isn't critical, the generated draft is often good enough to play directly.