Any way to add a custom touchdown sound in MSFS?

400-800hz frequencies, and anything above 100hz, is just buzz, has no power that you can feel, and is also audible. 10-50 hz has the power to move you, literally. That’s the one you want.

I’m 100% sure that touchdown and roll on ground, turbulence, big winds, brutal maneuvers of the plane, emit LFE in the 30-50-maybe 60 hz range. This makes MSFS great already for transducers, and you don’t necessarily need simshaker aviators. And to complete the stuff that are missing from sound only, you can add some configurable vibrations for the joystick, for the flaps, landing gear, and whatever else buttons you want; for this you can use either SIMHUB or i heard SRS also has a “joystick” functionality that works with any game. I use simhub because it’s free.

Anyway, regarding the LFE sound effects in MSFS…they are a bit quiet, and you have to amplify those low frequencies until about 60 hz. And when i say amplify, actually i mean you will actually normalize them to the other sounds level, and compress them. In msfs they are quiet, so i did a 24db increase from 30hz to 60hz. Using the voicemeeter output soft limiter, so that makes sure that peaks are cut and signal is compressed. If you amplified the signal 24db and still do not feel rumble when landing, then the shakers are the problem. But i have some diy solutions for that, if you need ideas.

Maybe do the szinalsky test and take note of the frequencies the shakers feel good, so you know where the problem is.

Huge thanks again for the info, you are obviously know what you’re talking about. I understood your previous post as cutting frequencies below 30, so what I tried is this:


and this

I will attempt to boost 30-50 Hz and suppress anything above 60Hz.
How did you do 24Db increase? The Voicemeeter EQ only lifts 12dB max. Also, I noticed there is a significant lag/latency issue because I had to put it to MME driver mode for all interfaces to work. May I need to use ASIO4All or something to minimize latency? What are you using? Can you elaborate? Maybe a screenshot of how your Voicemeeter is set up etc.? Thanks.

So, next I will try something like this then? How can you compress just the low freqs - the Voicemeeter EQ is on the output, and there is no limiter on the output, so I can only limit the full-spectrum signal on the Kickers (that’s the full signal mirrored from the HMD), which is routed to A2 (motherboard audio that is fed to amp and kickers)

Afaik there is a hard limiter manually configurable on the input, and on output a soft limiter that is always active. I think the soft limiter on the outputs limits to +12db max, but maybe i don’t know what i’m talking about; it just works well for this, seems to compress and doesn’t distort.

Regarding lag, you really should try to set everything on WDM or KS. MME has about 60-80 ms latency on ITS OWN.
In my case, i have the shakers on A1, because it’s the main output and fastest, then i have the Reverb G2 on A2 with a 60ms delay(because vibrations need time to propagate, for gaming 60ms is ok), and then i have A3 which i use either for a tv or some headphones listening to music or movies, with 100ms delay. This 100 ms delay makes it so that when you listen to music in headphones, the bass you hear coincides with the vibrations that have to travel through the seat to your body. 100 ms makes fast percussion bass coincide; if you talk about muddy or “long” bass, you could lower this to maybe 60 ms.
If you have to use the card in MME, consider adding about 60ms delay for the mme part + another 30-100 ms delay(depending on your particular setup) to account for vibrations travelling, IF you want the feels to coincide with the sound from headphones. The delay can be added from voicemeeter properties.
You can also lower the buffers a bit, to decrease global delay in processing.

Voicemeeter setup. Voicemeeter VAIO input is strictly used for simhub effects, and voicemeeter AUX input is global sound. A1 is shakers configured to 7.1, a2 is the reverb, and a3 is the TV. Also i should mention that in MSFS i reduced the engines sound to 40-50, depending on the plane, as they otherwise drowned all the other great effects(wind, buttons, scenery, etc).

shakers eq

reverb g2 eq

Thanks again. So what I see is that it’s only effectively different from my setup in more agressive EQ in 30-60 Hz range. I will try your exact EQ and see if it makes a difference. I also tried lowering engine volume.
In terms of routing I’m working the other way around, so VR audio is not delayed, but mirrored to desktop (which is Voicemeeter) and then whatever it does it’s post-mirroring. I will see what I can do with the latency. WDM doesn’t work simultaneously with mirroring somehow… I will try ASIO4All maybe. It should help with latency.

One more question: the level is important with this set-up, so the limiter/compressor works correctly. When you are flying, are the meters hit the peg always/frequently/rarely/never? What is the level you have while in normal flight? I can adjust my gains that way so we have a similar signal level. Then if it doesn’t work it must be my speaker coils…

If i remember correctly, watch out for delay introduced by the windows desktop mirroring. Last time i tried it, it introduced over 200-300ms of delay compared to the device, so that means your shakers will be lagging VERY badly, when you actually want them faster, because the vibrations take some extra time to propagate through the seat to the body.

Also, in the particular case of MSFS or other games that do not run 90 fps, but either run 30-40 fps or reprojection, motion to photon latency is from 50 to 100 ms anyway. So this means If you rout the audio through voicemeeter and bypass windows, you have 50 to 100ms of “spare ms” to add as delay, because the image is already behind the sound because it’s doing the reprojection stuff. It would be easier and more future proof to rout it like i do, so you can keep the setup even if you change the VR to another one that does not have mirroring, or a tv, or whatever. In my case i just change the A2 or A3 to whatever i need to use at that particular moment.

In normal flight i’m not sure, but it’s tame, -20, -10db i guess. When landing, or turbulence, 0 to +12db, depending on the particular maneuver. I could maybe make a video with voicemeeter in the background.

Video would be great, if that’s not too much to ask… I can try the routing your way. I was just worried about audio latency in the HMD. If I can get it there without noticeable latency, that would be fine. G2 automatically makes itself default device on connection, so not sure how to get around that when routing…

Here is the settings for WMR and also for STEAMVR to have manual control over sound so they never take over if you setup voicemeeter as default device. Also, settings for voicemeeter auto start with windows and delays, buffers for outputs and inputs. For inputs, 2048 buffer is safe for stereo device configured in sound control panel, 4096 buffer is safe for 5.1 configured.

Great, thanks! I assume you have Voicemeeter VAIO set as default Windows playback/communication device? So you’re using WDM for speakers and TV but KS for G2 HMD… I’ll try your config.

Voicemeeter AUX (the one on the right) is the windows default. Voicemeeter VAIO is not default and it is used only for simhub.

OK, got it. I will try the same. We’ll see what I get.

So far - no luck with your settings, but it feels I’m getting closer. I checked Online Tone Generator - generate pure tones of any frequency and my DIY kicjers noticeably vibrate from 11Hz to about 160Hz, where it becomes more of a sound. Peak is about 20-30Hz.

That’s good news regarding the shakers.
I made a new eq, i’l paste it here. If you want to try, open your saved configuration with your favourite text editor and replace these parts with mine.

<Bus index='1' channel='1' cell='1' EQon='1' EQtype='0' dblevel='12.00' freq='37.75' Q='10.00' />
<Bus index='1' channel='1' cell='2' EQon='1' EQtype='0' dblevel='12.00' freq='31.75' Q='7.00' />
<Bus index='1' channel='1' cell='3' EQon='1' EQtype='0' dblevel='12.00' freq='45.85' Q='7.00' />
<Bus index='1' channel='1' cell='4' EQon='1' EQtype='0' dblevel='12.00' freq='66.22' Q='7.00' />
<Bus index='1' channel='1' cell='5' EQon='1' EQtype='3' dblevel='0.00' freq='293.44' Q='21.20' />
<Bus index='1' channel='1' cell='6' EQon='0' EQtype='0' dblevel='12.40' freq='40.00' Q='7.00' />
<Bus index='1' channel='2' cell='1' EQon='1' EQtype='0' dblevel='12.00' freq='37.75' Q='10.00' />
<Bus index='1' channel='2' cell='2' EQon='1' EQtype='0' dblevel='12.00' freq='31.75' Q='7.00' />
<Bus index='1' channel='2' cell='3' EQon='1' EQtype='0' dblevel='12.00' freq='45.85' Q='7.00' />
<Bus index='1' channel='2' cell='4' EQon='1' EQtype='0' dblevel='12.00' freq='66.22' Q='7.00' />
<Bus index='1' channel='2' cell='5' EQon='1' EQtype='3' dblevel='0.00' freq='293.44' Q='21.20' />
<Bus index='1' channel='2' cell='6' EQon='0' EQtype='0' dblevel='12.00' freq='40.00' Q='7.00' />

These lines should replace yours exactly after the “< VoiceMeeterBUSEQ >”
They are eq for Output A1 channel 1 and channel 2. If this still is not enough, take note that the last cell in each channel is deactivated. If you activate it by pressing “on”, it will add another 12db at 40hz. I really think this should work, as it’s kinda overkill… To test it fast if it works, simply crash your plane. It should vibrate the hell outta everything. Then try landing on the grass, rudders, fast maneuvers, etc.

I tried all kinds of curves yesterday, sweeping low freq range, trying maxing out the limiters and removing them, made engine 40% and even made it 0% and the best I could do is very vaguely feel the ground roll, and with a touchdown I almost not sure if I just hear it or feel it too. So it’s a bit better, but not really great. Ground roll and touchdown especially do not have enough low-end to agitate my shakers without the engine overshadowing it even at low volume. What opened my eyes is the online tone generator, it shows that my DYI transducers are actually good, they could vibrate very strongly and in very low ranges. So I think I will try SimShaker for Aviators + paid sound module, it has a demo so I should be able to check if it works with my shakers. It basically assigns effects for all kinds of events. I’ll mix it in with what I have now and together that should produce a good effect.

I also went your way - disabling audio mirroring and routing audio entirely in Voicemeeter, and lowering buffers, and it seems to work well. I’m not sure if the latency in HMD increased, but it’s not bad anyway. The whole chain has drastically less latency now. So if SimShaker will work it could be a great thing. So thanks for your help, it’s been useful. I’m in a better position now than I was.

I’m still surprised that you feel pronounced touchdown and ground roll. I hear in G2 audio that there is much more low-end in engine rumble, and ground roll/touchdown are almost mid-range noises, with little low end. It obviously works in your case somehow. From what I hear and see there is just nothing to amplify with those sounds. I even recorded the sound and run through spectrum analyzer, just to see if there’s something in 20-30Hz I’m not hearing in G2. But no, no major spikes there. Well, I think it just not worth more time experimenting more, I’ll just have to test and buy Sound Module if it works. I tested the demo without the sim and generally works fine. I’ll test later if it works OK with the sim, and if it does I could dial in specific effects the way I like it. And I will mix the normal audio with EQ for engine rumble etc. at lower level. BTW good tip about lowering engine volume in general. Maybe it’s less realistic, but I can hear all other sounds better and that somehow makes it feel more real, though in real-live headset yoo probably won’t hear all those switches etc. anyway. Still, it adds to the experience.

I have no idea why it works here and doesn’t for you, but i guess simshaker is the only solution left.

This is the tactile transducers land, where the variables involved are just too big too have a general setup that works for everyone. From different shakers and amps, to different mounting and materials that respond differently at particular frequencies.

Keep us posted regarding simshaker. I’m curious how well does it work, and maybe we can compare, simshaker vs simhub+ingame amplified sound like i have.

But the SimHub doensn’t do anything for MSFS, does it?

It does not have any telemetry from the game.
But you can use it anyway with the replay function, and code specific button presses or axis movement to provide the feedback you want. This mixed with the ingame sound i have all the feedback i want. And you can do fake effects for other games that will never have telemetry, like spintires when changing gear for example, or idk, fallout 4 vr when you shoot something or jump.

For msfs i have feedback for flaps up/down, landing gear up/down, parking brake toggle and fake g-force based on stick+throttle+trim+rudder(average of stick position off center+rudder multiplied by throttle and trim position; it’s fake g-force, but works remarkably well)

It does involve some slight coding skills though, so not as plug and play.

I installed, configured and tested Simshaker for Aviators with the demo of Sound Module (limited to ground roll and stall fx for testing in game, but all fx can be triggered for testing). The software requires to install an old version of SimConnect and has a GUI straight from the 90s. But it works. Ground roll has “bumps” or “expansion seams” that are felt and that increase in speed as your speed increases, like Zibo Mod in X-Plane did. That is a very nice effect. Stall shaking also works, and it all mixes nicely with the general feed that gives me motor vibration. I think I’ll buy the Sound Module to enable all effects. Unlike a low-pass audio feed those effects are very precise. Mixing it audio makes it more realistic, just need to tune levels properly.