Upcoming Events

Join TCR Virtual today! AC events on Simracing.GP ACC events on Simracing.GP Weekly rFactor 2 events

What racing gear do you use while sim racing?

  • Gloves

    Votes: 280 19.5%
  • Boots

    Votes: 61 4.3%
  • Gloves + Boots

    Votes: 140 9.8%
  • None

    Votes: 952 66.4%

SimHub ShakeIt Bass Shakers custom 4 corner tire slip

blekenbleu

Premium
Messages
1,094
Points
2,047
My sim driving experience is only in Assetto Corsa with an office chair and wheel stand.
I have no experience with the full SRS ShakeKit, which may offer a superior experience.
Without a harness to keep one's back contacting them,
back transducers in ShakeKit Plus seem of arguable benefit.

Already using SimHub, having unused motherboard 7.1 sound and obsolete Denon surround receiver,
a ShakeSeat pad was ordered because:
An equivalent can be made using Dayton pucks with e.g. 40cm square zippered cushion covers
and EVA foam floor tiles.
Standard SimHub ShakeIt tire slip does not consider tire loading.
For example, an inside tire may be fully unloaded during cornering,
with very high slippage, but no perceived sensation in actual driving.
Ideally, a SimHub effect would change frequency based on slip but change amplitude based on load.
This is not seemingly impossible using only currently implemented SimHub support.

This SimHub profile attempts to approximate track sensations from street tires,
when securely harnessed in a fitted racing seat.
Usefulness of such haptic feedback may vary widely among users:
IMO, this wheel slip feedback is less compelling than that from 2DOF harness tensioners,
but reduces a sense of "something missing".

Unambiguously directional haptic cues seemingly requires substantially direct stimulation of
body parts, e.g. left and right thighs, lumbar and/or sit bones.
SRS_EVA.jpg

Sensations to be simulated here:
  • squeal for small slippage, transitioning to moaning with more slippage,
  • then shuddering near breakaway, with intensities proportional to tire loadings
Implementation replaces SimHub Wheels slip effect with a pair of Custom Effects
  1. latitudinal and longitudinal acceleration properties
  2. loaded tire slips, products of tire slip properties times accelerations
Again, because load modulates slip in telemetry,
heavily loaded small slip cannot be generated as strong high frequency tactile effect
and is confounded with larger slips at lower loadings..

Accelerations were originally estimated from speed and yaw sample changes, serving as G force proxies.
Earlier SimHub versions sampled speed and yaw at a lower rate than Assetto Corsa sample updates,
resulting in some changes 2x others, which code here detects and mitigates.
This was obsoleted by SimHub 7.3.14, which added Lateral acceleration support
JavaScript:
// lateral acceleration proxy
var y = $prop('OrientationYaw');
const tc = 3;  // IIR smoothing factor
const noise = 0.01 // non-linear filter threshold

// initialize IIR filter history
if(null==root["yaw"]) {
   root["yaw"] = $prop('OrientationYaw');
   root["delta_y"] = 0.2;
}
if (null==root["Gyb4"])
  root["Gyb4"] = 0.5;

var dy = y - root["yaw"];       // change between sample intervals

// yaw flips at +/- 180
if (Math.abs(dy) > 180) {  // yaw went +/- 180
  if (Math.abs(root["yaw"]) > 150)
    dy = -(y + root["yaw"]);
}

root["yaw"] = y;
y = root["delta_y"];    // previous sample change

// mitigate delta spikes from missed samples
var my = 1;     // sample interval
if ((Math.abs(dy * y) > noise)  // missed sample?
&& (Math.abs(dy) > Math.abs(1.8 * y)))
  dy /= (my = 2);

root["delta_y"] = dy;

// IIR low-pass filter
var Gyb4 = root["Gyb4"];        // IIR output
Gyb4 += my * (dy - Gyb4) / tc;  // low-pass IIR
root["Gyb4"] = Gyb4;
return 50 + (50 * Gyb4);  // range 0-100
// 50 corresponds to no G force
Longitudinal acceleration (right channel) is similar, substituting speed for yaw.

Loaded tire slip corner effects use products of tire slips and G force proxies:
JavaScript:
// left front loaded slip
// convert unsigned lateral Gs to signed left G
var L = $prop('ShakeITBSV3Plugin.Export.proxy_G.FrontLeft');
L -= $prop('ShakeITBSV3Plugin.Export.proxy_G.RearLeft');
// convert lateral G to left load
L = 25 + 25 * L / 100;
// convert unsigned accelerations to signed deceleration
var d = $prop('ShakeITBSV3Plugin.Export.proxy_G.FrontRight')
d -= $prop('ShakeITBSV3Plugin.Export.proxy_G.RearRight');
// apply deceleration to left load
L += L * d/100;
//return L;    // load test
// apply left front load to conditioned corner slip
var s = $prop('ShakeITBSV3Plugin.Export.proxyS.FrontLeft');
return s *  L / 100;

CUSTOM EFFECTS could be combined, except that
SimHub acceleration and wheel slip signals want Response filter tunings
before calculating and applying loads. In particular,
SimHub WHEEL SLIPS are relatively inconsistent among games and cars,
so want tweaking as telemetry signals
in order to exercise the intended range of tactile frequencies.

A complete SimHub ShakeIt profile is available on GitHub.
April 23 update uses SimHub 7.3.14 acceleration properties
instead of Javascript delta yaw and speed calculations.
It also adds a mono channel for unloaded rears wheel slip AKA trailing oversteer.
Slip telemetry used in this profile is not portable among games.
A portable update is being worked on, pending live testing...
 
Last edited:

blekenbleu

Premium
Messages
1,094
Points
2,047
if you want more
One trick for wheel slip and load is determining an appropriate dynamic range for telemetries.
These may be not merely game-, but also car- and track- specific.
  • tracks (and corners) have different grip limits
  • specific tires' grip limits vary with time
  • load limits vary massively among high downforce, classic and street cars
Since tactile feedback for loads and slips are IMO a poor substitute for real life motion perceptions,
we want to tweak telemetry for any given game+car+track to maximize tactile perceptions,
given actual tactile effects are already tuned for available transducers.
So far, my impression has been that most games, tracks and cars can be accommodated
by adjusting my CUSTOM EFFECT Response filter Input Gains and Gammas for loads and slips
so that Live effects graphs rarely if ever saturate (in other words, values <= 100).
This seems contrary to SimHub's default input effect paradigm, involving relatively frequent saturation.
My experience has been that SimHub default WHEELS SLIP gain makes it
impossible to sort tactile feedback for recoverable from unrecoverable slips.

To be clear, I expect that all users should be tuning intermediate telemetry effects
using displayed Live effects graphs, not perceived tactile sensations.
This presupposes that useful tactile effects are valued over immersive effects.
My tactile pucks and exciters are incapable of what many demand for immersion.
 
Last edited:
Messages
70
Points
51
most games, tracks and cars can be accommodated
by adjusting my CUSTOM EFFECT Response filter Input Gains and Gammas for loads and slips
so that Live effects graphs rarely if ever saturate (in other words, values <= 100).
I'll download that shaker output overlay that RangeyRover posted. Will prove very useful in making these adjustments per car/track/condition. I often jump back and forth with changes made and would benefit greatly from a visual overlay to tune with confidence
 

blekenbleu

Premium
Messages
1,094
Points
2,047
Slip and load telemetry mixing

I now suspect that rendering 4-corner telemetry effects to one or two channels
is better accomplished generally, rather than averaging (rescaled summation),
by using e.g. JavaScript Math.max(lf, rf, lr, rr)
 

blekenbleu

Premium
Messages
1,094
Points
2,047
I could not get your latest version to run with RaceRoom
It appears that, for portability among games,
  • Proxy_G should be derived from AccelerationSway, Surge properties
  • ProxyS should be derived from the WHEEL SLIP effect
    • SimHub appears to supply no corresponding properties for some games
    • SimHub WHEELS SLIP effect from iRacing appears to be always Mono
  • To obtain full range telemetry values e.g. in iRacing, loaded wheel slips CUSTOM EFFECT wanted 2.5x internal gain increase
    • other game users may reduce Response Filter Input Gain to compensate..
Lotus49.jpg
 
Last edited:

blekenbleu

Premium
Messages
1,094
Points
2,047

SimHub 7.4.7 Acceleration property bug​

Here are plots of positive and negative AccelerationSway:
Swaybug.gif

and AccelerationSurge:
Gbug.gif

.. which both show occasional simultaneous positive and negative values,
which is physically impossible,
but results from separately smoothing positive and negative telemetry values.
This bug is not game-specific.
 
Last edited:

Mr Latte

Premium
Messages
3,690
Points
1,861
@RangeyRover, got RR installed but why am I getting game audio coming through Simhub and your effect? Too tired this evening after a busy day at work to look much into it tonight.

Is this meant to be or some issue on my end?
 
Last edited:
Messages
70
Points
51
I would be enormously happy if there was a way to modulate the frequency or wave type or a custom wave type, but SimHub does not offer that facility.
In order to make up for this shortfall I personally also add LFE sound from the game to each corner, which is very rewarding, especially over kerbs, as the amplitude and frequency change based on speed, a feature I would love to see in SimHub.
That is intentional Mr. Latte
 
Last edited:
Messages
19
Points
27
@RangeyRover, got RR installed but why am I getting game audio coming through Simhub and your effect? Too tired this evening after a busy day at work to look much into it tonight.

Is this meant to be or some issue on my end?
Your default sound card is the one the shakers are on.
I use Voicemeeter Banana to route game audio where I want.
And use the Voicemeeter input as my default.
You DO NOT need it for my effect to work, just change the default sound device.
That is intentional Mr. Latte
It's how I run my setup, but its not a simhub deal. RRE is pointing to the default sound device for this to happen, in fact I think RRE always points to the default sound device which is a bit of a pain.
 
Last edited:
Messages
70
Points
51
It's how I run my setup, but its not a simhub deal. RRE is pointing to the default sound device for this to happen, in fact I think RRE always points to the default sound device which is a bit of a pain.
Do you filter or eq any of the game audio coming through highlight the kerbs in particular?
Was thinking you might get toi unwanted chatter if the game audio comes through without tuning it to taste through software like Voicemeeter
 

Mr Latte

Premium
Messages
3,690
Points
1,861
Your default sound card is the one the shakers are on.
I use Voicemeeter Banana to route game audio where I want.
And use the Voicemeeter input as my default.
You DO NOT need it for my effect to work, just change the default sound device.

It's how I run my setup, but its not a simhub deal. RRE is pointing to the default sound device for this to happen, in fact I think RRE always points to the default sound device which is a bit of a pain.

Currently, I have 3 Creative X3 soundcards connected at present.
My audio was going to one card and coming out fine on headphones (Primary Device).
I use the 2nd card for Simhub Tactile and the 3rd card for additional channels or monitoring more than 8 channels at once.

Im confused, lets confirm is it normal for your custom effect to route game audio into Simhub from the (Primary Device) to output on the (Simhub Selected Devices). As this is part of your own approach?

Please note, Ive not really tried RR that much before.
 
Last edited:

Mr Latte

Premium
Messages
3,690
Points
1,861
Not wanting to drag discussion away from the OPs own solution so please say if wanting these posts removed or if intruding?

I re-ran things, still game audio coming through Simhub. (Part Of Your Approach?). So what I did was to disable ALL GAME AUDIO via game menus to determine only what your custom effect is doing regards just tone generation with the slip.


Perhaps I need to do something else, but so far this is my findings using your effect with it set to Corners. I have it outputting on 2x large BK for front wheels and 2x TST 429 for rear wheels. Not ideal for the test but its just to get feedback for all 4 wheels.




Audi RS5 DTM 2020 / Suzuka

Example 1:
Auto Calibration Bug?
Here the car is stationary, yet look at the activity, all wheels are outputting feedback, so it appears the sensitivity is far too high or not working correctly with this car at least? Any slight movements in steering, seem to present more of a surface/contact sensation, rather than more useful feedback of when slip is happening or increasing.

Example 2:

Here we see in a spin all 4 wheels output to the higher Hz set for the effect. So what we have representing the tyres and mass of a whole car spinning is very little sense of true depth in felt low frequencies. I understand you have primarily entry-level transducers for the corners but herein lies the problem you face.

How do we generate, more authentic slip effects if using 44Hz - 64Hz? Offering 20Hz of range (including, using the best of the budget transducers abilities) but really producing limited felt sensations with lack of depth and true variation of the felt sensations from the effects lowest-highest telemetry values?

I do see independent wheel operations which are good and maybe needing some work to help improve the sensitivity issue? Although part of that may be to do with the (Auto Calibration). Also, assuming I am using this correctly? However, I would say if referring to, the "quality of the feeling" being generated its a bit meh for me and I desire more authentic slip sensations giving greater range and much more satisfaction. It depends to what you are used to I suppose.

One query I have, is that users will also apply similar Hz to other effects and how then does a person distinguish "actual slip" activity from those other effects (when or if) we apply standard approach with simplistic single layers to represent effects?



My Own Perspective?
I'm keen to work with people that can bring advantages with how the telemetry is used but I do not think there is much desire for specific car profiles being needed. Possibly for engines yes, not however regards slip as it's making things too complicated. We just need effects to work well with each sim and then apply the "effect gain volume" appropriately to suit users' preferences and variations in different sims or for specific cars.

I commend the work being done but I think 4 wheel installations are not the way to go and people are better seeking to buy into the more technically accomplished hardware with front/rear installations combining TST/BK . This will achieve a much better level of immersion in quality and range of frequencies. Having that is much better than having 4 channels with independent feedback but limited by the points highlighted.

However, I am also interested in what would be possible with effects that offer excellent individual wheel feedback on an installation with higher quality hardware and applying multi-layers to better represent the effects generated sensations.

So Im still keen to take on what you guys are learning/sharing regards the telemetry activity but apply to that my own experience or approach in creating the effects felt sensations.
 
Last edited:
Messages
70
Points
51
One query I have, is that users will also apply similar Hz to other effects and how then does a person distinguish "actual slip" activity from those other effects (when or if) we apply standard approach with simplistic single layers to represent effects?
What frequency ranges do you recommend with wheelslip? This is what I'm currently using
 

Attachments

  • WHEELSLIP expanded.jpg
    WHEELSLIP expanded.jpg
    765.5 KB · Views: 20

blekenbleu

Premium
Messages
1,094
Points
2,047
OPs own solution
Multiple threads about SimHub wheel slip effects would be inconvenient for others.
Without feedback and profiles from others, improving formulae for multiple games would not occur.

I do not see the need for specific car profiles working
My profile varies tactile frequencies based on input,
namely conditioned slip modulated by estimated load, rescaled.
If telemetry for neither slip nor loads provoke full scale property excursions,
then frequency range is limited.
I need to better understand SimHub PROFILE PROPERTIES Autocalibration slider
and the extent to which that may obviate a need for manually adjusting Response filters
in effects which export output values as properties,
but Autocalibration seemingly does not strongly affect WHEELS SLIP,
which appears to vary by a factor of nearly 50 among cars and games.
 

Mr Latte

Premium
Messages
3,690
Points
1,861
We can certainly look to see exactly what your profile generates and compare it to other effects or indeed a standard effect using some multi-layers.

With @RangeyRover effect working in RR and it appears your current one not, then I cant show those both to compare 1-1.

Also with his effect not working in ACC then once again I can't compare both of your examples. I don't have iRacing installed or R Factor2. My focus on effects thus far has been primarily in AC and ACC.

So it would be great if you both had effects that worked via your own approaches/ideas for AC or ACC. That way we could highlight all of our methods or indeed anyone elses.
 
Last edited:

Mr Latte

Premium
Messages
3,690
Points
1,861
Here is an example of one of my multilayer slips using (standard slip effects) compared to RangeyRovers. Play this at 1/2 speed to make it easier to compare the activity of each channel.

How big are the differences or benefits of these custom-per-wheel effects?
I have not tried to balance effect layer volumes, this is more to highlight the channel activity.

FL / FR / RL / RR
Notice again, from the very start how his effect (bottom 4) is active in "N" and part of the seemingly over-sensitive operation perhaps and exaggerating small slip values with having a higher output.

Comments or criticisms on this approach to highlight are welcomed.
 
Last edited:

Mr Latte

Premium
Messages
3,690
Points
1,861
What frequency ranges do you recommend with wheelslip? This is what I'm currently using
Lots of variation from under 10Hz to under 100Hz seems to give plenty of range.
My approach is different however as I route certain layers to specific hardware (BK/TST/EXC)
So an effect is operational with different layers with their own response curves and frequencies and the complete felt effect is a combination of all of those.

We simply go well beyond the limitations of a single unit's operation and importantly not just output an effect into the body from only one position or installed solution. We get much more convincing effects by this approach and it does not appear that all this effort into "per wheel loaded/unloaded" activity really will add that much benefits to the user's immersion.

So far I am still more engrossed by the outright quality of an effect and being able to use its greater working frequency range to determine the amount of slip happening, than if I feel or do not feel for a brief moment activity for a specific wheel.

More examples/comparisons can later be shown.
 
Last edited:

blekenbleu

Premium
Messages
1,094
Points
2,047
it would be great if you both had effects that worked via your own approaches/ideas for AC or ACC.
I have a candidate profile with working telemetry for AC, ACC, AMS2, iRacing and RRRE,
based on SimHub recordings (thanks to others),
It would be good to get e.g. Project Cars 2, rFactor 2 and Automobilista recordings,
and SimHub recordings for other games are welcome and would be tested...
I not have yet recovered sufficiently to complete wheel stand rebuild
for testing "live Sim" tactile effects.
With luck, that can happen within a week or so.

I appreciate that you will anyway not use my tactile Output settings for a 4-puck ShakeSeat cushion,
in favor of front/rear tactile effects for multiple shakers and higher dynamic ranges.
The profile will include an alternative front/rear (loaded understeer and oversteer) CUSTOM EFFECT for that application..
 

Mr Latte

Premium
Messages
3,690
Points
1,861
I have a candidate profile with working telemetry for AC, ACC, AMS2, iRacing and RRRE,
based on SimHub recordings (thanks to others),
It would be good to get e.g. Project Cars 2, rFactor 2 and Automobilista recordings,
and SimHub recordings for other games are welcome and would be tested...
I not have yet recovered sufficiently to complete wheel stand rebuild
for testing "live Sim" tactile effects.
With luck, that can happen within a week or so.

I appreciate that you will anyway not use my tactile Output settings for a 4-puck ShakeSeat cushion,
in favor of front/rear tactile effects for multiple shakers and higher dynamic ranges.
The profile will include an alternative front/rear (loaded understeer and oversteer) CUSTOM EFFECT for that application..


I'm keen to see what you or anyone can offer from custom effects to improve the operation of effects activity. I can't help with recordings, too time-constrained and as mentioned don't have many sims installed.

My profile varies tactile frequencies based on input,
namely conditioned slip modulated by estimated load, rescaled.
If telemetry for neither slip nor loads provoke full scale property excursions,
then frequency range is limited.


Okay, that reads as all impressive, so below is EXACTLY what your effect generates in ACC
Do you see much happening differently regards channel activity in this example, between your custom effect and standard effects using my own multilayer approach?



I read alot, about how you technically describe the operation of your effects, but I don't see a lot of benefits in its operation when doing these comparisons. Nor do I see a great deal of difference between the four channels. Can you highlight anything from the video that we should take note of please or want to confirm settings?


It does appear your effect has more output at lower telemetry values, but my approach seems to show more range in dB from the lowest to highest values and of course using a much wider scope of frequencies. Particularly noticeable in the spin or on the grass. So I can see from this comparison that I could improve how "low slip values" on my effect need some improvement in its activity.

I am not convinced that increased amplitude with limited variation in frequencies for wheel slip as an effect is enough? If or when confined by what entry-level transducers can offer as what they can achieve does not bring sensations towards a more authentic immersion.

ACC is maybe not the best usage case example neither as we do not see in this example any excessive independent wheel activity.

To me, I am a bit perplexed as it appears you're just maybe trying to be over technical on the least technically accomplished hardware.
 
Last edited:

blekenbleu

Premium
Messages
1,094
Points
2,047
it appears you're just maybe trying to be over technical on the least technically accomplished hardware.
In other words, if I am so smart, why am I not rich?
(How about: no promotions during the last 20 years of my "career",
being cited as "not a team player".)
Bottom line: telemetry driving a relatively wide range of frequencies (approx. 800 to 30Hz) thru 4 pucks in a cushion
usefully sorts loaded wheel slips, which helps more quickly learn how much speed can be carried thru corners
and when/how much braking or acceleration can be applied. That learning accumulates, lap after lap.
IMO, tactile feedback e.g. while spinning on grass or otherwise out of control is of no value.
Deliberately limiting dynamic range not only suits these transducers but also minimizes distractions, IMO.

There is also a certain enjoyment in optimizing utility of minimal resources.
 

Mr Latte

Premium
Messages
3,690
Points
1,861
In other words, if I am so smart, why am I not rich?
(How about: no promotions during the last 20 years of my "career",
being cited as "not a team player".)
Bottom line: telemetry driving a relatively wide range of frequencies (approx. 800 to 30Hz) thru 4 pucks in a cushion
usefully sorts loaded wheel slips, which helps more quickly learn how much speed can be carried thru corners
and when/how much braking or acceleration can be applied. That learning accumulates, lap after lap.
IMO, tactile feedback e.g. while spinning on grass or otherwise out of control is of no value.
Deliberately limiting dynamic range not only suits these transducers but also minimizes distractions, IMO.

There is also a certain enjoyment in optimizing utility of minimal resources.
What you seen is what your effects generate. In lowest to highest telemetry scenarios.

I do not see much benefits or improved per wheel output with all that you say your effect is doing compared to standard effects.


We are well aware of the capabilities and limitations of various tactile hardware.
 
Top