F.A.P.S (Funscript - Audio Processing System) by CaptainHarlock

Just stumbled upon your post last night and downloaded the latest version, extracted with WinRar as insisted, ran install.bat which completed without issue. However, run.bat crashes within a 1/2 second once the commands begin to populate the screen. I’m using Win 11 x64 on a pretty underpowered machine, with no Vram. I’m hoping you or someone can help with a few things to try. Your program looks awesome dude, and I have been getting by with the OG Funscript Generator for quite some time…often running the results through Fun Expander or funscript.io. This has yeilded a couple thousand decent split-screen pmv scripts which I’ve never posted due to the nit picking naysayers hellbent on perfectionism in this group lol

Any suggestions appreciated. I have a feeling I’ll be forced to buy an upgraded machine, which I would love to…but I travel so frequently for work that this Mini PC is too damn convenient.

Thank you for sharing your work

1 Like

Just found this as I scrolled up from my comment. Using WinRar I extracted the three items, and moved/replaced those in the full program download. Attempted to run it again, but it still crashes very fast. If you figure anything out, of suggest an earlier version…please keep me posted. Thanks man!

You’re welcome! :wink:
I wish you could use the program, but if you say you don’t have VRAM, I assume you mean you don’t have an Nvidia or AMD GPU; in that case, you won’t be able to use the app. I’m sorry, but to use the latest AI models in the app, you need a GPU :sweat_smile:
The official app supports Nvidia GPUs from the 10xx Series up to the 50xx Series, and a user later created a port to make it work with some AMD GPUs, though it’s still in testing.
But if you don’t have one of those, and you’re using the CPU’s integrated graphics card, it won’t work for you.
I hope you can find a computer—even an older one—that has a compatible GPU so you can use the app.

1 Like


i am getting this error trying to run it

A known issue with VLC…
Check this please: F.A.P.S (Funscript - Audio Processing System) by CaptainHarlock - #210 by galesp

thx!

1 Like

Hey, just want to say this program is working great for me so far. Are there any plans to support generating and syncing funscripts off browser videos? I have a working Chrome extension that would grab videos, generate funscripts from them, and sync them as the video plays in the browser. The funscripts were nowhere as accurate as the ones this program generates. It would be great to see this added as a feature. Feel free to DM me and I can give you more details about how this works.

1 Like

Hi! I’m glad to hear it’s working well for you! :wink:
I don’t think what you’re saying is possible, the app is so accurate precisely because of the AI analysis processes it performs. If you’ve used the app, you’ve probably noticed that the “AI Analysis” takes some time, but generating the Funscript is almost instantaneous. For videos from the internet, you ultimately have to download the video to perform that process; I think that’s unavoidable.

Not saying it has to be instantaneous but I was able to minimize the entire process from downloading (yt-dlp), generating, and syncing to the video to around 20-30 seconds on 5-10 min videos and avg DL speeds. If someone were to do that manually, it would usually take well more than a minute. Regardless of the wait time on AI analysis, I don’t think people would mind waiting a bit longer if that means they can pull up a video and sync it up directly from their browsers.

But I don’t see the advantage beyond syncing with the video, something I think can already be done with other apps if you already have the Funscript. I mean, if you still have to download the video to use it in the app, what real benefit would that provide? The app already has a “Queue” tab for automatic processing, but honestly, I put it there in case anyone was interested; I personally never use it. I prefer to create the funscript with a specific mood (whether or not using Edge & Cum blocks) and then check it with Point Editor to make sure it actually fits nicely with the music. If I need to tweak a parameter, I can quickly regenerate the funscript in seconds and check it again; and I do this with several moods (if you check my posts, you’ll see that every video I upload has multiple funscripts for several moods) So I think this isn’t an app for “doing it quickly,” but for doing it right, even if it takes more time.
The app also offers several types of AI analysis, ranging from the basic Demucs (4 stems) to more advanced options like Roformer+DumSep (6 stems + 5 drum stems), which takes longer to process, as well as experimental ones like Hypno or Edging (Whisper) and JOIs (Whispers + LLM models)… These processes take some time to complete :sweat_smile:
Don’t get me wrong, I understand your approach, and maybe at the rate things are progressing, one day it’ll be possible to do it quickly and right, but I don’t think we’re there.
Anyway, if you’d like, you can give me more details about the pipeline you have in mind.

Cooking…

A new mood with a very different approach from the previous ones, lol
No audio analysis in this case, instead, it uses visual analysis. It’s used to generate movement (half or full) for videos that use bars to mark the moment of the stroke.
It hasn’t been easy to get here; I’ve had to test several different methods, but I think I’ve found the right one. I can’t rule out some false positives, it all depends on the type of markers and points used in the video, and the settings used for detection, but the truth is that the result is VERY good, achieving 100% effectiveness in some cases!

4 Likes

Here is an example of the result…

Things to note:

  • Time taken to adjust and create the funscript: ~9 minutes (video length: 36 minutes)
  • No editing was done; this is the result as provided by the “Beat Rider” mood
  • There are areas where the points turn from pink to white; in these areas, the points were clearly not detected. In these cases, it would be necessary to run a second pass for the white points and use “Combinator” to add those areas to the funscript created from the pink areas.
  • If you notice that the exact point of movement doesn’t align millimetrically with the center point, it’s because that center point can’t be used for detection, so there’s always a slight delay. However, that delay can be easily adjusted; I just didn’t want to bother with it.

Funscript:
Cock Hero - Duro 2 (Beat Rider).funscript (100.0 KB)

Post with the video:
https://discuss.eroscripts.com/t/cock-hero-duro-2/95032

I’ve added a couple of features that simplify the process even further:

  • Color picker and automatic adjustment of HSV parameters
  • Automated delay calculation

Here’s a video showing it in action, in real time, using a 1m29s test clip:

Here’s a video of the result:

1 Like

This beat bar following tool looks like magic.
I’m using an an Nvidia MX350 that only has 2GB VRAM, it’s basically a detuned 10xx series chip slightly slower and they left VRAM behind. Will the audio processing work at all where it pushes things more off layers off to CPU and RAM and takes more time, or will it just crash?

1 Like

Thanks!
Phew, I think 2GB might not be enough, but you can give it a try. For Demucs (4-stem separation), 4GB is recommended, but you might not need that much for the proces, you’ll have to try it out. What you most likely won’t be able to use are the “SixthSense” and “Pulse” moods, since they use Roformer (6-stem separation + 5 drum stems) and usually require 6GB of VRAM. As for the “Hypno” and “Edging” moods, assuming Demucs works for you, using them with the Whisper Small model should work. For JOIs that use LLM models, forget about them, there’s no way they’ll work for you.
As for “Beat Rider,” it uses visual analysis rather than voice analysis, and it’s very lightweight, so it should work for you.
Another thing to keep in mind is that the app has been tested on models ranging from the 10xx Series to the 50xx Series, but I don’t know if your model will work; if it uses the same “sm” as the 10xx Series, it should work for you.

1 Like

Hey Galesp, just wondering if you are ready to showcase some of the JOI modes? I understand they are experiental / work in progress but I am super interested in what is possible in this area. Thanks

1 Like

I’ll be uploading the new version (v0.9) today or tomorrow. In this version, I’ve focused on checking the musical moods and making some minor adjustments where necessary, or, as I’ve done in several cases, adding some new options; I’ve also fixed a few minor issues and added missing translations.
With that, barring any issues that might arise or interesting suggestions anyone might have, I think I’ll consider the musical moods finished, that is: “Normal”, “Relaxed”, “Slow”, “Simple”, “Crazy”, “Crazy+Voice”, “Fap Mixer”, and “AUTO”
; and also “SixthSense” and “Pulse”.
After this, my intention is to check the “Hypno” and “Edging” moods, which are easier and quicker to check than the “JOIs”, but I’ll also check the “JOIs” later. But for any of these mentioned moods, I think the most important point is to have good “word>reaction” or “phrase>reaction” mapping; that is, I can check whether it obeys or not, or how it does so, or in what way or with which model it performs best, but the mapping is key; and for that, I think it would be helpful to get guidance on which words/phrases to use and which actions/patterns to map them to, because right now there’s only the most basic and frequently used elements in that type of video, but there could certainly be much more configured there.
Remember that this configuration can be saved and shared, so I hope someone who’s really into this kind of video can take the time to create a good configuration for the “keywords” or phrases.

BTW, here’s a preview of the changelog for v0.9:

  • “Edge & Cum”: Added “Generate & Preview” inside “Edge & Cum”: Allows fine-tuning of Edge & Cum patterns, and the edits can be saved to apply them to any generated Funscript (baked points); these edits are also saved when the project is saved

  • “Point Editor”: Added option to move forward/backward by song

  • “Point Editor”: Increased the maximum zoom in

  • “Point Editor”: Added volume control for the preview

  • “Preview Card”: Added an option to generate animated GIFs, with various quality profiles, including one designed to create GIFs compatible with the EroScripts preview

  • “Fap Mixer”: Added a dropdown menu for selecting stems per block directly in the main UI (previously this had to be done in Configure AI).

  • “Fap Mixer”: Added a new, improved method for assigning stems to blocks.

  • “Fap Mixer”: Added a “Simplif” slider to prevent the excessive creation of useless points (RDP filter).

  • “Normal”: Added “By Section” checkbox that automatically adjusts the “Spacing” value based on section type (starting from the current value in Spacing)

  • “Simple”: Added “Beats by Section” checkbox that automatically adjusts the “Beats” value based on section type (starting from the current value in Beats)

  • “Simple”: Added “RMS Windows by Section” checkbox that automatically adjusts the “RMS Windows by Section” value based on section type (starting from the current value in RMS Window)

  • ‘Slow’: Fixed an issue in the formula that caused flat or very slow-moving parts of the funscript.

  • “Slow”: Added “By Section” checkbox that automatically adjusts the intensity of the movement based on the section type

  • ‘Slow’: Added “Min RMS Energy” slider to set a minimum movement

  • “Slow”: Fixed an issue with the Ease-In that generated many consecutive useless points

  • “Relaxed”: Added a dropdown menu to add extra movement to slower sections (4 patterns to choose from; can be applied only on ups, only on downs, or both, with a threshold control for applying it)

  • “Crazy”: No longer generates movement in parts of songs that the user has disabled (intro, between songs, ending)

  • “Crazy”: Added an RDP filter to prevent the creation of unnecessary redundant points

  • “Crazy”: Added a filter to prevent the generation of “flat zones” that caused short stutters.

  • “Crazy+Voice”: Added an RDP filter to prevent the creation of unnecessary redundant points

  • “Crazy+Voice”: Added a filter to prevent the generation of “flat zones” that caused short stutters.

  • “Heatmap”: Resolution enhanced

  • Fixed MANY minor issues

  • Added more missing translations

  • Added VLC libraries: Avoids known compatibility issues with the user’s VLC versions

  • Added CPU fallback for All-in-One: Avoids a known issue with Nvidia 10xx Series GPUs (and likely other models not compatible with All-in-One via GPU)

  • Installation: There are now two installation files. “Install_Nvidia.bat,” which is the official installer currently in use. And “Install_AMD.bat,” which is experimental and based on the port created by user @Alexcreeds

2 Likes

I forgot these two:

  • New mood: “Beat Rider,” which takes a radically different approach from the rest; it doesn’t analyze audio but rather visual data, and is designed to quickly generate funscripts for videos that use a beat indicator (such as Cockheros and similar)
  • “Edge & Cum”: New method in “Analyze & Suggest” for automatically adding blocks, based on visual analysis (note: the video must contain relevant text such as “cum,” “stop,” etc. This is configurable)
3 Likes

looking forward new version :heart_eyes:

1 Like

I performed a full installation as shown in the first image, but it displays a message saying that libvlc.dll is missing from the installation folder.

I then retrieved libvlc.dll from VLC, but now the message shown in the second image appears and the software won’t start.