Made a 30min vid and track compiled with 88 of the blocks settings you can add from edge&cum configuration if you want to get a better idea of how they feel on playback. 15seconds each 5 second pause between. *last 8 10 sec each.
Hello, I’m trying to install this, but my python keeping crashing, i have install to lastest python version 3.14, window 11, AMD Radeon RX 6800, I’m stuck on something simple
many unvoiced JOI videos have a very simple heartbeat sounding beat indication sound
sometimes a tick, sometimes another sound
perhaps be able to select section of video to match the audio and scan for all of that sound on video to generate simple up+down for each beat or alternating up / down every second one.
or if the AI detection can just detect “oh this sound keeps repeating over and over lets detect for it”
I’ve used and enjoyed F.A.P.S for a long time, and eventually made a fairly large set of personal tweaks around the way I like to generate and edit scripts. I cleaned them up into one overlay update in case anyone else finds them useful.
This is an update pack for the original F.A.P.S v0.9 folder, not a standalone release. Back up your existing folder first, then extract this archive into the F.A.P.S root and overwrite when prompted. It does not include Python, models, or AI weights.
What I changed:
Fap Mixer improvements
Restored the normal/full Fap Mixer layout and generation approach.
Default setup is now intentionally simple: Primary = Drums, 1 beat, 100% intensity, range 0–100.
Secondary, Texture, Vibration, and Voice are disabled / “Do not use” by default, with zero extra influence.
Removed the repeated stem-role decision prompt; the default mapping is applied directly.
Added reusable stroke-shape options, including Linear, Bounce Hill, alternating-depth variants, and 50%/75% light-stroke variants.
Alternating shapes are designed around complete strokes rather than accidentally shortening half of a stroke.
The “Lower” alternating variants keep the lighter motion near the bottom; the “Upper” variants place it higher.
Bounce variants insert intermediate points to create a more rounded / elastic trajectory instead of a simple two-point triangle.
Force Full Range / speed behavior
Reworked Force Full Range so it is applied late in generation, after the musical pattern is made.
It now tries to expand motion toward the configured speed limit without erasing alternating-depth behavior.
Deep strokes get priority when timing is tight; lighter strokes preserve their intended relative range rather than flattening everything into the same movement.
The max-speed system is kept at 500 mm/s and was updated consistently across the generator, processing flow, metrics, and relevant UI displays.
SixthSense fixes
Simplified SixthSense around the Drums / Rhythm workflow.
Added the same shape-selector support used by Fap Mixer.
Fixed selector propagation so shape choices actually reach the generated script.
Corrected beat-clock handling for multi-song / sectioned analysis: beats are normalized to one canonical timeline before SixthSense uses them.
This should avoid the “DJ drift” feeling where the motion slowly falls off BPM and then snaps back into alignment every few bars.
The main bottom-impact timing is kept locked to the musical beat; shape processing only changes the path between those timed events.
Pulse
Reverted the experimental Pulse shaper changes after they proved too chaotic for normal use.
Kept Pulse closer to its original behavior.
Default minimum interval is now 35 ms.
Auto Director
Expanded Auto Director so it can choose between Fap Mixer, SixthSense, and Pulse by musical section instead of treating the whole track as one static mode.
The intention is stable verses/choruses leaning toward Fap Mixer or SixthSense, with Pulse available for less rhythmically stable intros, bridges, and transitions.
It reassesses on musical structure rather than a fixed four-second grid.
Improved section repetition so repeated chorus / verse sections are handled more consistently.
For motion below roughly 100 SPM, it can prefer Bounce Hill.
AI analysis and local processing
Added a batch analysis workflow for multiple selected files or a folder.
Batch defaults are set for multi-song videos and section-based mixing, with automatic section confirmation.
Added caching and local-first behavior for the main F/S/P analysis paths.
Reduced unnecessary repeat work while avoiding the unsafe whole-track cache shortcut that could cause audio/script timeline mismatches.
Voice classification is disabled by default to avoid unnecessary Hugging Face requests during normal analysis.
Added hardware utilization information in the UI.
Output files
Removed unnecessary DEBUG funscript output.
Generated filenames include the mood and shape in the parentheses, for example: APPETITE (Fap Mixer-BH-L50).funscript
Regenerating the same mood + shape overwrites that same file, so repeated parameter tweaks do not produce a pile of numbered duplicates.
Combinator workflow
Made the source-script list much more compact so more candidates fit on screen.
Reworked source layout into two banks: the first ten sources can be selected with number keys, while additional sources are available in the second bank with scrolling when needed.
Added “Cut Here” workflow for source switching at the current playhead.
Numeric switching and cuts work while paused as well as while playing.
Removed the old “Set as Base” dependency from that workflow.
Added playback shortcuts: Space for play/pause, J/L for ±5 seconds, and arrow-key playhead movement.
Reduced visual clutter while paused by hiding the colored source control-point overlays and leaving the clean waveform view.
Point Editor
Playback / timeline updates were streamlined to reduce unnecessary redraws and mouse-hover work during playback.
Added playback isolation work so opening Combinator does not unintentionally make a Point Editor video play at the same time.
This is still a personal mod pack rather than an official branch, so please keep a backup of your original folder. If you try it, I’d be interested to hear which generation shapes or Auto Director behaviors work best for you.
it has been nearly a month so i took the matter into my own hands and got “JOI Ticker” add-on created
however i had previously installed havoooc’s Community update and therefore already had a modified app.py file, so it is likely that you need to install havoooc’s Community update, and then be able to install JOI Ticker
installation Guide:
Download FAPS_v0.9_Community_Update_v1.0 (get from the post i am replying to)
Download Joi Ticker
Unzip Community Update into FAPS_v0.9 main folder
Unzip Joi Ticker into same folder
Joi Ticker Download
JOI Ticker quick start
Load the JOI video and select JOI Ticker as the mode.
Open Configure Ticks, seek to a clean occurrence, and mark a tight clip around one sound (typically 50–300 ms). The waveform is the timeline: drag it to seek, use the mouse wheel to zoom, right-drag to pan, or drag the orange clip handles. The transport also has exact previous/next-frame buttons.
Add extra reference clips when the sound changes or appears at a noticeably different speed.
Use Test detection and review matches with Previous/Next. Raise confidence to remove false matches; lower it to recover missed ticks. Increase the minimum gap if one sound is detected more than once.
Choose Alternating or Full up and down for every tick, save the configuration, and generate the script normally. Enable Handy Safe Mode to enforce Max Speed. When a tick rate is too fast for the full stroke, choose whether shortened strokes use the upper, middle, lower, or a non-repeating random range.
(havoooc if you are fine with it, we could merge these two into one download)