Beats2Fun (Funscript tools / PMV Generator)

Good ideas! Just pushed the beatbar volume option with some other tweaks, if you’re feeling experimental should be available under action artifacts.

As for a custom ui, what elements would you provide to the tool?

When I said custom UI I mostly meant custom beatbar + sounds for it.

You’ve all been very patient and now I’m here with a reward. Did a lot of testing, fixed a bunch of issues and cleaned up the code end interface.

It’s not perfect yet, haven’t added all planned features / ideas yet but it does have some. Do have a look and please report any problems you find or improvement ideas at the link bellow. When reporting an error please run the program with the debug option enabled!

Get the latest version here:

1 Like

Will definitely check out soon

for the music, does it still only use sim and osu files? no support for mp3s? And do the other programs work as well?

Beats2Bar and Beats2Map aren’t working I think.

Also yes, reading beats from .mp3 isn’t working yet.

Custom beat sounds works by selecting an mp3,
Custom beat circle can be done by replacing the images in the programs Resources folder. This will become an option later. Also added a beat_dist option but that only works with stepmania files

Most interesting songs already have steps, find them at

https://search.stepmaniaonline.net/

Hello Nootna8,
I meet this issuem can you help me check which step is error?

Traceback (most recent call last):
File “Beats2Fun.py”, line 283, in
File “gooey\python_bindings\gooey_decorator.py”, line 134, in
File “Beats2Fun.py”, line 271, in main
File “Beats2Fun.py”, line 267, in main
File “Beats2Fun.py”, line 70, in run
File “Beats2Fun.py”, line 75, in task_load_beat_input
File “parsers\parseosu.py”, line 19, in load
File “parsers\beatmapparser.py”, line 372, in build_beatmap
File “parsers\beatmapparser.py”, line 231, in parse_hit_object
File “parsers\slidercalc.py”, line 61, in get_end_point
File “parsers\slidercalc.py”, line 122, in get_circum_circle
ZeroDivisionError: division by zero
[8152] Failed to execute script ‘Beats2Fun’ due to unhandled exception!

this is my gui setup:
image

Note: the osz file is download from the osu beatmap website and I choose none video only music

here is mine folder looks like:
Input:
image

video folder:
image

Any steps I do wrong?
I only have one video for generate the beat

Thank you!
Regards,

Bugged osu beatmap. Try with another one

Tried a couple of videos, its working fine but during the scene transition, there is a notable pause of the video between transitions.

Okay I will give it a try !
Thanks for the tip!

Can you upload them please? Also please share your settings, the Volume option still flawed.

I used this software in past and shared some feedback, and I have to say it’s pretty cool but since I installed 0.4 it doesn’t work whenever I want to make PMV I get the same error no matter what video I am using or how many videos I am using. (haven’t restarted system since I installed new version just to point that out as possible cause)

Video analasys:100% | 1/1 [00:00<00:00, 29.49it/s]
Found 1 videos
Traceback (most recent call last):
File “Beats2Fun.py”, line 283, in
File “gooey\python_bindings\gooey_decorator.py”, line 134, in
File “Beats2Fun.py”, line 271, in main
File “Beats2Fun.py”, line 267, in main
File “Beats2Fun.py”, line 70, in run
File “Beats2Fun.py”, line 84, in task_load_videos
File “classes.py”, line 296, in assign_clips
Exception: (Please try again or add more videos) Failed finding clip for beat : 0 - 0 - 12.027
[3916] Failed to execute script ‘Beats2Fun’ due to unhandled exception!

Video analasys:100% | 7/7 [00:00<00:00, 70.19it/s]
Found 4 videos
Traceback (most recent call last):
File “Beats2Fun.py”, line 283, in
File “gooey\python_bindings\gooey_decorator.py”, line 134, in
File “Beats2Fun.py”, line 271, in main
File “Beats2Fun.py”, line 267, in main
File “Beats2Fun.py”, line 70, in run
File “Beats2Fun.py”, line 84, in task_load_videos
File “classes.py”, line 296, in assign_clips
Exception: (Please try again or add more videos) Failed finding clip for beat : 0 - 0 - 12.027
[2564] Failed to execute script ‘Beats2Fun’ due to unhandled exception!

Video analasys:100% | 4/4 [00:00<00:00, 75.67it/s]
Found 2 videos
Traceback (most recent call last):
File “Beats2Fun.py”, line 283, in
File “gooey\python_bindings\gooey_decorator.py”, line 134, in
File “Beats2Fun.py”, line 271, in main
File “Beats2Fun.py”, line 267, in main
File “Beats2Fun.py”, line 70, in run
File “Beats2Fun.py”, line 84, in task_load_videos
File “classes.py”, line 296, in assign_clips
Exception: (Please try again or add more videos) Failed finding clip for beat : 0 - 0 - 12.027
[13668] Failed to execute script ‘Beats2Fun’ due to unhandled exception!

I see you’re only using 4 videos, have you tried with more videos like the errors mentions?

It worked but for some reason it doesn’t recognize most videos I try (all are mp4 and are easy playable)

Hi Nootna8,

Great program, Ive run it through its paces a few times and it works great for 2D videos. I’ve also tried it with VR videos and it kinda works. It creates the video but I think it alters the dimensions which makes the resulting video out of focus. I have no idea how your working your magic but if there was a way to tell the software not to alter the dimensions it would be a great feature.

If the input video isn’t the same aspect ratio as the selected resolution it tries to prevent black borders by resing/cropping the edges a little. I’ll add a setting to disable that then

Will there be any more updates? In general program is in really good state, there are always some features that can be added like custom beat image for ui, for user to choose what video will be used for intro or option to upload custom song not related to osu but everything works really good other than some import issues so will there be any updates any time soon or are you happy with this and leave it like that?

@Nootna8 Question. I want to make use of the “Clip distance” (Minimal clip distance in seconds).
This setting does NOTHING for me. Every clip new (video) changes when there is a new beat.

For example: I just tried to make an Futa Fap Hero with the song System of a Down - Chop Suey! lmao :joy: as an test… but at every hard guitar hit a new frame of my futa clips is shown.
Literally in miliseconds haha because of the song. Is it already set up like this in the .sm file of the song that u choose?

Another things are:
The BeatBar height is not configurable its literally almost in the middle of the screen.

What does the “Chart level” do? i have not figured that out. The BeatBar points and the Funscript strokes depend on the Song that u use. thx for the help

I used the “Beats2Fun” version

The Chart level is to do with OSU and stepmania files. Both of the file types contain multiple difficulty levels and the chart level lets you specify which one it uses. You can view the level number by opening the Stepmania file in notepad. Im not sure exactly how you can check the possible scripts from the OSU file but min is the slowest and max the fastest as you would think.

1 Like

thxxx awesome. i had no idea