I spent last week trying out the SSW and figuring out how it works, to be able better comprehend what can be achieved at the moment.
Overall it's great to have software to handle tactile in the first place, on the other hand there is really lot to be desired.
I will move to the dream land with this post where I would try to describe how I think the tactile software should work. With this, there would be no need to combine audio or mix several softwares for the tactile.
Right now I have 2x BK Advance on seat and pedals for testing and I'm using Project Cars 2.
I think the tactile in simracing stands on two basic effects, engine and bumps, at least for me.
1) Engine
SSW is using 50 hz sound for the engine beat by default. It adjusts the volume of the effect based on actual RPM percentage of maximum RPM. This application is oversimplified and could be made so much better.
For example if you have car with minimum 800 RPM (in neutral) and maximum 7000 RPM. It corresponds to.
800 RPM = 13,33 hz
7000 RPM = 116,66 hz
I have tried in Audacity how low frequency feels (down to 7 hz) and its great. Even BK Advance can play this low sound satisfactory (for engine beat). I kept this sound running in the background and switched to game to a car standing in place in neutral and with humming motor. Instantly I really felt presence as the frequency of the buttkickers was matching frequency of the sound the motor was making perfectly. Tactile was handling vibrations and audio was giving the car character.
The software should be able handle this dynamically and match the frequency of the played sound to the frequency of the engine in hz.
I'm working in IT (front end developer) so I'm no programmer per se, but I have some general knowledge regarding programming.
Whether this could be achieved by directly generating the sound frequency for the speaker - preferable.
Or for example having 100 individual wav files with range of sounds from 5 hz to 105 hz and the software could play them individually. It would start playing one file based on actual RPM, just before when the file ends, say 0.005 s before end, it would ask the game telemetry what's the current RPM of the engine and based on this information it would play the next file with corresponding hz.
Or maybe playing one file with fixed frequency set to 1 hz 10 times faster than normal to get 10 hz sound.
There might be problems with latency, but I suppose if it's good enough for precise force feedback and car physics calculations which I think is more demanding, it should be also enough for tactile. There is a question whether shared memory variables are updated with the same frequency as the game is using for physics, ffb etc.
I have commited to getting TST 239 for dual role for engine effect (already ordered splitter & amp etc.). However with how SSW is working I think it's not possible to take advantage of dual role, as I think it plays the same frequency of 50 hz over the whole range of available RPM only with different volume, so it's not possible to separate higher RPMs from lower and send them only to TST239. I suppose this dual role can be only leveraged by adding "audio tactile" to the mix.
2) Bumps
The bump effects should be based mainly (if not only) suspension and its actual position on it's possible travel. I think we get all the feedback from the car going in through the suspension.
Take for example Project Cars 2 telemetry view.
And notice how the suspension moves when going over the kerbs etc. here is
link to the video.
The software should generate the actual sound curve exactly in connection with the suspension travel.
This would generate real time feedback for each wheel (shock absorber) and what it is doing. It would have 100 % correct separation between the channels exactly as the game perceives it.
It could also not use the entire range of the gain (volume) sound for the suspension travel, but leave some space, for example last 20 %, for the times when suspension hits the bump stop to get quick bump response.
Right now as the bumps are implemented we cannot get different feeling bumps, as the software is probably taking the information on bump strength and then playing same sound effect with only different volume.
With the approach I described above we could get different feeling for going through longer declination in road which could take for example 0.25 s (4 hz) and have this roller coaster effect if I exaggerate it as opposed to driving over some smaller slow down stripe which would be much quicker response, for example 0.04 s (25 hz).
This could be achieved as described in the engine example above, it's the same principle.
If the suspension travel data shared by game are adequately precise, it would also be able to generate road texture feeling.
---
These are my findings / opinions, if it would be ever possible for someone to implement it like this I don't know, I will try to do some further research into it to at least have some general insight about this topic.
Maybe this could be interesting for
@=Andre= to read to maybe get some inspiration if he would like to expand SSW functionality in the future, or maybe he could give us some feedback that this not technically possible / why etc. Get it working like this, if possible, would however probably require tremendous amount of time so it might not be viable for implementation with small community like this. Also mainly people with 5.1 setups would benefit the most which is even smaller group... Maybe in time the community will grow and perhaps the game developers implement proper support from the beginning, or it will draw some other player in tactile software field.
If this ever becomes reality, I'm going to get the big Buttkicker LFEs even for the 4 channels for each wheel as these would be able to provide much better response to slow bumps which are experienced quite commonly. This would be also improved with new games having better and more detailed road surfaces, one can only dream what future might bring
---
For now I will be experimenting with what we have right now - SSW setup and files modification. I will now focus more on building the rig - isolation etc., so I can experiment later with setup closer to the final build.