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: 277 19.5%
  • Boots

    Votes: 61 4.3%
  • Gloves + Boots

    Votes: 139 9.8%
  • None

    Votes: 944 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
ACC is maybe not the best usage case example neither as we do not see in this example any excessive independent wheel activity.
SimHub's WHEELS SLIP effect has much lower output for ACC than other games,
at least in @dMASS' AMRV8 GT3 Suzuka recording.
As usual, differences between left and right slip are typically less than between front and rear,
but ACC has 4 independent channels, unlike iRacing:
ACCslip.gif

Here are corresponding front and rear loaded slips, from current candidate formulae:
ACCfr.gif
 
Messages
70
Points
51
SimHub's WHEELS SLIP effect has much lower output for ACC than other games,
at least in @dMASS' AMRV8 GT3 Suzuka recording.
As usual, differences between left and right slip are typically less than between front and rear,
but ACC has 4 independent channels, unlike iRacing:
View attachment 502532
Here are corresponding front and rear loaded slips, from current candidate formulae:
View attachment 502535
The response looks far more dynamic, can't wait to get my hands on it!
 

Mr Latte

Premium
Messages
3,690
Points
1,861
SimHub's WHEELS SLIP effect has much lower output for ACC than other games,
at least in @dMASS' AMRV8 GT3 Suzuka recording.
As usual, differences between left and right slip are typically less than between front and rear,
but ACC has 4 independent channels, unlike iRacing:
View attachment 502532
Here are corresponding front and rear loaded slips, from current candidate formulae:
View attachment 502535

Yes but the differences in the channels is not always that great, I have looked at many recordings.
What I will do is turn off the Auto-Calibration and compare that at a later point.

If comparing your effects to standard, I can use the meter level tools to determine how to balance both. I showed this in one of the other videos for the LUFS. The input gain on the response curve combined with the effects volume.

Simhub should be designed to cope with the differences in various titles.
I believe that is why we are given these controls.

I can see how those alter the output. It's easy to also duplicate an effect to have eg: 8 variants and then using different settings for each, then send those to different outputs and compare the same effect with multiple settings via the monitoring tools.

You can show and look at Live output all day if you want, what matters is what the tactile transducers receive in tone generation and can use from that.
 
Last edited:

blekenbleu

Premium
Messages
1,094
Points
2,047
Simhub should be designed to cope with the differences in various titles.
SimHub auto calibration works fairly well for e.g. Acceleration properties,
on which @Wotever's experimental-belt-tensionner depends.
Here is something @Wotever wrote about slip and automatic calibration:
In fact most effects values are speed unit (or kind of (speed of the suspension, speed of the slip on the ground ...) So there is no maximum value out of box, so automatic calibration Indeed learns from the telemetry what is the boundaries
Imagine you have incoming values going from 0 to 500, and for instance 99.9% of the values never goes over 80, and very very very rarely you have a peak at 500 (this will vary from game to game, track to track car to car ... ) Then simhub will pick 80 as the actual maximum instead of 500, this will ensure to get a good contrast between the higher effects and the smallest.
... but maximum slip values will obtain for e.g. drifting or uncontrolled spins,
while spin values for peak grip want different calibration.

FWIW, @Wotever wrote this on discord about slip in iRacing on 09/21/2020
"iracing slip is the only one I didn't changed, as there's no slip data"
" It's a basic RPM vs Speed algorythm as Iracing does not gives any wheel telemetry"
 
Messages
70
Points
51
This is really interesting. I never really gave auto calibration a chance, but after reading this I will be spending some time making comparisons
 

Mr Latte

Premium
Messages
3,690
Points
1,861
I have observed telemetry changes seemingly resulting from auto calibration,
but do not know how to reset SimHub telemetry to uncalibrated.
I believe via the Calibration tab on the right-hand side or when saving a profile you can slide it between "Pre-Defined or Automatic"

It does not appear we can apply this to only specific effects or indeed layers, so personally, I prefer to stick to "Pre-Defined" and manually tune effects.
 
Last edited:

blekenbleu

Premium
Messages
1,094
Points
2,047
You can show and look at Live output all day if you want, what matters is what the tactile transducers receive in tone generation and can use from that.
I recorded SimHub tactile output for FrontLeft channel of my candidate 4 corners loaded wheel slip effect as a .wav file,
then used Audio-Spectrogram, a Windows Python script, to render that as a spectrogram.
The clip is 3369 to 3812 of dMASS' 10 Sep 2021 amrv8_vantage_gt3@Suzuka Circuit:
LoadedSlip.gif

..resulting in this spectrogram:
Spectrogram.png

Given that higher frequencies are configured for smaller loaded slip values and vice versa,
this result is as expected.
Since SimHub presumably employs square waves, which have strong odd harmonics.
appreciable energy at 3x and 5x fundamentals is unsurprising.
I have yet to find a quick and painless way to make .wav recordings,
but rendering ShakeItFrontLeft6_1.wav to a spectrogram was easy:
Command.gif
 

blekenbleu

Premium
Messages
1,094
Points
2,047
I have yet to find a quick and painless way to make .wav recordings
Renee Audio Recorder Pro (Trial) is quite satisfactory.
Trial version is limited to 30 second clips, more than sufficient IMO for spectrograms.
It records directly from a selected output device (no need for an audio capture card)
e.g. whatever sound card SimHub uses.
Output card gets selected in PC Sounds Test
ReneeTest.gif

However, despite selecting Mono (under Settings->Files),
it seemingly mixes all active channels on that device.
Otherwise, simple to configure and use.
 
Last edited:

blekenbleu

Premium
Messages
1,094
Points
2,047
I recorded SimHub tactile output for FrontLeftchannel of my candidate 4 corners loaded wheel slip effect as a .wav file,
then used Audio-Spectrogram, a Windows Python script, to render that as a spectrogram.
That Python script generated spectrograms to 20kHz;
an Internet search yielded a hit for low frequency Python spectrograms,
using librosa (which required installing many Python packages) to simplify,
so I whacked this:
Python:
# https://www.earthinversion.com/utilities/efficiently-compute-spectrogram-in-python-using-librosa/
import sys
import librosa
import librosa.display
import matplotlib.pyplot as plt
import numpy as np

def plot_spectrogram(audio_path, argv = ''):
    # play with hop_length and nfft values
    hop_length = 128
    n_fft = 2048
    y_axis = "log"  # linear or log
    fmin = None
    fmax = 2400.0
    cmap = 'jet'
    bins_per_octave = 22
    auto_aspect = False

    (data, sr) = librosa.load(audio_path, sr=None)  # no resampling

    # Plot spectrogram
    D = librosa.amplitude_to_db(np.abs(librosa.stft(data, hop_length=hop_length, n_fft=n_fft)), ref=np.max)

    fig, ax = plt.subplots(figsize=(8, 3))

    img = librosa.display.specshow(D, y_axis=y_axis, sr=sr,
                               hop_length=hop_length, x_axis='time', ax=ax, cmap=cmap, bins_per_octave=bins_per_octave,
                               auto_aspect=auto_aspect)

    ax.set_ylim([fmin, fmax])
    ax.set_aspect(0.005)
    ax.set_title('loaded slip spectrogram')
    fig.colorbar(img, ax=ax, format="%+2.f dB")
    plt.xlabel('Seconds')

    print('Graphic interface...')
    plt.show()

    plt.clf()

    return

plot_spectrogram(sys.argv[1], '')
.. and a simple .bat file to enable drag and drop tactile .wav files from Renee Audio Recorder:
python e:\my\Audio-Spectrogram\spectrosa.py "%1"
.. yielding e.g.:
Figure_1.png


Hmm, if that spectrogram is accurate, the High effect (lower Hz) limit should be raised...
 
Last edited:
Messages
19
Points
27
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.
Please try with the F3. It's not setup for the DTM2020
Which are tail happy nutters
I just tried it with them. The effect is horrible.
I'm afraid that responses and profiles have to be tuned by car.
 
Last edited:
Messages
19
Points
27
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.
I think you are missing the point of trying to get detection of events. Each persons rig/budget and hardware determines Audio out. Detection is a constant. Audio output and waves are specific.
 

Mr Latte

Premium
Messages
3,690
Points
1,861
Please try with the F3. It's not setup for the DTM2020
Which are tail happy nutters
I just tried it with them. The effect is horrible.
I'm afraid that responses and profiles have to be tuned by car.

Yes I will get a look at it sometime.
Can you show us the differences each car makes in the generated output?

If applying this approach. I wonder how many people want or can be bothered with needing to tweak/tune responses and settings for each car? Sorry it just seems a lot of hassle, not for me.

Standard effects settings are working fine for most people, we can, of course, get more creative with how we apply different layers, so yes I gotta question if it's worth it all and I cant say I was like WOW with the approach your taking.

Each person to their own thing I guess.
 
Last edited:

blekenbleu

Premium
Messages
1,094
Points
2,047
I wonder how many people want or can be bothered with needing to tweak/tune responses and settings for each car?
Yes, that is an issue for slip, unlike e.g. RPM and acceleration effects,
which SimHub better equalizes among games.
Literally, people who want or can be bothered may be
about the same as those who work on car setups.

The extent to which your campaign for standardized transducer installations minimizes a need for tweaking audio settings cannot compensate for evident variations among cars and games' slips, even ignoring iRacing's lack.
What we can attempt, without changes in SimHub:
  • minimize the number of telemetry settings that need to change among games/cars/tracks
  • clear and repeatable procedure for adjusting those settings
  • for those without RaceBass, a repeatable procedure for adjusting SimHub Frequencies settings, independent of telemetry
 
Last edited:

Mr Latte

Premium
Messages
3,690
Points
1,861
Yes, that is an issue for slip, unlike e.g. RPM and acceleration effects,
which SimHub better equalizes among games.
Literally, people who want or can be bothered may be
about the same as those who work on car setups.

The extent to which your campaign for standardized transducer installations minimizes a need for tweaking audio settings cannot compensate for evident variations among cars and games' slips, even ignoring iRacing's lack.
What we can attempt, without changes in SimHub:
  • minimize the number of telemetry settings that need to change among games/cars/tracks
  • clear and repeatable procedure for adjusting those settings
  • for those without RaceBass, a repeatable procedure for adjusting SimHub Frequencies settings, independent of telemetry


Yes already we have had work done on determining which effects in each sim need perhaps different settings. It needs more of a deep dive but this is something I will use the beta testers for, giving feedback from their own preferred sims/titles.

People are not in the habit of seeking to have dozens of profiles for a single sim, then dozens more for another sim just to cover their favourite driven cars. Ask anyone now that has been into tactile for many months or years.

They generally make do with a few changes. So my position on this, is that if certain "custom effects" need such specific tuning then it overcomplicates things and my point that this approach is then being taken with people mostly with budget/entry-level hardware (hence 4 corners installations). So these more complex effects are then being greatly restricted by the limitations of that hardware and the potential in what they can accomplish in felt sensations is still very limited. Like I said being over technical on the least technical hardware.

What I can tell you is that the feedback I have gathered so far, is that very few people feel the need for per wheel slip. They are much more focused on having a "higher quality of tactile effects" than per wheel sensations. This is even before we take into account the issues with installation and crosstalk that are common problems with 4 way installations.

I have used your own effects so far on the best hardware, (TST 429 & LFE per corner) with some adapted effects layers and I do see potential with it, but I'm not willing to have to rely on specific custom effects for dozens of cars just to gain the slight benefits per wheel sensations might offer. Not when we can still achieve very good slip sensations based on front/rear in mono.

Sure I am still keen to see how you improve things and appreciate your dedication....
We have different perspectives which is okay but I can't ignore the reactions people are having with the multi-layer effects and using better quality hardware to bring more enjoyable and immersive tactile.

It's like the opposite, we want the best or more advanced hardware to be used but with the simplest way for people to fully enjoy its potential on various sims or cars with as little fuss as possible.
 
Last edited:
Messages
236
Points
202
What I can tell you is that the feedback I have gathered so far, is that very few people feel the need for per wheel slip. They are much more focused on having a "higher quality of tactile effects" than per wheel sensations. This is even before we take into account the issues with installation and crosstalk that are common problems with 4 way installations.
I agree with this as well. F/R is much more interesting / useful to me. I can pretty well tell inside / outside from the situation, 90% of the time....and visual/audible cues. Which is the same as in a real car.
 
Messages
19
Points
27
What I can tell you is that the feedback I have gathered so far, is that very few people feel the need for per wheel slip. They are much more focused on having a "higher quality of tactile effects" than per wheel sensations. This is even before we take into account the issues with installation and crosstalk that are common problems with 4 way installations.

I have used your own effects so far on the best hardware, (TST 429 & LFE per corner) with some adapted effects layers and I do see potential with it, but I'm not willing to have to rely on specific custom effects for dozens of cars just to gain the slight benefits per wheel sensations might offer. Not when we can still achieve very good slip sensations based on front/rear in mono.

Sure I am still keen to see how you improve things and appreciate your dedication....
We have different perspectives which is okay but I can't ignore the reactions people are having with the multi-layer effects and using better quality hardware to bring more enjoyable and immersive tactile.
For me, properly setup it's worth half a second a lap, especially in open wheelers.
I'm not sure why my experimental work had been compared and found lacking?
especially to a car I didn't advise it for.
I'll continue to work on this for my benefit.
@blekenbleu thank you for sharing. for me your approach was far superior to simhub.
 

blekenbleu

Premium
Messages
1,094
Points
2,047
properly setup it's worth half a second a lap
Yes, it's hard to convince others of the value of approaches that they misunderstand and disdain,
but I also do not doubt that a F/R "RaceBass" approach is rewarding for its advocates,
and I feel somewhat obliged to @Mr Latte for his pioneering and ongoing efforts.
Consequently, I will continue to fiddle with front/rear loaded slip telemetry solutions,
despite lacking an appropriate tactile configuration.

The 4-puck ShakeSeat solution is IMO both satisfactory and elegant;
consequently, it will continue to be my primary tactile solution for wheel slip.
Minimizing the amount of tweaking required for car/track/game loaded wheel slip setups
seems likely to be a journey of discovery, AKA process of illumination.
I suspect that telemetry tweaking for 4-wheel and front/rear solutions will be similar,
so long as both are deployed with the goal of exploiting traction limits.
 
Last edited:
Top