Robot Voice Assistant using Raspberry Pi 4

I built a robot using Rhasspy - it was a really fun project that involved lots of ideas my kids came up with (I took it and ran with it). Started last winter and now during covid had enough time to pick it up again and get it all running.

In terms of integrations, I wrote some skills to control Kasa-based wifi switches (using pyHS100 - see https://github.com/GadgetReactor/pyHS100 ) and also some skills to control my Logitech Media Server (aka squeezebox).

I used rhasspy-hermes-app to detect Rhasspy’s state (listening, recognizing intent, etc.) and change the color of the LED to show the state, and also to do things like shake the robot’s head when “no” or “never” is spoken, blink the eyes when it’s speaking, etc.

I made a video demonstrating some of the capabilities: https://www.youtube.com/watch?v=SaiJx6dhX4o

Prototyping:

Part of the circuit and connectors now implemented on Pi Hat:

Finished:

9 Likes

That tin man looks amazing! Really a voice assistant with personality :slight_smile:

Yay, what a fun little fellow! Congrats on the cool-build!

What audio hardware did you use in this project?

Where is the microphone? In the tin box? I can imagine you must speak close to it.

@schnopsi, I used the following USB speaker and microphone.
https://www.buyapi.ca/product/mini-external-usb-stereo-speaker/
https://www.buyapi.ca/product/mini-usb-microphone/

I mounted the speaker face-up, hot-glued to the underside of the wooden lid I made, into which I had drilled a grid of small holes to let the sound through.

@kart-able, the microphone is visible poking up through the wooden lid to the left of the neck. It is sensitive enough to recognize the wake-word from across the room (2 to 3 meters) if you speak medium loud, but intent recognition is definitely better if you are 1.5m or closer.

2 Likes

Nice project. I have done similarly with Pocketsphinx but am switching over to Rhassppy.

…I had the best luck with a USB sound card and turning off the onboard sound device. Also a 3.5mm passive power omnidirectional (conference call style) microphone.

1 Like