reality_boy
Member
- Joined
- Feb 24, 2024
- Messages
- 6
- Likes
- 17
As part of my job I make audio effects that drive bass shakers and haptics for a video game. In order to do the best job I can, I wanted to develop a way to measure the performance of different transducers to both better understand there performance and to try and find an 'ideal' shaker to develop against. There is surprisingly little information out there on the performance of transducers or how to test them properly, so this has been a trial and error process for me. After a lot of work, I am starting to get reasonable data out of my tests. I'm hoping to share them here with the hope of coming up with better ideas on how to test shakers in the future.
For our needs were concentrating on frequencies below 200 Hz, the focus is on complimenting game audio with a tactile experience, so were trying to stay below the frequency where shakers start to produce more audible noise than discernable vibration. Bass shakers tend to have a very strong resonant frequency, so doing a single tone frequency sweep results in an unrealistic performance curve. That is to say if you feed a real life signal into the shaker, you will get far less power out of it then you would with a pure tone. This is easy to test out for yourself with a few tone generators. I experimented with driving the shakers with a white noise, pink noise, and even just white noise with a low pass filter at 200 Hz. All produced a fairly weak signal. The shakers are not efficient enough to replicate such broad spectrum signals. In the end I ended up playing 20 evenly spaced pure tones at 10 Hz intervals (10, 20, 30...200 Hz). This seems to generate a reasonable response, without saturating the shaker. I applied a random phase offset to the tones to try and break things up, so we don't end up generating a poor mans triangle wave.
For measurement of the vibration I'm using an M5StickC with custom firmware that reads the included accelerometer at 1 KHz, and runs a FFT on the output. This allows me to measure vibrations from 0-500 Hz fairly accurately. I then wrote custom software on the PC to both drive a signal through the sound card, and measure the resulting output. From there it was not hard to do an amplitude sweep and plot the resulting data out. I'm currently feeding all this through a ButtKicker BKA1000/4 amp. This amp is an older class A amp that is relatively linear up to around -20 dB input power. All my tests are designed to keep the signal below this point, so as to avoid any distortion from the amp or from saturation of the signal.
For the output data I'm currently logging the input signal gain in relative dB, and the output is measured in a dB scale that maps acceleration into something that approximates an audible dB scale. So 30 dB is approximately the threshold of feeling, and 100 dB is dangerous (will produce numbness with prolonged exposure). I'm not sure if it makes more sense to try and calculate amp voltage. I have a dummy load large enough to use to profile the amp, but I don't have a really good way of verifying the exact voltage that is being output with the given shaker. Basically I'm wide open to ideas here. Another issue is that I'm not capturing the full dynamic range of the shakers. The very tiny TT25-8 is outputting a signal close to the many times larger ButtKicker LFE, while in practice, properly mounted to a chair, the magnitude of the output does not compare. I'm not sure if the hanging rig just is way too light, or if there is something off with my procedure.
I have an older non technical paper on my setup, if you are curious. https://drive.google.com/file/d/1YaIsVrascj3dGshutN9zYxGpeE6TY5HS/view?usp=sharing
Here is the preliminary data.
For our needs were concentrating on frequencies below 200 Hz, the focus is on complimenting game audio with a tactile experience, so were trying to stay below the frequency where shakers start to produce more audible noise than discernable vibration. Bass shakers tend to have a very strong resonant frequency, so doing a single tone frequency sweep results in an unrealistic performance curve. That is to say if you feed a real life signal into the shaker, you will get far less power out of it then you would with a pure tone. This is easy to test out for yourself with a few tone generators. I experimented with driving the shakers with a white noise, pink noise, and even just white noise with a low pass filter at 200 Hz. All produced a fairly weak signal. The shakers are not efficient enough to replicate such broad spectrum signals. In the end I ended up playing 20 evenly spaced pure tones at 10 Hz intervals (10, 20, 30...200 Hz). This seems to generate a reasonable response, without saturating the shaker. I applied a random phase offset to the tones to try and break things up, so we don't end up generating a poor mans triangle wave.
For measurement of the vibration I'm using an M5StickC with custom firmware that reads the included accelerometer at 1 KHz, and runs a FFT on the output. This allows me to measure vibrations from 0-500 Hz fairly accurately. I then wrote custom software on the PC to both drive a signal through the sound card, and measure the resulting output. From there it was not hard to do an amplitude sweep and plot the resulting data out. I'm currently feeding all this through a ButtKicker BKA1000/4 amp. This amp is an older class A amp that is relatively linear up to around -20 dB input power. All my tests are designed to keep the signal below this point, so as to avoid any distortion from the amp or from saturation of the signal.
For the output data I'm currently logging the input signal gain in relative dB, and the output is measured in a dB scale that maps acceleration into something that approximates an audible dB scale. So 30 dB is approximately the threshold of feeling, and 100 dB is dangerous (will produce numbness with prolonged exposure). I'm not sure if it makes more sense to try and calculate amp voltage. I have a dummy load large enough to use to profile the amp, but I don't have a really good way of verifying the exact voltage that is being output with the given shaker. Basically I'm wide open to ideas here. Another issue is that I'm not capturing the full dynamic range of the shakers. The very tiny TT25-8 is outputting a signal close to the many times larger ButtKicker LFE, while in practice, properly mounted to a chair, the magnitude of the output does not compare. I'm not sure if the hanging rig just is way too light, or if there is something off with my procedure.
I have an older non technical paper on my setup, if you are curious. https://drive.google.com/file/d/1YaIsVrascj3dGshutN9zYxGpeE6TY5HS/view?usp=sharing
Here is the preliminary data.

