Funscript to Arduino to Estim?

I bought an Arduino Romeo BLE Mini in the hopes of building an OSR but never followed through with it and now the board is sitting here collecting dust on top of my DIY stim box. I got the board to work with XTPlayer no problem and can tell the board is working with the light flashing during commands. It got me thinking, maybe there is a way to, instead of driving servos for the OSR, convert them to a frequency of choice and depending on the script action point (0-100), have an audio signal generated for either a right or left channel output. Kind of like a balance knob I guess with 0 being max left, 50 being equal L/R, and 100 being max right. Right now there is no easy way to connect a cellphone running DeoVR app to an estim audio device, that I could find anyways. I was able to fumble my way through with TrinusVR interfacing with DeoVR through SteamVR and surround encoded VR videos but it is glitchy as all hell. ScriptPlayer is the easiest I could find but the estim/funstim audio is very choppy with lots of ticks and pops and can lead to no very enjoyable stims. Other than that, it works great as far as connecting to DeoVR and running scripts in sync with VR video on the phone in a cardboard headset. Looking for any ideas or code if there is any. I’m not a coder at all and have know idea where to even start. Thanks.

I’m sure someone made a .funscript to .mp3 estim converter. A quick google search turned up this site, not sure if that’s what you’re after.

Yeah, that’s what I use to make surround videos and it works great for CH and other 2D vids using VLC but when trying to watch VR videos with a phone and cardboard headset it doesn’t work because phones can’t output surround sound. At least I haven’t been able to find a way to. In order to view VR videos with surround, the file needs to be played on a computer with surround capability with the estim sound on the rear channels fed into a separate sound card which is fed into the stim box. Easy enough until you go to get the video on the phone in the headset running DeoVR. Research led me to installing a program called TrinusVR which allows connection of a phone through SteamVR which I got to work but it is very buggy and has about a <10% success rate. Scriptplayer and XTPlayer connect up beautifully to DeoVR. Videos can be stored locally on the phone and when selected through DeoVR to watch, SP or XTP will load the associated funscript to control a Handy or the like. I have not been able to find a way to connect the Arduino to SP as I don’t think there is OSR support. SP does have funstim audio built in based on the code used for the website you mentioned but does not encode very efficiently when trying to use in real time. Thus, creating the pops and clicks I mentioned above. That’s why I thought maybe there was a way to use Arduino to create the tones from the inputs it receives from XTP or other programs that do connect since that coding has already been done and works fairly well from my limited testing with the Romeo Mini with XTP, and looking at a flashing light on the board.

Oh I see what you’re getting at. I’m not super familiar with the particulars of estim so I misunderstood. An arduino could definitely generate the tones, but the challenge would be in getting it to properly sync.

I think you’d want to look into the DeoVR remote control API - you could write your own little control app which lets you play, pause and seek, and simultaneously send serial commands to a connected Arduino to play, pause and seek the preloaded estim file. You’d need to modify the funscript/estim file so that it fits inside the Arduino’s RAM.

tbh, I think if you’re not familiar at all with coding, then this might be a little beyond what I would consider a beginner project. The client control app is one thing, but writing Arduino firmware can be pretty fiddly…

ive been looking into something like this for a bit - but as im a Linux admin during the day , im going with a pi , it has a sound output (not certain about the quality but you can get audio boards) and due to both having usb and ethernet ports i have lots of options for input , i just dont know how to A have it listen for signals from SP and B how to generate tones based on those signals (ive found a 3 phase hook up works best and then just adjust the freq … a 600hz r with a 601hz l is a slow … stroke , 602 faster , higher freq = softer pulse) - truth is i havent taken the time to research it as i just havent had the time