Restim: e-stim audio generation software
Moderator: andyp
Re: Restim: e-stim audio generation software
The video duration is the length of the created mp3 file in seconds, this should normally match the video length. The pacing is determined by the funscripts, if you set the video length shorter it will just cut off before the end.
If you connect Restim to a video player, it will try to auto-detect the video length when you open the dialog so you don't have to calculate it manually.
If you connect Restim to a video player, it will try to auto-detect the video length when you open the dialog so you don't have to calculate it manually.
Re: Restim: e-stim audio generation software
I did test this just to see how the output looks like for the set of scripts that DPL created for Rhythms of Desire.
I realized that limits set under TCode don't apply here but you need to set the limits under funscript tab, this might be useful for others.
Also as I already wrote in discord, I am suspecting that using vibration feature I can recreate the shapes from famous edging sections from many of the DPL's creations.
I saw under tcode there is modulation 1 frequency, is that vibration 1? Can I use this to control it dynamically for now (until you implement funscript mapping for it)? I know I'd have to use MFP but it is fine for test.
I realized that limits set under TCode don't apply here but you need to set the limits under funscript tab, this might be useful for others.
Also as I already wrote in discord, I am suspecting that using vibration feature I can recreate the shapes from famous edging sections from many of the DPL's creations.
I saw under tcode there is modulation 1 frequency, is that vibration 1? Can I use this to control it dynamically for now (until you implement funscript mapping for it)? I know I'd have to use MFP but it is fine for test.
My estim creations: https://mega.nz/folder/73pxmBBQ#X6ylDzRafzTt9wanZ0dacw
And in E-Stim Index: viewtopic.php?t=27090
Try creating your own estims with my restim script generator!
And in E-Stim Index: viewtopic.php?t=27090
Try creating your own estims with my restim script generator!
- Spoiler: show
Re: Restim: e-stim audio generation software
Yes, it controls the frequency of vibration 1.
I don't think it can quite do what you want. The modulation frequency in the current release caps out at 100hz because you can get nasty DC signals if the vibration frequency is close to the carrier frequency.
I think what we really want is some way to create arbitrary waveforms, or make a selection of pre-computed waveforms. But I only see a way to generate predictable arbitrary waveforms for positions at the edge of the phase diagram, so it's difficult to integrate in the current UI. I'm slowly trying to research different waveform shapes because it might be useful for activating nerves selectively based on their diameter.
I don't think it can quite do what you want. The modulation frequency in the current release caps out at 100hz because you can get nasty DC signals if the vibration frequency is close to the carrier frequency.
I think what we really want is some way to create arbitrary waveforms, or make a selection of pre-computed waveforms. But I only see a way to generate predictable arbitrary waveforms for positions at the edge of the phase diagram, so it's difficult to integrate in the current UI. I'm slowly trying to research different waveform shapes because it might be useful for activating nerves selectively based on their diameter.
Re: Restim: e-stim audio generation software
Oh I planned to run debug version with the limit removed... I believe that for these sensations the stroking is not even relevant, but probably simplest way might be to have vibration frequency be mapped (0-1 from funscript) to 0-75% of current carrier frequency. Would that be "far enough" to avoid edge cases?diglet wrote: Thu Feb 22, 2024 7:06 pm Yes, it controls the frequency of vibration 1.
I don't think it can quite do what you want. The modulation frequency in the current release caps out at 100hz because you can get nasty DC signals if the vibration frequency is close to the carrier frequency.
I think what we really want is some way to create arbitrary waveforms, or make a selection of pre-computed waveforms. But I only see a way to generate predictable arbitrary waveforms for positions at the edge of the phase diagram, so it's difficult to integrate in the current UI. I'm slowly trying to research different waveform shapes because it might be useful for activating nerves selectively based on their diameter.
My estim creations: https://mega.nz/folder/73pxmBBQ#X6ylDzRafzTt9wanZ0dacw
And in E-Stim Index: viewtopic.php?t=27090
Try creating your own estims with my restim script generator!
And in E-Stim Index: viewtopic.php?t=27090
Try creating your own estims with my restim script generator!
- Spoiler: show
- boundupone
- Explorer At Heart

- Posts: 614
- Joined: Sat Jun 01, 2013 8:01 pm
- Gender: Male
- Sexual Orientation: Straight
- I am a: Switch
Re: Restim: e-stim audio generation software
Am just starting out with this now, is very interesting and thanks for the hard work, a couple of questions please, and sorry if i missed something earlier in this thread.
All connected to VLC fine, and once open video in VLC the funscript file matches up perfectly, but my question is, what is best option to use - (none), alpha, beta, volume, carrier frequency?
Volume ramp, would be great if somehow you could set the ramp for certain timings and different levels, so for example have an aggressive ramp up at time of cum signal and a gradual one up until then
Thanks again for great app (and I as still trying to figure it all out, so any tips and tricks anyone has will be greatly appreciated)

All connected to VLC fine, and once open video in VLC the funscript file matches up perfectly, but my question is, what is best option to use - (none), alpha, beta, volume, carrier frequency?
Volume ramp, would be great if somehow you could set the ramp for certain timings and different levels, so for example have an aggressive ramp up at time of cum signal and a gradual one up until then
Thanks again for great app (and I as still trying to figure it all out, so any tips and tricks anyone has will be greatly appreciated)
Try anything once!
Re: Restim: e-stim audio generation software
The alpha and beta are converted from funscript (there is converter in menu of restim where you can choose normal funscript to convert to alpha and beta ones). They are loaded automatically. The frequency and volume are new features, used I think in 2 of the newer creations, CH Tranquilizer, and Rhythms of Desire Extended edition.boundupone wrote: Thu Feb 22, 2024 7:41 pm Am just starting out with this now, is very interesting and thanks for the hard work, a couple of questions please, and sorry if i missed something earlier in this thread.
All connected to VLC fine, and once open video in VLC the funscript file matches up perfectly, but my question is, what is best option to use - (none), alpha, beta, volume, carrier frequency?
Volume ramp, would be great if somehow you could set the ramp for certain timings and different levels, so for example have an aggressive ramp up at time of cum signal and a gradual one up until then
Thanks again for great app (and I as still trying to figure it all out, so any tips and tricks anyone has will be greatly appreciated)
![]()
Here is link to DPL's post where he shared the funscripts, they are already converted (so when placed near the video file with same name, all are loaded automatically): viewtopic.php?p=359217#p359217
My estim creations: https://mega.nz/folder/73pxmBBQ#X6ylDzRafzTt9wanZ0dacw
And in E-Stim Index: viewtopic.php?t=27090
Try creating your own estims with my restim script generator!
And in E-Stim Index: viewtopic.php?t=27090
Try creating your own estims with my restim script generator!
- Spoiler: show
Re: Restim: e-stim audio generation software
I think the most danger lies in vibration frequencies which are an integer multiple of the carrier frequency. 1:1 is definitely a bad idea. 1:2 is questionable. 3:4 (as in 75%) might be fine, but I'm not entirely sure. Try inspecting the result of these settings in audacity to verify no signals with significant DC offsets being generated.
Prime number ratios such as 7:11 are probably quite safe, you might want to try that as well.
Re: Restim: e-stim audio generation software
I forgot to say that I believe we need to have max volume of carrier component + max volume of vibration should be <=1
This is with 1000Hz at 0.75 + 500Hz at 0.2

I think any vibration frequency is fine as long as the volume of main signal is reduced by volume of vibration (so that sum doesn't get clippings that might result in dc)
My estim creations: https://mega.nz/folder/73pxmBBQ#X6ylDzRafzTt9wanZ0dacw
And in E-Stim Index: viewtopic.php?t=27090
Try creating your own estims with my restim script generator!
And in E-Stim Index: viewtopic.php?t=27090
Try creating your own estims with my restim script generator!
- Spoiler: show
Re: Restim: e-stim audio generation software
You don't have to worry about clipping.
I was able to generate this with 1000.1hz carrier and 1000hz vibration. Definitely unsafe.

And this one with 1000.1hz carrier and 500hz vibration. Questionable safety.

I was able to generate this with 1000.1hz carrier and 1000hz vibration. Definitely unsafe.

And this one with 1000.1hz carrier and 500hz vibration. Questionable safety.

- boundupone
- Explorer At Heart

- Posts: 614
- Joined: Sat Jun 01, 2013 8:01 pm
- Gender: Male
- Sexual Orientation: Straight
- I am a: Switch
Re: Restim: e-stim audio generation software
Thanks for the reply, still trying to understand all thisedger477 wrote: Thu Feb 22, 2024 7:53 pmThe alpha and beta are converted from funscript (there is converter in menu of restim where you can choose normal funscript to convert to alpha and beta ones). They are loaded automatically. The frequency and volume are new features, used I think in 2 of the newer creations, CH Tranquilizer, and Rhythms of Desire Extended edition.boundupone wrote: Thu Feb 22, 2024 7:41 pm Am just starting out with this now, is very interesting and thanks for the hard work, a couple of questions please, and sorry if i missed something earlier in this thread.
All connected to VLC fine, and once open video in VLC the funscript file matches up perfectly, but my question is, what is best option to use - (none), alpha, beta, volume, carrier frequency?
Volume ramp, would be great if somehow you could set the ramp for certain timings and different levels, so for example have an aggressive ramp up at time of cum signal and a gradual one up until then
Thanks again for great app (and I as still trying to figure it all out, so any tips and tricks anyone has will be greatly appreciated)
![]()
Here is link to DPL's post where he shared the funscripts, they are already converted (so when placed near the video file with same name, all are loaded automatically): viewtopic.php?p=359217#p359217
I dont see ET312 mode anywhere, has that been updated in latest release?
Alpha and Beta - What is the difference (so far I have found alpha to be better) - seems like i need multifunplayer to make use of this properly? (downloading it now)
Setup - am i right that i should set up so i feel all around the outer ring as identical power level (i assume easiest to use pattern generator circle for this)
Try anything once!
Re: Restim: e-stim audio generation software
boundupone wrote: Thu Feb 22, 2024 9:09 pmThanks for the reply, still trying to understand all thisedger477 wrote: Thu Feb 22, 2024 7:53 pmThe alpha and beta are converted from funscript (there is converter in menu of restim where you can choose normal funscript to convert to alpha and beta ones). They are loaded automatically. The frequency and volume are new features, used I think in 2 of the newer creations, CH Tranquilizer, and Rhythms of Desire Extended edition.boundupone wrote: Thu Feb 22, 2024 7:41 pm Am just starting out with this now, is very interesting and thanks for the hard work, a couple of questions please, and sorry if i missed something earlier in this thread.
All connected to VLC fine, and once open video in VLC the funscript file matches up perfectly, but my question is, what is best option to use - (none), alpha, beta, volume, carrier frequency?
Volume ramp, would be great if somehow you could set the ramp for certain timings and different levels, so for example have an aggressive ramp up at time of cum signal and a gradual one up until then
Thanks again for great app (and I as still trying to figure it all out, so any tips and tricks anyone has will be greatly appreciated)
![]()
Here is link to DPL's post where he shared the funscripts, they are already converted (so when placed near the video file with same name, all are loaded automatically): viewtopic.php?p=359217#p359217
I dont see ET312 mode anywhere, has that been updated in latest release?
Alpha and Beta - What is the difference (so far I have found alpha to be better) - seems like i need multifunplayer to make use of this properly? (downloading it now)
Setup - am i right that i should set up so i feel all around the outer ring as identical power level (i assume easiest to use pattern generator circle for this)
ET232 mode has been changed, the choices now are continuous and pulse-based generation. ET232 mode refers to the continuous algorithm, I recommend the pulse-based for improved power efficiency/safety.
You don't need multifunplayer, this was also changed recently.
Alpha is up/down movement and beta is left/right movement. You need both. Use `tools->funscript conversion` to generate these from 'normal' funscript.
You're right about the calibration process.
- boundupone
- Explorer At Heart

- Posts: 614
- Joined: Sat Jun 01, 2013 8:01 pm
- Gender: Male
- Sexual Orientation: Straight
- I am a: Switch
Re: Restim: e-stim audio generation software
ah ha, i now have the alpha and beta scripts and all is working, i think i may go for some testing now

Try anything once!
Re: Restim: e-stim audio generation software
Just checked out the latest version and wanted to say you're a true champ for implementing VLC sync!
I initially had a really annoying problem when trying to get it working, though none of your fault. Turned out that one of the VLC luac scripts was using pow(), which has been deprecated. This led to a cryptic error result when trying to fetch the status endpoint, but once I figured out the cause I could just download the non-compiled script for the correct VLC version, modify it and replace the luac file with my modified lua. Just thought I'd mention it in case someone else runs into the same issue.
While local playing and sync works well, I've now started getting problems when used with Intiface Central.. Getting the two to connect seemed a bit glitchy, then it worked for a while, but eventually Restim freezes entirely (stim signal continues to play but UI becomes unresponsive and I need to kill the process). I haven't been able to pinpoint what's the cause yet, but have you used it with the latest version of Intiface and it works well for you?
When syncing with VLC it seems like the video file path is urlencoded, which causes QUrl to say that it is invalid if the filename contains spaces. I changed class VLC(MediaSource) to:
This seems to work for me, but I'm not sure it's 100% correct.
Also it would be really nice if Restim could make continuous attempts to connect to IntifaceCentral if configured to do so. Currently you have to restart the app to do so, right?
And a final feature request, it would be nice if Restim saved the media player sync setting (e.g. VLC), tried to connect at least on startup, and if the connection fails just print a log message and fall back to the internal media player.
I initially had a really annoying problem when trying to get it working, though none of your fault. Turned out that one of the VLC luac scripts was using pow(), which has been deprecated. This led to a cryptic error result when trying to fetch the status endpoint, but once I figured out the cause I could just download the non-compiled script for the correct VLC version, modify it and replace the luac file with my modified lua. Just thought I'd mention it in case someone else runs into the same issue.
While local playing and sync works well, I've now started getting problems when used with Intiface Central.. Getting the two to connect seemed a bit glitchy, then it worked for a while, but eventually Restim freezes entirely (stim signal continues to play but UI becomes unresponsive and I need to kill the process). I haven't been able to pinpoint what's the cause yet, but have you used it with the latest version of Intiface and it works well for you?
When syncing with VLC it seems like the video file path is urlencoded, which causes QUrl to say that it is invalid if the filename contains spaces. I changed class VLC(MediaSource) to:
Code: Select all
id = attributes.value('id') # playlist id
uri = attributes.value('uri')
url = QUrl.fromPercentEncoding(uri.encode('ascii'))
if id == self.playlist_id:
self.filename = url
self.query_media_duration()
xml.skipCurrentElement()
Also it would be really nice if Restim could make continuous attempts to connect to IntifaceCentral if configured to do so. Currently you have to restart the app to do so, right?
And a final feature request, it would be nice if Restim saved the media player sync setting (e.g. VLC), tried to connect at least on startup, and if the connection fails just print a log message and fall back to the internal media player.
Re: Restim: e-stim audio generation software
@darthjj
I will implement continuous reconnect for intiface central soon. Initially I did not implement it because intiface didn't like reconnects, but that appears to be fixed.
I'm a puzzled by the VLC error. The documentation states QUrl('some string') is equivalent with QUrl.fromEncoded(b'some bytearray'), so that substitution does not have any effect. I noticed you also removed url.toLocalFile(), this results in a crash on windows. I suspect you may have changed something else and that fixed the problem?
Can you send me the contents of http://127.0.0.1:8080/requests/playlist.xml? Is VLC using the english interface language?
I tested intiface and it just works. I can't reproduce it on my end and I have no idea where to look.
I will implement continuous reconnect for intiface central soon. Initially I did not implement it because intiface didn't like reconnects, but that appears to be fixed.
I'm a puzzled by the VLC error. The documentation states QUrl('some string') is equivalent with QUrl.fromEncoded(b'some bytearray'), so that substitution does not have any effect. I noticed you also removed url.toLocalFile(), this results in a crash on windows. I suspect you may have changed something else and that fixed the problem?
Can you send me the contents of http://127.0.0.1:8080/requests/playlist.xml? Is VLC using the english interface language?
I tested intiface and it just works. I can't reproduce it on my end and I have no idea where to look.
Re: Restim: e-stim audio generation software
diglet wrote: Tue Feb 13, 2024 10:17 pm Indeed it is the opposite of what is supposed to happen. What you describe is exactly what I feel with all zero calibration settings, reducing the neutral setting should gradually equalize the sensations at top and bottom position.
I think you can only get this behavior if your computer outputs a mono signal or the left/right channel are shorted together in your box somehow. But if that were the case, you would easily spot it with the test Kelvinator mentioned. You might want to test, with a dual-channel setup, whether Restim actually outputs a higher voltage on the left channel when position is left in the diagram. But I suspect you already tested this. I have no further Idea's.
I am not very experienced with electronics. I was lucky to be able to build this thing in the first place. I really don't know where to look.Actually I have one more idea. Can you open your box and check if the left and the right channel are connected in the same way? You might get this behavior if only one of the channels has the + and - reversed.
- Spoiler: show
- Spoiler: show
The only other thing I can think of is that I crammed the components in to a case that's too small (you can see my initial screwholes for an arrangement of the resistors that didn't fit). Could the housing of the resistors making contact cause a short? Am I just an idiot for using a metal case in the first place?
I'm sorry to beg for help troubleshooting my hardware, and if I should move this post to another thread, I will.
Thanks.




