SimHub Bass Shaker effect: AM generates low frequencies from pucks and exciters

blekenbleu

SimHub+Arduino hacker
Premium
As a small offering of appreciation for those who contribute to this community,
attached is a SimHub ShakeIt bass shaker profile
that provides tactile sensations below frequencies
for which Dayton exciters and pucks deliver useful energy.
It operates on the same principle as AM radio,
namely modulating a higher (carrier) frequency
by a lower frequency signal. In this profile,
that signal is based on vehicle speed,
but that could be replaced by any other suitably scaled telemetry.

Since SimHub maximum refresh rate is 60Hz,
the highest modulating frequency possible is 30Hz,
which wants a "carrier" frequency greater than 60 Hz.
JavaScript:
if (null == root['phase']) {  // initialize
  root['phase'] = 0;
  root['inc'] = 1;
}
// Applying logarithm to telemetry helps spread values over frequencies
// avoid dividing by < 1 and log of values < 1
var a = Math.max(1,10 - 1.7 * Math.log(Math.max(1,$prop('SpeedLocal'))));
//return a
// generate sawtooth approximation to sine
if (a <= root['phase']) {
  root['phase'] = a;
  root['inc'] = -1;
}
else if (0 >= root['phase'])
  root['inc'] = 1;
root['phase']+=root['inc'];
return (80 / a) * root['phase'];
 

Attachments

  • AM.siprofile.txt
    11.1 KB · Views: 310
Last edited:
I was trying something like this out several months ago via my DAW connected to my bass shakers. I was able to create some pretty impressive engine rumble and rpm sensations with a desirable carrier wave (e.g. resonant frequency sweet spot) and an LFO for the modulation. But I was not sure if there was a way to recreate this in SimHub. Your post seems to confirm that it is possible, but I'm not sure where to start. What do you do with the script you linked? Is there a guide somewhere that explains all of this?

Thanks!
 
I was trying something like this out several months ago via my DAW connected to my bass shakers. I was able to create some pretty impressive engine rumble and rpm sensations with a desirable carrier wave (e.g. resonant frequency sweet spot) and an LFO for the modulation.
How did you get game telemetry to the DAW?
That is my ongoing project, using an ESP32-S2 module with Node.JS for SimHub Custom Serial to MIDI.
While carrier resonance gives more tactile energy, avoiding it reduces blurring modulation details.

I am very interested for a cheap/free DAW with such effects that can be controlled by MIDI...

But I was not sure if there was a way to recreate this in SimHub. Your post seems to confirm that it is possible, but I'm not sure where to start. What do you do with the script you linked? Is there a guide somewhere that explains all of this?
Indeed, SimHub is rather lacking in formal documentation;
it has lots of plugins and options that are only understood by web search,
reading in his Discord or fumbling around in it.
Some instructions are at his GitHub Wiki:

In SimHub Settings > Plugins, enable ShakeIt Bass Shakers.
In ShakeIt Bass Shakers > Profiles manager, one can, among other things,
Import profile or Export profile. These profiles will be in your Documents\SimHub folder.
Download that AM.siprofile.txt file to that Documents\SimHub folder and remove '.txt' from its name,
then it can be imported by SimHub.
Once imported, hover the mouse over Custom Effect, then copy effect to clipboard,
so that it can be pasted to whatever other profile you care.
Opening the effect, then EDIT to tweak coefficients to suit your game, car and driving style.
 
Last edited:
How did you get game telemetry to the DAW?
Sadly I didn't. I was not actually in the game. I was outputting the audio from my DAW directly to the base shakers. I used the pitch bend wheel to simulate the throttle for RPM, which was tied to the LFO rate and the carrier wave (oscillator) pitch (just slightly) as well. I think I even played around with an adjustable low pass filter too. It was a proof of concept and showed promising results. I was able to get a much greater engine feel by modulating a frequency range that my bass shakers can easily reproduce. By modulating the carrier wave you can simulate ANY low frequency that is beyond the bass shaker's capability. Even lower than 1Hz (although kind of pointless).

I'm not sure about cheep or free DAWs. I own a paid license for Reason 12 (by Reason Studios - formerly Propellerhead). Several DAWs have free 30 day trial periods. Some will even work for free outside the trial, but in a cut down mode. Reason is mostly fully functional in Demo mode with the exception that you cannot load saved projects (songs). However you can load saved instrument patches.

Thanks for the info above. I'll take a look at it when I get some time and I'll try my luck. :cool:
 

What are you racing on?

  • Racing rig

    Votes: 528 35.2%
  • Motion rig

    Votes: 43 2.9%
  • Pull-out-rig

    Votes: 54 3.6%
  • Wheel stand

    Votes: 191 12.7%
  • My desktop

    Votes: 618 41.2%
  • Something else

    Votes: 66 4.4%
Back
Top