GoblinScript - goblin assisted funscript drafting

Hello
I’ve already posted about using V-JEPA 2.1 for video synchronized funscript generation. here
I may share all the python slop separately at some unknown time in the future. Not trying to keep secrets just lazy.

This is just an inference app you can run on your computer it bundles the models.
What I previously neglected to mention was it is goblin based… refuses to elaborate

For real though it’s a windows rust TUI client which bundles onnx models in the executable and runs them using Microsoft’s DirectML which should make it GPU vendor agnostic.
ffmpeg in your PATH is required. Just install it via the windows package manager if you don’t have it winget install --id Gyan.FFmpeg.
It’s windows only.

If you launch the app and hear music, just remain calm it’s all part of the experience.
There’s a README.txt.

For VR the app will try to auto detect using aspect ratio so I’m not sure how robust that is but it should ask if the input is VR and require you to aim the camera for that video in the browser.
Depending on the video you’ll have to increase hfov, lens and degrees to get a correct reprojection.
ffmpeg VR 2D reprojection can be very slow and expensive. This is to say DO NOT point it at 8K footage 50GB+ files it won’t process in an acceptable amount of time. So I recommend just take the lowest resolution you can find.
You are free to do this reprojection with external tools.
I encourage experimentation.

Be prepared for minutes of processing time.

Please be an adult and don’t upload unsolicited AI scripts.
What you do with this is out of my control but I’d like it to be used as a first draft so that good scripts can be created with perhaps a little less drudgery.

Beware there’s no source code for this

I’ll try to continue to improve this until I hit a wall

23 Likes
3 Likes

OH MY FUCKING GOD THAT IS RAD AS HELL BRO

Have you ever played Warsim: The Realm of Aslona?

image

HOLY SHIT it’s playing I Did It My Way

This is the best tool I’ve ever used. Ever. Period. Haven’t even seen what it does yet.

3 Likes

I am equal parts confused, intrigued, and scared

1 Like

Razor 1911 INTENSIFIES

Your goblins are really impressive! :star_struck:

I’ve just tried this and it’s one of the coolest things I’ve ever used. Are you secretly Jeff Minter?

I’ve not tried the script it generated yet, but I will hopefully get chance later after work.

you people are too easily impressed by ASCII goblins…

due to popular demand in the next update the goblin chief will have learned to “bust a move”

I’m currently training a new model which should be more precise with timing and hopefully not fall apart during faster strokes but it won’t come free the inference cost will double but I don’t see a way around that.

3 Likes

Amazing work, I’m looking forward to seeing how the updated model performs. Everyone should be jumping on this.

Might I suggest an enhancement though?

Add more goblins - at least twice as many.

I have a question too, but I accept it’s outside the remit of this tool.

What method would you recommend to add something like a background rhythm to the funscripts this creates. For example, if there was a period of low activity but you wanted to keep some stroking going.

1 Like

Currently you’d have to do that yourself with whatever funscript editor you prefer.
The model is not trained on any negative data where nothing is happening so it will always output something and so garbage output is indistinguishable from the “real” output.

This is likely not going to change because of my priorities :thinking:
It’s hard to say if giving negative examples would improve the model or make it worse.
I’d need like a porn compilation many hours long with all the sex removed. so porn but only the plot and again many hours from many different videos

1 Like

I understand. I wasn’t for a moment suggesting that the solution would lie in an AI model.

In my opinion, even the addition of a feature that adds an “idle stroking” motion during low activity would dilute the purpose of this tool.

One thing I’m struggling with is understanding the many tuning options in the review bench. Things like dwells, level, texture, stillness, etc.

It would be good to have an overview of what their purpose is before I write myself a Python script that picks up specifically tagged scenes from my Stash instance to be automatically processed by the goblins.

Running goblinscript.exe --help in a terminal gives a little more info on the parameters.
When in doubt just leave the defaults some of this will likely be changed/removed in the next version.

To be honest I don’t understand it myself :joy:

1 Like

Awesome - very helpful. Only the promise of an updated model is stopping me from running this against my whole Stash archive :grinning_face_with_smiling_eyes:

is there a certain naming convention a VR video needs to be? Some reason it wont detect a VR video I downloaded.

Edit: Seems no detection but I used the --vr flag to force the camera tool

Oh my fuck. So, it turns out what I was looking for is already pretty much catered for in the texture section.

So for future users of this tool, here’s what I’ve found…

The vib and ripple options allow you to set an amplitude and frequency of strokes during low/no movement.

With texture off, this area of the scene is flat

With texture on, we get a slight ripple

Tweaking the amp and hz allows you to adjust what fills that lull

@gagax123 - I wanted to get your input on something. There are “still-floor” and “stillness” settings, which sound like they would give control over the threshold at which the funscript will provide no motion - and therefore allow the texture to apply. But although they appear to work to some extent, they seem fairly weak even when using the maximum range of values allowed. Maybe still-floor needs more a logarithmic scale? or maybe it should to work more as a filter, rather than flattening the strokes. I’ll try to demonstrate this below.

With texture disabled, I can see the flat parts

With texture enabled, and a still floor set to 10, the texture takes over where it’s very flat

Here, with a still floor of 60 (max), it does flatten out the movement, but not really to the extent that it allow the texture to take over for longer.

Am I misusing/misunderstanding that feature?

Also, I have two requests that I’d really like to see implemented;

  1. Would it be possible to increase the valid range for the amplitude for both the ripple and vib settings? They’re currently limited to 0-20, but I see no reason to limit this in the tool. Providing the option to have full-length strokes during scenes with no/low movement feels like a no-brainer and should be down to the user to decide what a sensible maximum is.

  2. From a user experience perspective - it would be nice to have tooltips over each setting and also move the field labels so they’re directly over the fields. E.g. in the vib section it just says “amp-Hz” over the amplitude field, which is pretty confusing when starting out.

Cheers for the mega tool! I’ve already got it integrated with Stash, so sending videos to it is even easier now.

yes.
that entire feature is on the chopping block it doesn’t do what I was going for and we can do better.
it’s not meant for your use case. I don’t want to make any promises for features or changes but I’d rather try to serve your use case directly. in summary let me cook

1 Like

I’ve found I that the goblins can override the maximum amplitudes for the ripple and vibe when invoking them via the terminal - So this has made me very happy.

Something like this worked well for me. It only caused problems when I tried adjusting it in the browser while reviewing the script --vib-amp 30 --vib-hz 2 --ripple-amp 50 --ripple-hz 0.25 --texture textured

Realistically, what is a good confidence minimum avg value in your goblin opinion?

So far it’s looking like this could definitely help me get into multi axis scripting. I have a few to test later but they all look pretty good even just from the get go- which is shocking. I guess we need a goblin-assisted tag now?

It’s only comparable if the entire video is scriptable. Intros or non sex scenes will drag the average down. It’s not a metric of quality it’s only how confident the model is it’s own prediction. It can be confidently wrong.

It does pretty well so long as the penis is in sight and the camera isn’t too overly active. Any time that is not given things are pretty rough.
Anything involving multiple penises is confusing multiple women single penis is less problematic.

1 Like

Yeah I have noticed some pretty funny confidently-wrong inferences in pullout scenes/movement - but hey it actually seems like halfway decent filler at least. It is a very cool tool and I will be experimenting with it today and tomorrow. Need to get a lot better at hand scripting before I post anything though.

Thanks for the cool app!

1 Like