Stormtrooper Voice Changer Helmet uses Teensy to Mangle Audio

Halloween has come and gone, but this DIY voice changing Star Wars Stormtrooper helmet tutorial by [Shawn Hymel] is worth a look for a number of reasons. Not only is the whole thing completely self-contained, but the voice changing is done in software thanks to the Teensy’s powerful audio filtering abilities. In addition, the Teensy also takes care of adding the iconic Stormtrooper clicks, pops, and static bursts around the voice-altered speech. Check out the video below to hear it in action.

Besides a microphone and speakers, there’s a Teensy 3.2, a low-cost add-on board for the Teensy that includes a small audio amp, a power supply… and that’s about it. There isn’t a separate WAV board or hacked MP3 player in sight.

Making everything fit nicely in a project takes planning, and not only is the entire system self-contained in the helmet but there’s even ducted blower fans to help stave off heat exhaustion. The whole thing is beautifully done, and nicely shows off the capabilities of the Teensy when it comes to applying the audio filtering abilities.

We’ve seen voice changers using the Raspberry Pi + USB sound board, and even an Arduino + WAV shield in the past, but a Teensy based unit completely self-contained in a helmet is a first.

[via Sparkfun Blog]

25 thoughts on “Stormtrooper Voice Changer Helmet uses Teensy to Mangle Audio

  1. I noticed that the device is sound-activated, but I couldn’t hear the source audio being altered…maybe I missed it somehow?

    It’s actually pretty straight-forward to use a microcontroller to alter the frequency of the input (pitch up or down). THe simplest way is to input samples into a simple circular buffer at a constant rate, and read them out at a different rate. Works well enough for a simple device like this…

    1. I think one problem is that the source is not isolated from the output. You can still hear the original voice from the helmet. To do that without depriving the person wearing the helmet of oxygen would be a challenge for another project.

    2. Wouldn’t the circular buffer thing mean you’d eventually run out of buffer, as input samples come in, without the output ones being played yet? Or vice-versa, the chip trying to play samples that haven’t been input yet.

      That only works for fixed sounds. For live input, it doesn’t.

      My sister once had a cheap keyboard that did live, utterly real-time voice pitch changing. Dunno how it worked. Would heterodyning do it? Same way it does for radio. Just mix the audio with a frequency, then cut out the freq band you don’t want.

      Otherwise it’d mean FFT, and that’s asking a lot for an Arduino.

        1. Oh right, it’s the one with the ARM in it. Still an Arduino though! Or at least it supports it, so it CAN be one. Otherwise, what, it’s an ARM12345XYZ.

          Still, curious about how you do pitch-shifting, in realtime. I read about an analogue model that uses tape, and a bunch of heads on a wheel. The heads spin in the opposite direction (or I suppose the same) to the tape’s motion, as it’s being recorded. That apparently gets you pitch-shifting, and would therefore work with buffers I suppose. I can’t quite figure out how it all works, what you write, what you read, and how often. It would surely mean repeating certain samples, but WHEN do you do that? Surely you’d be glitching the waveform.

          1. I’ve done it, to reasonable effect using the method I described on an AVR a few years back. I qualified the approach with “well enough.” It isn’t a studio quality DSP algorithm by any means. It’s a cheap way to pitch shift with very limited resources.

      1. The circular buffer approach would of course not work for live. Heterodyning would work and sound very strange, as it ads a frequency offset. So the ratios of the overtones to the ground tones will be disrupted. It is/was done if somebody’s voice on TV had to be changed, e.g. for witness protection or similar. Of course the face of the person was not shown. But it could be done with analog means, without digital signal processing.
        To make it sound “good” (depending on what effect you want) you would need a multiplicative frequency change, but without a change in duration/speed. Today with DSP there are algorithms for pitch change which can do this, even in some DJ CD-players or mixing consoles.

  2. I could have sworn this was posted here already. I must’ve seen it somewhere else. Everyone was freaking out about the li-ion batteries right up against his face, and being breathed on (think moisture).

    1. There’s certainly not enough lithium in that battery to react with moisture in your breath. If that were the case, no one would be keeping a cell phone anywhere nearby on a humid day (recently recalled phablet phones excluded from this example). Li-ion fires are typically the result of thermal runaway from improper/faulty charging.

      1. With a phone you’re breathing in open air, not inside a mask which would allow more moisture to accumulate. I would be more concerned about moisture on the regulator board than the lithium that’s inside the cell.

        1. That’s a different matter. If I were doing this as any more than a POC, I would conformal coat, encapsulate, or at least move the boards. You initially implied that moisture was a concern for the batteries, which is absolutely false, and a myth I see perpetuated quite a bit.

          1. > a myth I see perpetuated quite a bit

            That’s fair.

            > at least move the boards.

            Don’t forget about the boards on the batteries themselves! Maybe that kapton is good enough. :/

        1. I like the table salt/sodium analogy. There was an incident at JPL recently involving Li-ion cells. An intern attempted to put the fire out with a C02 extinguisher, as did the fire fighters. Neither had Class D extinguishers on hand. The fire department was able to remove the batteries from the building and put out the fire with water.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s