Bender Voice Assistant

Hello everyone,

i created a voice assistant that looks and talks like Bender Bending Rodríguez from Futurama.

IMAGE_ALT

He is about 60cm tall. You can move the arms, legs and head. It’s also possible to open the door und put some things inside.
All the credit for the nice model goes to @JHB_17720 from printables.com

Things i used:

Hardware

  • ESP32 dev board
  • DFPlayer Mini (+ 16gb Micro SD)
  • NeoPixel Ring with 16 LEDs
  • INMP441 Microphone

Software

  • ESPHome
  • Home Assistant Conversation Agent
  • Google Cloud STT
  • openwakeword

What he does:

  • When he is speaking the neopixel ring is randomly pulsating so that it looks like he is talking
  • When he connects to wifi he says “I like it here, this place has class”
  • When you tell him to do something he answers with some random stuff
  • When he doesn’t know what to do he answers with “Uh… i don’t know” and the neopixel is pulsating in red

What i use him for:

  • When my airquality monitor says it’s stinky bender tells me that in a “charming” way :slight_smile:
  • He notifies me when my tea is ready
  • Turn on lights, switches, shutters, etc. with my voice by saying “hey bender turn on …”
  • “Hey bender set temperatur to 21° in the living room”
  • He can play mp3 files from the DFPlayer mini so i can listen to music
  • He says something random when somebody enters the room (only on daytime)

The next step is to get the ESPHome voice assistant and media player components running on my ESP32. Maybe then i could have him say things with Benders voice and he could also answer with the Piper TTS voice for the stuff i don’t have good audio files from the show.

Cheers
Harry

"Jimmy crack corn and I don’t care. "

This is fantastic. One of my robot vacuum cleaners is Bender and whenever he has issues or problems, the house will say something g like ‘Bender is stuck, like a turtle’ or ‘Bender needs battery and he says to bite his shiny metal ass’ or ‘Hey meatbag…’

Cheers mate that’s an amazing project.

Thanks a lot!

I totally like that idea, probably gonna steal it and rename my James to Bender… :joy: :yum:

This is absolutely awesome. I still have plans to give my frontend a Futurama theme, however I still haven’t gotten further than the user icons. I use bender for my stationary tablet interface, but having him talk back in statue form would be really cool.

I can also totally see a tucked away voice assistant using voice lines from the professor. Or just one that can throw random voice lines from the show in general :smiley:

1 Like

Awesome!

Btw. what voice do you use for TTS? I doesn’t sound exactly like Bender, but it’s not far off either. Maybe playing prerecorded audio, instead of TTS, would be interesting, at least for some catchphrases like “Bite my shiny metal ass” :slight_smile:

TLDR: I randomize the voice TTS notification, while I’d love for it to actually be John DiMaggio doing Bender’s voice, it’s just a random neural TTS voice. Kinda funny to hear a British dude say “Bite My Shiny Metal Ass…”

So right now I’m using a random set of neural TTS Voices. I use NodeRed and all my TTS notifications which are sent through a subflow. This subflow receives arguments and does the following:

Determine the most appropriate speaker if a speaker is not specified, (based on in-home motion/location tracking)
Pause existing music or speaker usage
Set the volume accordingly (50% for day, 25% at night)
Say the text passed with a random voice and random style unless specified
Reset the speaker (volume, and what was playing).

WAY complicated, but works for me and kinda proud of it. I am using Microsoft Cognitive Services TTS (yeah, I’m one of the 10 people using it) and one of the nice things I get to do with this subflow is have it randomly select a voice, so it maybe EN-US, EN-UK, EN-AU or EN-NZ,
If I don’t specify a tone or style (e.g. angry , cheerful , excited , friendly , hopeful , newscast , sad , shouting , terrified , unfriendly , whispering), it will randomly select one.

So Bender’s text notification might come out Aussie Sad one day or British Shouting another day. The variety is a funny compromise.

I also played around with creating my own custom neural voice. You upload a text file of sentences, then upload a bunch of wav files of you reading those sentences, it processes it, then it synthesizes a voice. I used it for a little while, but my partner was NOT happy with it. Said it was WAY too creepy. Basically it sounded like me having just returned from the brain slug planet.

So if anyone want to pay for, I don’t know, 1000 Cameos of John DiMaggio reading sentences like Bender with the disclosure that it is to make a TTS font of Bender, I would love an actual Bender voice. I would want John DiMaggio to get paid for it tho.

Thank you!

At the moment there is no TTS involved. I use recorded snippets from the show.
So he is already (randomly) saying “Bite my shiny metal ass” :smile:
When i get the voice assistant component in ESPHome to work with the media_player component on my ESP Bender should be able to talk via TTS.

Uh… I would be more than happy to chip in for a real Bender TTS :star_struck: :rofl:

1 Like