New estim tracks for CH videos

Discussion about Cock Hero and other sexy videos.

Moderator: andyp

diglet
Explorer At Heart
Explorer At Heart
Posts: 390
Joined: Sun Dec 11, 2022 5:43 pm

Re: New estim tracks for CH videos

Post by diglet »

There are three different concepts at play here. First is calibration. Basically, I want to turn your stim box with l/r volume control dials in a stim box with 10 volume control dials. The first dial controls the signal strength in your glans, the second controls the signal strength in frenulum, the third controls the sensation halfway up, the fourth one controls the pesky spot in the left thigh that only you seem to feel. etc.... The main idea is that everybody's nerves and body dimensions are different, so it's very unlikely that a script created for you works for anyone else. It is worth pointing out that FileFlax calibration with tremolo cannot be implemented with the l/r control dials (you would need to control the master volume knob in real-time). Judging by the number of comments in this thread complaining that most three phase files put too much sensation on the head, this is a problem worth solving.

The second concept is the unit circle/triangle thing. Scripters (so far) have attempted to generate sensations by directly describing the raw waveforms. This is like rotating a bldc motor by directly describing the potential all three leads. Of course you don't do that, you use trigonometry to get rid of all the variables that are linear combinations of each other, and then you try to map the result into something that makes sense for humans (d-q transform). And then you tell, the motor: rotate with a force of 0.1 Nm. My solution is to use three control variables: position in the circle (2 variables) and magnitude (1 variable). Such method would greatly simplify the job of scripters. There are many more independent control variables than these three, but these are the ones I want to focus on right now.

The final concept is extending funscript tooling. As explained a few posts back FileFlax maps a 1d funscript onto the alpha axis, but there are many more ways to map an 1d funscript to audio. We can also extend funscripts with additional axis.

And of course, if you generate audio from a 1d funscript file the result only has one degree of freedom, no matter you slice it. I should have used the term "independent control variable" instead of "degree of freedom" when describing my concept earlier :unsure: .
User avatar
zebbg69
Explorer At Heart
Explorer At Heart
Posts: 257
Joined: Sat Jul 17, 2021 12:13 am

Re: New estim tracks for CH videos

Post by zebbg69 »

edger477 wrote: Wed Jan 25, 2023 8:27 am
zebbg69 wrote: Wed Jan 25, 2023 3:16 am If you vary the L/R volumes separately, you are adding one degree of freedom: the ratio of the volumes. As before, I am claiming that the overall volume of the waveshape is not a real degree of freedom.
I do not really think that for majority of funscripts (the ones with one axis) is important how many degrees of freedom we have, my point was that the way how we generate signal from them even one axis can be adjusted, and adjusting volume based on position might solve the issue when one of electrodes feels too harsh because at some points in phase shift it conducts too much current.
Agreed!
diglet wrote: Wed Jan 25, 2023 10:57 am There are three different concepts at play here... calibration... three control variables... extending funscript tooling.
Agreed!

All of this is a great line of thought, something I've daydreamed about a little but not made any real progress on. I am glad you all are working on it seriously, including FileFax.
diglet
Explorer At Heart
Explorer At Heart
Posts: 390
Joined: Sun Dec 11, 2022 5:43 pm

Re: New estim tracks for CH videos

Post by diglet »

I noticed something odd, and I need help interpreting this data.

I performed a calibration sequence. The data I found was very similar as before:
At the top position: left and right channel: 0.7, center channel 0. (waveforms fully in phase). Strong sensation in the head.
At the bottom position: left and right channel 1.0, center channel 2. (waveforms fully out of phase). Strong sensation at the base, no real sensation in the head.

At the bottom position the voltage between all pairs of electrodes is clearly higher than at the top position. Yet the bottom position has no sensation in the head. How is this possible? Shouldn't the bottom position have more sensation everywhere, as it's putting more voltage through every pair of electrodes?
User avatar
edger477
Experimentor
Experimentor
Posts: 1114
Joined: Mon Nov 29, 2021 8:24 pm
Location: underfloor

Re: New estim tracks for CH videos

Post by edger477 »

diglet wrote: Thu Jan 26, 2023 4:21 pm
At the bottom position the voltage between all pairs of electrodes is clearly higher than at the top position. Yet the bottom position has no sensation in the head. How is this possible? Shouldn't the bottom position have more sensation everywhere, as it's putting more voltage through every pair of electrodes?
This is the reason I proposed calibration based on position... depending on how the triphase is formed +/- or +/+ you will have different absolute potentials on each electrode... if you use ++ or -- as common then when they are fully in phase all current from both channels will go through center, and when they are fully out of phase, then it will highly depend on electrode positions. If left and right electrode are closer to each other than center one, then as they are on completely opposite potentials (they are 2 potentials connected in series through center electrode), the current will flow directly between them and no current must go through center. Of course, if one of electrodes is closer to center electrode than the other, then you will have part of its current go to center and other part to other electrode. That is reason I think that initially we need to start with 3 points for calibration (at positions 0, 50 and 100 for each channel) but of course later it can be refined with more, as you need to have ability to reduce volume at extremes (0 and 100) but also to be able to keep it higher in the middle.

If you use +/- as common then it will be opposite, when they are fully in phase, all current can go from left to right, and when they are completely out of phase, then left and right are essentially same electrode and all current from both of them will travel
to center.

And last, instead of having more than 3 points for calibration, I think better way would be to have center point (50) adjustable - as a value of shift where we fix volume and interpolate from 0 to that point and from that point to 100, because perceived intensity will be lowest when phase shift is such that current through all 3 electrodes is as balanced as possible (ideally same), and that position of phase shift will vary depending on position of electrodes (because resistance between any 2 will determine where the current travels). Ideally you will calibrate it each time you put electrodes as even small differences in where electrode is placed can change it.
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!
Spoiler: show
You can also thank me with crypto: https://trocador.app/anonpay?ticker_to= ... e+a+coffee
User avatar
zebbg69
Explorer At Heart
Explorer At Heart
Posts: 257
Joined: Sat Jul 17, 2021 12:13 am

Re: New estim tracks for CH videos

Post by zebbg69 »

Reviewing diglet's phase diagrams again, I still think there is a deceptive extra degree of freedom that affects the result.
You don't have a unique triplet (ac, ab, bc). You have only (A,B), if I understand correctly that C is the tri-phase common and essentially the circuit ground.

Draw a triangle (I have posted this a few times in some of these forums, sorry for the repetition). Label the corners A, B, C. A is left channel electrode, B is right, C is common, also ground. Draw a resistor on each side of the triangle, the resistances of your body between each pair of electrodes. Call the voltages Va, Vb, Vc, and work out the currents flowing. The feeling at each electrode is: Feeling = Current / Area, for the total current flowing from that electrode and the surface area of the electrode. So, for each electrode, find F = I / A. It is quite a big messy ratio in the general case, but if you take all the R's and A's equal you can get the basic idea:
Fa = 2Va-Vb, Fb = 2Vb-Va, Fc = Va+Vb
and by "=" I really mean "proportional to." The relative coefficients (2 and 1) drift depending on variations in the R's and A's.

We always overlook the doubled current caused by A & B sourcing current to the Common and ALSO to each other. So tri-phase is not really about (L-R,L+R), though it is very related. Note that Va=L, Vb=R in terms of your stereo waveform that is playing out of the stim box. L & R are your ONLY degrees of freedom!
Fa = 2L-R, Fb = 2R-L, Fc = L+R

If you want to label a three-point phase model, you cannot say that it has, e.g. (1,1,0) and (1,1,0.5) as distinct states. There is only one (1,1,x). That x cannot be two different things. Your triple is (2L-R,2R-L,L+R). You are free to engineer 2L-R=1 and 2R-L=1, but then L+R is whatever it is. You cannot choose it separately.

Regardless of how complex your thought process when you made the stereo e-stim waveform (that is, regardless of how many variables your e-stim creation model has), you end up with a two-channel waveform, and your box sends two and only two voltages to your body. They of course interact with many points on your body, but you do not independently control all of those interactions. You only control two, and then you get what you get at all the other points.

Nevertheless, taking all those interaction points into account is a wonderful optimization--pick your two variables so that they give you the best overall experience in all points of feeling. In optimization terms, you are optimizing a two-variable model to give the best output over N different points. It is critical to get right, though, that it is a two-variable model.

Incidentally, none of this requires tri-phase. You can draw four separate points instead of three, with resistors between each pair of points, and set Va=voltage(A+ to A-) and Vb=(voltage B+ to B-) and work out all the same stuff. You have to make some assumptions about geometry to get non-zero currents between electrodes on different channels, but if current paths overlap, they will interact in a way similar to tri-phase but with a "cushion" between them instead of that hard connection. I have not done this, but it would be interesting. Again, still only two variables, the Va and Vb, but with the minus leads not tied, the results will have a larger space.

I use this qualitatively when stimming, to wire up in what I call "soft tri-phase." Leave the four leads independent, but make their current paths overlap. For instance, A+ cock head, A- perineum near anus, B+ balls, B- anal. See how B+ is between A+ and A-, so the current flowing between balls and perineum is driven by both channels. But the net voltage from A+ to B+ is not that hard sum L+R, because the non-zero resistance between A- and B- takes up some "slack." It has a softer feeling than tri-phase, sort of like listening to vinyl vs. a CD.

I hope that helps and that I'm understanding what you're doing enough that I'm not in left field while you're doing the heavy lifting. Thanks for this work!
User avatar
edger477
Experimentor
Experimentor
Posts: 1114
Joined: Mon Nov 29, 2021 8:24 pm
Location: underfloor

Re: New estim tracks for CH videos

Post by edger477 »

I have started editing cfs6t08p's converter to test what it produces with preconfigured attenuation (100% at center and playing with values on inphase/outphase for l and r channel volumes).

Do you happen to have already created a calibration funscript? I am currently passing through just some random funscripts and comparing the results.

Image
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!
Spoiler: show
You can also thank me with crypto: https://trocador.app/anonpay?ticker_to= ... e+a+coffee
diglet
Explorer At Heart
Explorer At Heart
Posts: 390
Joined: Sun Dec 11, 2022 5:43 pm

Re: New estim tracks for CH videos

Post by diglet »

@edger477 I use calibration based on position. I use 6 calibration points (at angle 0, 1/3pi, 2/3pi...), my software generates various waveforms in real-time and scales the volume according to the calibration parameters. More calibration points will be added in the future if deemed necessary. I'm investigating whether there is some mathematical relationship between the calibration parameters to minimize the calibration hassle, so far I have not found such a relationship.

The construction of the unit circle makes it so that it's irrelevant where the common is wired up. I use head as the common, could also use balls as the common, changing the common is exactly the same as rotating the phase diagram by 2/3pi.


I used Circuit simulator to test your theory:

Image

Here the left and right electrode are close together with a resistance of 2 ohm, other electrodes are 10ohm apart. Top position, vrms over the center resistor is zero. vrms over the other two resistors is 0.7. The current over the highlighted resistor is 70ma.

Image

Bottom position, left and right at opposite potentials. The vrms over the highlighted resistor is 1.0, current is 100ma, more than at the top. You stated that no current flows through the center electrode. Something must be wrong here.

This is my dilemma. At the bottom position, the model predicts more current flows to the head than at the top position. But I don't feel anything at the bottom, why?

The only explanation I can come up with is that there is a lot of current flowing between the left and right electrode. So much, that the amplifier cuts out and drops the voltage, it never claimed to be a constant voltage source yet we have been assuming it is one. I use the lolol2 recommended build with 3.9ohm series resistor and 22ohm parallel resistor.

(I really need to order an oscilloscope... that would take the guesswork out of this)


I do not have any calibrated funscripts atm. I have most features in a working state, the transformation math is finalized, realtime audio generation works, command server (synchronizes with video playback with multifunplayer). I'm working on some details regarding the calibration process before releasing.


@zebbg69

What you're saying is completely correct in a DC world, but this is AC. If you have three equal resistors in a triangle, you can have 5v, 5v, 0v rms over the three resistors. But you can also have 5v, 5v, 5v rms. This is why we need three numbers to uniquely identify the sensation.

My phase diagram math maps every point in the circle to an unique shape of triangle, the edges of this triangle indicate the vrms over the three resistors. Along the edge of the unit circle the triangle is as thin as possible, for example (1v, 1v, 0v) rms or (1v, 0.5v, 0.5v). Here, the L-R=center math holds. In the center of the phase diagram it becomes an equilateral triangle, where the vrms over all three resistors is exactly the same (i.e. 0.5v, 0.5v, 0.5v), this signal can be generated with two sine waves exactly 2/3pi apart. L-R=center math no longer works.

The phase diagram shows two control variables (x, y), this determines the shape of the triangle. The third one, magnitude, just uniformly scales the triangle.

The critical assumption is that the human bandwidth is lower than 900hz.


The amplifier regulates the voltage between + and - of the same channel. It does not regulate the voltage between channel 1 and channel 2, there is no guarantee on how large the potential difference is between the two channels unless they are connected directly. This makes it rather difficult to model, maybe a future project...
User avatar
edger477
Experimentor
Experimentor
Posts: 1114
Joined: Mon Nov 29, 2021 8:24 pm
Location: underfloor

Re: New estim tracks for CH videos

Post by edger477 »

diglet wrote: Thu Jan 26, 2023 9:43 pm Bottom position, left and right at opposite potentials. The vrms over the highlighted resistor is 1.0, current is 100ma, more than at the top. You stated that no current flows through the center electrode. Something must be wrong here.

This is my dilemma. At the bottom position, the model predicts more current flows to the head than at the top position. But I don't feel anything at the bottom, why?
I see 2 problems here. For highlighted resistor the current would be 1V/10Ohms = 0.1A (which you correctly calculated) but for the one between -1 and +1 the current would be 2V/1.81 Ohms=1.1A which is more than 10x more than through highlighted resistor.

However, your resistances are way off. The realistic resistance of body is in range 600-800 Ohms... I measured it by using oscilloscope to compare voltage on estim terminals and a resistor of known resistance (220Ohms) that was in series with electrodes, and I had about 1/3 of total voltage on that resistor. The resistance between electrodes will vary but not by order of magnitude (10x) like here.

Another thing - if you are using the pictured approximation of human body connected to electrodes, you must not forget that whatever current flows in this approximation from +1V to 0V, identical current flows back from 0V to -1V, so you would feel nothing on the electrode itself, because current will flow beneath the skin where you do not have nerves to feel it.

I think you should also consider using approximation like this one (the 1 Ohms would actually be less, somewhere around 0.9 but is irrelevant as they are not correct anyway):

Image

Here it will be obvious that you will not feel anything on the common electrode when its potential is exactly on half between left and right.

I have now tested my fork of the cfs6t08p's converter, and these parameters (not exposed for editing on page yet) work pretty well:
let volumeMap = {
center: 0.5,
left: { min: 0.6, center: 1, max: 0.8 },
right: { min: 0.8, center: 1, max: 0.6 }
}


Center is position on phase shift where I take "center" volume for channel, and min and max are used on 100% in-phase and 100% out-of-phase positions.

I used different values for left and right precisely because of no current on common when they are perfectly balanced. The converts I generated like this already feel much better than default but of course those values are just start, there is much that can be experimented with them.

I will try to create fork on github tomorrow and publish page so everyone can test it. Until now, if someone wants a funscript to convert for testing, you could send me link to funscript and I can send you back link to generated estim.
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!
Spoiler: show
You can also thank me with crypto: https://trocador.app/anonpay?ticker_to= ... e+a+coffee
User avatar
edger477
Experimentor
Experimentor
Posts: 1114
Joined: Mon Nov 29, 2021 8:24 pm
Location: underfloor

Re: New estim tracks for CH videos

Post by edger477 »

I have pushed current version with hardcoded volumes (0.6/1/0.8 left and 0.8/1/0.6 right) to

https://edger477.github.io/funstim/funstim.html

I will try to make update with controls where you can control those values.

If anyone tests this let me know how it feels compared to original cfs6t08p's files.
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!
Spoiler: show
You can also thank me with crypto: https://trocador.app/anonpay?ticker_to= ... e+a+coffee
diglet
Explorer At Heart
Explorer At Heart
Posts: 390
Joined: Sun Dec 11, 2022 5:43 pm

Re: New estim tracks for CH videos

Post by diglet »

You made some good points. I think you're right about the resistor network.

I will try to work out some mathematical relationships with your resistor networks. I'm not entirely sure if this will work, but this might reduce the number of free variables in the calibration process.

This project has been really helpful for improving my trigonometry skills :smile:
jgrants
Explorer At Heart
Explorer At Heart
Posts: 114
Joined: Sun Jul 09, 2017 5:33 pm
Gender: Male
Sexual Orientation: Straight
Location: Americas

Re: New estim tracks for CH videos

Post by jgrants »

edger477 wrote: Fri Jan 27, 2023 9:10 am I have pushed current version with hardcoded volumes (0.6/1/0.8 left and 0.8/1/0.6 right) to

https://edger477.github.io/funstim/funstim.html

I will try to make update with controls where you can control those values.

If anyone tests this let me know how it feels compared to original cfs6t08p's files.
HI all, I will start by saying THANK YOU for developing estim content and tools!

I also admit I enjoy strong head estim and even though I can't discuss at your technical level I understand enough to follow the conversation.

I've tested the updated tool with one of my favorites short estim videos. My wiring setup is common with a loop in head, right with a second loop in base and left with an adhesive pad in the ass.

Magic Bomb Challenge 2 (video):
https://mega.nz/file/C7hHwKQD#osH5JPPzb ... mh9eAJmrZQ
Funscript:
https://mega.nz/file/7yglQDbQ#-dMZusuSL ... AKoZrJTCxI
Original estim file:
https://mega.nz/file/ivYVCaJJ#YQkHCif1r ... X5MIVw3xEc
Updated estim file:
https://mega.nz/file/6zhQADSS#afi6Gu83I ... 3uY8mb-egg

With the new one I feel much more detail and sensations in the balls and ass. It feels very similar as using the original file and playing with the balance to make the left channel stronger. That being said I feel the file looses some "spice". Overall it feels smoother and I can play it longer or at a higher volume without loosing control.

I will continue testing but as of Today if I want a hands free orgasm I have to go with the original.

Again thanks!!
diglet
Explorer At Heart
Explorer At Heart
Posts: 390
Joined: Sun Dec 11, 2022 5:43 pm

Re: New estim tracks for CH videos

Post by diglet »

I released my software for realtime audio generation, I call it restim (realtime estim), very proud of that name.

https://github.com/diglet48/restim

It is written in python. Releasing python applications to non-developers is a bit of a chore... if you want to test this, the easiest way is to install python (newest version, 3.11) and pycharm. Open the project, navigate to requirements.txt and install the requirements. Navigate to any of the files below, run with shift-F10, Feel free to ask questions if you're stuck here. If the tool is a success I will do a bit more effort for a proper installer package (probably not python).

The software package consists of 4 main scripts:

realtime_audio_generator.py: will start a command server on localhost:12346 and immediately output audio on the default audio device. You can specify a custom audio device in the code (add a print statement around line 75).

calibration_gui.py: this will connect to the server and launch a calibration gui. In here you will be able to select various movement patterns and adjust the parameters in real-time. The red dot shows the current stroke position (might lag ahead/behind a bit). Play around with the settings and share your experiences! Calibration parameters sent to the audio generation server will persist until the server is closed.

Image

funscript_1d_to_2d.py: This tool converts an 1d funscript to a 2d funscript. For full strokes it will generate movements along the unit circle, for smaller strokes it will generate smaller circles. The output is xxxx.alpha.funscript and xxxx.beta.funscript. See source code for command line parameters. It is fairly trivial to modify this tool to perform the conversion in a different way.

funscript_to_wav.py: If for whatever reason you don't want to use the realtime audio generator, use this tool. See source code for command line parameters, change calibration params on line 13. One hour of funscript conversion will require about 8GB RAM and 1 minute of time.



The audio can be synced to video. Launch MultiFunPlayer (https://github.com/Yoooi0/MultiFunPlayer) and open your video in any supported video player (I use MPC-HC or DeoVR). Load xxxx.alpha.funscript for the L0 axis and xxxx.beta.funscript for the L1 axis, this process can be automated by creating a custom device. Set offset to -0.15. Add a new output, websocket, ws://localhost:12346/, update rate 40hz (or higher, depends on cpu). Open the calibration GUI to make sure the calibration params are set. close the calibration GUI to avoid interference, and hit connect.

You can also play simple linear funscripts, in this case it will simply project the script on the alpha axis like Fileflax. MFP can randomly generate the second axis. If you link axis L0 and L1 and limit the output of L1, it will be roughly equivalent to edger477's modified funscript conversion.

I tested: Cock Hero - Contract, great, I felt like I climaxed at lower power level / less pain than with FileFlax' version. Don't break me PMV, patterns were interesting, not long enough to climax. Cock Hero edge sessions, lots of fast short strokes, not as good as Contract.

I would like your input on: whether there are enough calibration parameters, calibration parameters for different electrode setups.
Last edited by diglet on Mon Jan 30, 2023 10:55 am, edited 1 time in total.
User avatar
zebbg69
Explorer At Heart
Explorer At Heart
Posts: 257
Joined: Sat Jul 17, 2021 12:13 am

Re: New estim tracks for CH videos

Post by zebbg69 »

TL;DR
I offer all of this in a constructive spirit of helping to develop this approach. There are still some assumptions that don't add up, which I think are overcomplicating things and adding spurious variables. Hairy technical details are in the spoilers. At bottom, easy practical options for Audacity users.
diglet wrote: Thu Jan 26, 2023 9:43 pm What you're saying is completely correct in a DC world, but this is AC.
Ohm's Law works at all frequencies. It's not different for AC. RMS semantics can muddy the waters but do not fundamentally change anything.
Spoiler: show
To get frequency response, you just include reactive impedances (which I have not, more on that below). Some analysis frameworks have special-case assumptions baked in that appear to say otherwise when their assumptions do not apply. My best guess is that you are using a framework for heavy coils, such as power transformers and motor control, and it has embedded assumptions about phase shift. The use of rms and unit circles hints in that direction.

For e-stim the only potentially reactive impedances I see are the transformer coils and body tissue. Transformer coils are of course classic inductors which normally have impedance linear with frequency (Z=sL), so I have long wondered how people make audio line transformers (the ones we use for e-stim) to have a flat frequency response across the audio spectrum. Somehow they do, so they are not a source of phase distortion and rolloff--if they were, our stereos would sound like mud.

Body tissue is probably somewhat capacitive, but I haven't seen it modeled in e-stim theory, and since our devices work as designed, it is probably negligible at stimming frequencies. Wouldn't plain tri-phase be unpredictable if body tissue were reactive? The waveforms would be jumbled by frequency-dependent attenuation and phase shifts, and you would not get the expected peaks & troughs at the Common. This would only happen for multi-frequency waveforms, but triphase in the general case is not limited to one frequency. Even cfs6t08p's generator defaults to multiple frequencies 420,520,620, a spread of 50%, and it works fine. I have been using 444,555,666,777 Hz. Because they are part of a harmonic series, they produce a stable waveform that feels crisp and makes perfect peaks & troughs that feel as expected.

For these reasons, my triangle of resistors (the same as your circuit diagram) does not include reactive impedances. There's probably some accuracy to be gained by adding capacitances to each leg of the triangle, but that seems to be second-order at best, or again, our standard tri-phase techniques would not work.
diglet wrote: Thu Jan 26, 2023 9:43 pm The amplifier regulates the voltage between + and - of the same channel. It does not regulate the voltage between channel 1 and channel 2...
Correct, until you connect the two channels in tri-phase. Then, the amplifier absolutely regulates the difference between A+ and B+, indirectly, through the fact that A- and B- are locked at the same potential. If I understand correctly, your entire approach is for tri-phase. Maybe you're saying the same thing in different words.
Spoiler: show
My earlier comment covered the non-triphase case, when I talked about a square of pair-wise resistors (including both diagonals) instead of a triangle. Even though the amplifier does not enforce a voltage across channels when not in tri-phase, all terminals are still patched into the resistive network of the body, so the currents between them are dictated by geometry and tissue impedances, and you have no control of them independently after specifying the voltages on A & B (paths between separate channels will have zero current IF they do not physically overlap). I don't recommend trying to guess at those resistance values, but the 6-resistor square tells you the overall dynamics and lets you pick ratios based on relative distance and surface area. Clever choices of those ratios could be instructive, but I have not done much with it.

The overall picture led me to "soft tri-phase" which is wonderful and I've described elsewhere. Just connect a B lead inside the current path between the A leads, and don't connect any leads together. It "softens" some harsh tri-phase waveforms. Analyzing this as a 4-point linear path would also be interesting, but I haven't done it.
diglet wrote: Thu Jan 26, 2023 9:43 pm you can have 5v, 5v, 0v rms over the three resistors. But you can also have 5v, 5v, 5v rms
This use of rms seems to be part of the disconnect, but talking in rms still does not resolve everything.
Spoiler: show
I am computing raw time-varying waveforms, the voltages at each point in time, not rms (and this is the basis of my statements about Ohm's Law across frequencies). That makes it much easier to see how peaks/troughs line up. You have labeled one point -1V and another +1V, which seems like NOT rms, so I don't understand the framing.

At each moment in time, you have separate control over TWO things: the voltages at point A and B, and then you get whatever you get at the Common. Dealing with a pure sinusoid, there is nothing else happening, so talking in rms complicates the semantics without fundamentally changing anything. With a multi-frequency waveform AND reactive loads, you would have phase relationships to shape the output, but even if you entered multiple frequencies into cfs6t08p's generator, I'm not seeing the reactive loads.
diglet wrote: Thu Jan 26, 2023 9:43 pm This is my dilemma. At the bottom position, the model predicts more current flows to the head than at the top position. But I don't feel anything at the bottom, why?
Is this due to what I am pointing out? I do not understand your model enough to say. Or maybe most of the confusion lies in the rms semantics. Any talk of current canceling out at the common without regard to phase implies not rms.


I still don't follow how your initial unit circle pertains to this case and how we can control the phase (or voltage, or anything) at three separate points (independently!) from two inputs. I also don't think there's much point guessing at the resistance in the body, since it is linear with distance and electrode surface area, whereas RATIOS between the resistances are helpful. I'm not trying to get in your way, but I'm curious to understand your approach. You have a great idea, and we all want it to succeed, but I think part of the premise is flawed and is complicating things.


SIMPLER OPTIONS
Why not just open Audacity and compute (L+R)/2 into one track, put that on the head, and turn the volume dial on your box for direct control? Put (L-R)/2 on the other track and connect it wherever you want, also with its own volume knob. Then you don't need to generate a new e-stim file for every recalibration (moving/changing electrodes).

You can even tri-phase with (L+R,L-R)/2. Again, put (L+R) on the head for its own volume control, and put Common somewhere less sensitive (the butt! is great). (L-R) goes anywhere that makes a nice push/pull with the head. Super simple, no more head overload!

To reduce dynamic range, use an audio compressor, also available in Audacity, directly on the output waveform, instead of the midpoint/etc. calibration. An audio compressor gives you breakpoints exactly where you want on the waveform--midpoint, 80%, wherever, each with its own gain. You can compress any file this way after the fact, without getting involved in how it was created, cfs6t08p-style or whatever.

I recently discovered how to make mpv do all of this math on the fly during playback...
Spoiler: show
...so I don't even need Audacity (I haven't tried mpv compression yet, but it's available). My cfs6t08p tracks have become building blocks for waveforms to generate in real time for a stim session, so they're actually more useful to me now in their raw form than before, because I can build anything from them on a whim and "calibrate" by turning the knobs on my e-stim box during the sessions. I hope to write all this up and provide an Audacity plugin and a user-friendly mpv script... someday... if I ever stop spending all my time compulsively torrenting.
EVEN simpler--no computing required--connect your tri-phase backward (A- to B+) so that the right channel is flipped. Then (A) current is roughly (L+R), so put that on the head with its own volume knob, and Common is (L-R). The (L+R) head current varies with actual body resistance ratios (hence "roughly"), but in my experience it still feels great.


REFERENCES
Pretty basic but they do cover Ohm's law frequency response and the flatness of audio line transformers.

What is Frequency Response?
https://edcorusa.com/blogs/hi-tek-gadge ... y-response

Ohm's law
https://en.wikipedia.org/wiki/Ohm%27s_law
diglet
Explorer At Heart
Explorer At Heart
Posts: 390
Joined: Sun Dec 11, 2022 5:43 pm

Re: New estim tracks for CH videos

Post by diglet »

I always appreciate a good discussion.
Ohm's Law works at all frequencies. It's not different for AC. RMS semantics can muddy the waters but do not fundamentally change anything.
You are, of course, correct. My 3dof model is based on the assumption that the nerves don't have infinite bandwidth. By ohms law, there are two degrees of freedom at any infinitely small point in time. I think the nerves send signals based on the average voltage/current over a short amount of time (wild guess: 10ms). I also don't think it matters whether the current flows in or outward, so expressing the strength of the waveform in rms sounds like a reasonable choice.

It's not surprising you're confused by the initial diagrams, because I didn't understood this at that time. The way I used negative voltages was bogus. I was under the impression that I could do everything without entering the time domain, not true.

I have not considered induction/capacitance. I don't think it is relevant at this point in the development process. Somewhere in the future I would like to exchange the sine wave for an arbitrary waveform, then these concepts might become relevant. In another thread, someone mentioned the term energy saving curve, you mentioned 444/555/666/777, the coyote uses a square waveform at high intensity with low duty cycle, I believe all of these are exploiting the same mechanisms.

Correct, until you connect the two channels in tri-phase. Then, the amplifier absolutely regulates the difference between A+ and B+, indirectly, through the fact that A- and B- are locked at the same potential. If I understand correctly, your entire approach is for tri-phase. Maybe you're saying the same thing in different words.
Yes that was my point -- with three phase, the mathematics are clear because the neutral is regulated. With four separate pads, the mathematics become more murky... I suspect 4 pads (with 2 driven channels) still has the same number of degrees of freedom as 3 pads with a shared common, and the same unit circle math is still appropriate for driving 4 pads. But this is just my intuition, I didn't do any math to confirm this.
Is this due to what I am pointing out? I do not understand your model enough to say. Or maybe most of the confusion lies in the rms semantics. Any talk of current canceling out at the common without regard to phase implies not rms.
I believe the issue is what edger477 pointed out. If I use a star resistor network instead of a delta resistor network, it becomes obvious why the observed behavior happens. Specifically:

Image

If the two waveforms are 180° out of phase, the bottom resistor has an rms of zero. This is what happens at FileFlax bottom position.

I worked out the math on paper to see if there was a relation with the calibration parameters, but this turned out to be a dead end. The math works, but there is no obvious relation with the calibration parameters.

I make no attempt at calculating body resistance. The phase diagram is based on the vrms between the three pads. What's the current? I don't know and I don't think there is a general solution. My solution is to give the user lots of knobs to adjust the current based on the position.

SIMPLER OPTIONS
These options are indeed simpler, but have some limitations...
Why not just open Audacity and compute (L+R)/2 into one track, put that on the head, and turn the volume dial on your box for direct control? Put (L-R)/2 on the other track and connect it wherever you want, also with its own volume knob. Then you don't need to generate a new e-stim file for every recalibration (moving/changing electrodes).
If the two channels are far apart and no current flows between, this does indeed fix the problem but you also severely limited the number of different sensations that can be felt in the cock. If the channels are close together, it will act like a three phase setup.
You can even tri-phase with (L+R,L-R)/2. Again, put (L+R) on the head for its own volume control, and put Common somewhere less sensitive (the butt! is great). (L-R) goes anywhere that makes a nice push/pull with the head. Super simple, no more head overload!
This approach works, but:
It does so by chopping off some parts of the unit circle. Whether these sensations are important, I don't know.
It transforms the input in a nonlinear way. If the author intended to stim the three pads in a particular order, or hit the peak of the stroke at a particular time, those timings are changed.
There is only one calibration parameter. This might be sufficient, it might not.

Even if this did solve the strong head stim problem without any drawbacks, I still think my approach has several advantages that make it worth exploring.


I made this diagram to show the relative strength (rms) of the three channels (left, right, center) for my transformation, conditional on the script position (alpha, beta). This might be useful for understanding my choice of coordinate system and the degrees of freedom. If the right point of the triangle is head, then right is max head stim (fileflax top position), left is max ball stim (fileflax bottom position), up/down moves the sensation between the bottom and top of the shaft. The third degree of freedom (magnitude) is not shown.
Image

Feel free to ask more questions.
diglet
Explorer At Heart
Explorer At Heart
Posts: 390
Joined: Sun Dec 11, 2022 5:43 pm

Re: New estim tracks for CH videos

Post by diglet »

I tried to reverse engineer a couple of stimfiles, to see what their phase diagram looks like. For curiosity's sake.

Cock hero Contract, FileFlax version.
Image

Random funscript, edger477's generator (900hz).
Image

Cock Hero: VR Champions 2020 viewtopic.php?f=25&t=22889
This one looks interesting.
Image

CH Freedom viewtopic.php?f=25&t=22889
Not sure what that garbled mess is about. Maybe it's good?
Image

E-stim fantasy, part 1 viewtopic.php?t=22111
No phase modulation in this one.
Image

Random funscript, my software.
Image
Post Reply