Voice Changer

This used to be a separate program…it now works together with the eyes! This requires the following:

Usage

The PDM microphone connects using a tiny 4-pin cable to the “PDM MIC” port on MONSTER M4SK — it’s near the reset button. You can optionally fashion a pop filter over the mic using a little fabric or foam, it’ll probably sound better.

Connect an audio cable from MONSTER M4SK headphone jack to the aux input on the powered speaker.

The voice changer is off by default! It saps a fair bit of compute cycles (anywhere from about 25 to 50 percent…with a corresponding drop in eye animation frame rates) so you’ll have to turn this on only if you really want it. To do so, you'll add a line to the config.eye JSON file on the root level of your MONSTER M4SK. Use:

"voice" : true

to enable the voice changer. See the link below for an example config file that's been set up with voice changer parameters. Add a trailing comma if it’s not the last line.

There are three buttons along the top edge of the monster’s left eye. Tapping the inner button (the one closest to the nose) raises the pitch by 5%. Tapping the outer button (near the corner) lowers the pitch by 5%. Tapping the middle button resets the pitch to its default.

The default pitch is set with the pitch keyword. This is a floating-point value, where 1.0 is normal (voice is passed straight through, no change), 2.0 will double the frequency (raising the voice by one octave), 0.5 will halve the frequency (lowering by one octave).

pitch can be from 0.4 to 4.0…but the actual usable range where you can still understand things is a bit narrower, perhaps 0.6 to 2.0…you’ll want to experiment a bit to find a setting that achieves the desired effect with your own voice.

Microphone gain (sensitivity) is set with the gain keyword. If installed in a mask and you need to adjust the microphone to compensate for its placement relative to your mouth, use this with a floating-point value where 1.0 is “normal” sensitivity, 0.5 is quieter by half, 2.0 is double the loudness and so forth. There are limits to what can be done here, you may want to experiment a bit with this setting and the volume of an external amplified speaker.

Don’t shout! Speak in a normal to soft voice, let the speaker take care of amplification. This helps the “weird” voice be heard over your own.

Similarly…speak at your normal voice pitch and let the voice changer do its thing. You don’t need to make a funny voice.

Need a Dalek voice effect? With the voice changer enabled as described above, also add "waveform" : "sine" to enable this effect, which applies a 30 Hz sine wave modulation to the pitch-adjusted voice — same as used for the original Dr Who Daleks. You can try other waveforms ("square", "sine", "tri" and "saw" are all supported) and other modulation frequencies ("modulate" : 100 for a 100 Hz modulation wave)…but, to be perfectly honest…this all turned out a bit disappointing, the feature is only left in there because the 30 Hz Dalek modulation was spot-on. With some experimentation with different pitch and modulation settings you might also get a passable “Chicken, fight like a robot!” voice from Berzerk, if anyone even remembers that one.

Example Config.eye File

Download: file
{
  // Doom-spiral eyes with voice changer
  "voice"          : true, //Turns on voice changer
  "waveform"       : "sine" , //Modulates voice with sine wave
  "modulate"       : 55 , //Modulation wave freq. in Hz
  "eyeRadius"      : 125,
  "eyelidIndex"    : "0x00", // From table: learn.adafruit.com/assets/61921
  "irisRadius"     : 125,    // Iris = whole eye!
  "pupilMin"       : 0,      // Pupil is always 0 size
  "pupilMax"       : 0,
  "pupilColor"     : [ 255, 255, 169 ], // Shouldn't show, but just in case
  "scleraColor"    : [ 255, 0, 0 ],
  "backColor"      : [ 255, 0, 0 ],
  "irisTexture"    : "doom-spiral/spiral.bmp",
  // The doom-red and doom-spiral eyelid bitmaps don't fully close.
  // This is to give the IMPRESSION of a blink without actually blinking,
  // so human eye behind is hidden better when doing Pepper's ghost trick.
  "upperEyelid"    : "doom-spiral/upper.bmp",
  "lowerEyelid"    : "doom-spiral/lower.bmp",
  "left" : {
    "irisSpin"     : 80    // Rotate iris @ 80 RPM
  },
  "right" : {
    "irisMirror"   : true, // Flip spiral image
    "irisSpin"     : 70    // Slightly different speed for weirdness
  }
}

Tips for using the Monoprice 5-Watt Guitar Amplifier

I have a love/hate thing with this speaker. On the plus side: it’s pretty inexpensive, is rechargeable, and is slim(ish) and clips to one’s belt or a lanyard, making it handy for costume use.

It’s really designed for guitar use and MP3 playback (from microSD card) and there’s some hoops necessary to get it to pass through audio undistorted…

  • Connect MONSTER M4SK to the AUX phono jack (center of three), not the MIC input.
  • After powering on, wait a moment and then press the “M” button to pass through audio.

You can see in the photo that I’ve labeled mine and highlighted the correct jack and button…I use it infrequently and forget this ritual (also helps when others are borrowing it).

This is not an Adafruit product and we do not provide support. Please check with Monoprice if you encounter trouble.

This guide was first published on Aug 20, 2019. It was last updated on Aug 20, 2019.
This page (Voice Changer) was last updated on Jun 01, 2020.