Stroke2Vibe - Converts scripts for Stroking toys to Vibrating toys scripts

Ever wanted to use a funscript for your vibrator but only found funscripts for stroking toys?
This program might help you out.

What does the Program do:
Import a funscript for stroking toys
Transform the script into a funscript for vibrators
Manual Optimizations depending on personal Taste
Save Vibration Funscript on HDD

What does the Program not do:
Provide a graphical Interface
Let you make a funscript from scratch
Let you manipulate stroke scripts before conversion (use other tools for that)
Automatically Optimize

1.) Download and unzip preferably Link (thank you astaria)
(Original Link)
2.1)either compile yourself (check
2.2) or use to precompiled .exe in the bin folder
3.) Optionally: Add the programm to your PATH variable so you can invoke it from everywhere. (very useful. use google to find out how for your OS)

1.) Open a terminal in the folder your stroking script is in
2.)In the Terminal type: Stroke2Vibe.exe myscript.funscript
myscript.funscript is the script you want to convert
stroke2vibe.exe has to either be in the same folder or added to you path variables
libantlr4-runtime.dll has to be in the same folder as the exe
3.) The Programm Converts the script for you and shows you commands to manipulate the script

Usage tips:

  1. Use Script statistics to check your average script values etc.
  2. There might be a small amount of very high values wich lowered the value of the other actions
    To fix multiply all values with multiplier >1 and then use Sanitize
  3. Using SQRT and then Multiplying by e.g. 8 decreases high values slightly and drastically increases very low values
  4. In a stroke script small strokes near the top are probably more intense while strokes at the bottom are less intense. You can Multiply values according to that logic with Hotkey “e”
  5. Press 1 to clear your screen
  6. Shorten before saving (recommend value between 1 and 5)

As said in the LICENSE file I made all my code public domain. The antlr part has its own license though (wich is still not very constricting). So go ahead and reuse any of the code.

PS: I Might add some pictures or more detailed explanations to this post at some point :slight_smile:


Hello, i dont know why, but i cant download the file in link. Maybe because I’m in “read only mode”. Can you please set download rights to “anyone who has link” ?

sry fixed it.

Thank you very much for making this! It would be excellent if you could make a video on how to do this properly, since I’m having trouble running it through command prompt. I’ll keep trying since I’m not the most tech literate. What does this do to the funscript that makes it work better for vibrators?

A funscript has a list of value pairs wich consist of time (“at”) and position (“pos”).
Consider these 2 points:

For a stroking toy the interpretation is: Between the time 0 and 1000 move the stroking toy position from 100 to 0.
For a vibrating toy the interpretation is: Between the 0 and 1000 set the vibrator strength to 100. At 1000 set the vibrator to 0.

Those are two different interpretations. The program bridges the gap by assuming that the steeper the change of position between 2 actions is the higher the strength of the vibrator has to be.

You do not need to use any of the functionality the program provides. You can instead go straight to saving the converted script. Its just that sometimes there are unreasonably steep strokes and the steepest stroke is the one that all the other ones orient themselves on so you might end up with a script where most of the values are too low.

You can open a terminal in a certain folder in windows explorer by clicking the adress bar and type “cmd” and press enter. Put the programm and the dll of the bin folder in the same folder as your funscript and type in the terminal:
Then hit spacebar and start hitting tab until it shows the script you want to convert. hit enter

1 Like

So now, I get the error Entry point not found “the procedure entry point _cxa_thread_atexit could not be located in the dynamic link library…” Any thoughts on what I’m doing wrong? Thanks again!

Thanks for this! However, it seems like I’m missing some .dll files (libgcc_s_seh-1.dll for example). What frameworks are needed to run this?

I uploaded an updated version that hopefully fixes the issue.

Try and see if it works

The link is already down, this is what i really want to have.
Can you reupload it somewhere else please. :slight_smile:

Here you go

Missing the files:

Same issue. Can you include those files in the package for this script?

Same issue, I installed downloaded the missing dlls one by one but finally an exception (0xc000007b) occures …
I would really like to try out the prog, can you re-upload it?

If anyone is interested, I made a version that runs without all the dependencies on the same code base. Grab it here:


How does one use it? It just runs the .exe but nothing happens