Failed experiment: Using FM synthesis for vibrator control

Xbox Live Indie Games was notorious for a best-seller chart that was dominated by ‘massage’ apps. These just ran the rumble continuously at a selectable power. From this I infer that someone, somewhere, was managing to get themselves off using vibrations from a 360 controller*.

Vibration seems like a promising addition to a fetish game. Not that I’ll be adding it to Fleshcult in the foreseeable future: there’s no web API for force feedback. But still, I started looking into what I could achieve with a native app.

I was stuck by a parallel between vibrations for ears and vibrations for clits. You control the 360 rumble by setting the motor voltage on each of the two rumble motors (there’s a slow heavy one and a fast light one). More voltage means more revs. There’s a family of sound synthesis techniques called FM synthesis where you modulate the frequency of an oscillator using another oscillator. Rumble motors are oscillators too.

You might be familiar with FM synths from early PC sound cards like the AdLib and the SoundBlaster. They used a Yamaha OPL2 to synthesise MIDI music. While they generally did a shitty job of emulating real instruments, they did manage to achieve a wide variety of timbres from melodic to percussion and clear to distorted. If I used the same techniques, could I achieve different timbres of vibration and would that give different sensations?

I wrote a quick test program for a 360 controller connected to a Windows PC. I ran into these problems:

  • In FM synths you can set both the amplitude (volume) and the frequency (pitch) of the carrier oscillator. With the rumble motor the amplitude and frequency are tied together.
  • A motor with a weight attached is a lot heavier than a speaker cone and has correspondingly worse inertia. The heavy motor takes about 300ms to spin up (going from 0hz to around 20hz) and the light motor gets off the mark quicker (~100ms), but takes about 1s because it gets all the way up to 30hz-40hz.
  • What’s worse, the motors on the 360 controller are mounted vertically. At low voltages the motors don’t have enough grunt to raise the weight up the uphill side. This means there’s a floor below which sometimes nothing will happen, depending on where the weight is (and software has no way of knowing). The heavy motor can only run between 10hz and 20hz, and the light motor has a range of 3hz-30hz. Obviously I don’t want players to have to hold the controller vertical while they’re playing, so I have to live with this.
  • The waveform of the oscillation is dominated by the uphill/downhill effect and so that’s always the resulting timbre. If you like pulse modes on vibes you’ll probably like it anyway because the downhill swing gives the heavy motor a meatier throb than it’d otherwise be able to achieve if it were set horizontally.
  • Because of the inability to vary the waveform, narrow frequency ranges and lag on spin-up, all I managed to get were what felt like different pulse rhythms. This is old territory. AFAIK most vibes have a range of different pulse modes.

* Were you one of the folks who bought a massage app? Not being a clit owner, I have questions. Was it actually effective? Were you clothed, or was there a dental dam between you and the controller, or were you just really fastidious about cleaning controllers? What was the attraction? It’s not a sex toy, so it’s more discreet?

One thought on “Failed experiment: Using FM synthesis for vibrator control

  1. Jimmy leSquidd says:

    The PS2 game Rez came with a special “trance vibrator” that was intended to enhance the synethetic properties of the game, but really just gave girlfriends a reason to watch their boyfriends play video games.

Comments are closed.