My Alexa smart speakers were meant to usher in a future where I controlled everything in my smart home with my voice.Instead, they turned out to be a closed system with limited capabilities and some serious privacy issues.I decided it was time they were replaced.
The problems with proprietary smart speakers Unwanted ads and major privacy concerns Popular smart speakers such as Amazon's Echo devices are designed to be appealing.They're reasonably priced and promise to let you control your smart home simply and easily with your voice.The problem is that they're essentially gateways to closed smart home ecosystems.
You don't have any control over which devices will work with your smart speaker or the features that they offer.Features can be removed or never make it to some locales, and useful features can end up behind paywalls.You end up having to adapt your smart home to fit the smart speakers, rather than the other way around.
Then there are the privacy concerns.My Echo smart speakers send most of my voice interactions to the cloud to be processed, and it was revealed that third-party contractors were listening to some of these recordings to judge the quality of the responses.It means anything I say within earshot of my Echos could end up on third-party servers and even be listened to by other people.
My Echo Show devices are even worse, regularly displaying unwanted ads, despite me having bought them outright.The benefits of using these smart speakers no longer outweigh the downsides.Related 7 Reasons I’m Ditching My Amazon Echo Smart Speakers "Alexa, it's time to go." Posts 19 By Adam Davidson Building a smart speaker for Home Assistant An inexpensive kit is all you need Home Assistant offers an alternative.
The free and open-source smart home software has its own voice assistant.You can set up a pipeline that will convert your spoken commands to text to be processed by Assist, and will then convert Assist's text response to speech to play through your smart speaker.For this to work, you need the smart speaker hardware.
You can buy a ready-made smart speaker such as the Home Assistant Voice Preview to use with Home Assistant, or you can build your own.I decided on the latter option, as it was a cheaper way to test out how well a local smart speaker could work.I opted for the reSpeaker Lite Voice Assistant Kit from Seeed Studio as it included everything I needed to build an open-source smart speaker, including a development board with a two-mic array and onboard audio processing, an ESP32 to communicate with Home Assistant, a speaker to play the spoken responses, and a simple enclosure.
It cost less than $30 and wasn't too difficult to put together.Once I'd built it and flashed the relevant firmware, I connected it to Home Assistant.For speed, rather than setting up my own voice pipeline, I used the Home Assistant Cloud speech-to-text (STT) and text-to-speech (TTS) processing that's included as part of a Home Assistant Cloud subscription.
Before long, I was ready to test my smart speaker out.The onboard audio processing and two-mic array work well.Even when I've had music playing on my hi-fi speakers right next to the smart speaker, it's still been able to detect the wake word and understand my commands.
Wake word detection isn't as strong as proprietary smart speakers, but it's more than good enough for my needs so far.reSpeaker Lite Brand Seeed Studio CPU ESP32-S3R8 The reSpeaker Lite Voice Assistant Kit includes a two-mic array, a pre-soldered XIAO ESP32-S3 controller, and an XMOS XU316 audio processor with onboard natural language understanding, interference cancellation, acoustic echo cancellation, noise suppression, and automatic gain control.Hooked up a 5W speaker, you can create your own local voice assistant that you can connect to Home Assistant via ESPHome.
$70 at Amazon $30 at Seeed Studio Expand Collapse What Home Assistant's Assist can do out of the box Control your smart home with your voice The native Assist voice assistant in Home Assistant doesn't use any AI-powered smarts to understand your commands and perform the relevant actions.Instead, it turns what you say into text and tries to match that text against a library of supported sentence patterns.If a match is found, it then runs the appropriate action.
For example, you can ask Assist to "turn on the living room light," and it will match that pattern to the relevant intent and turn the light on.You can use a wide range of different wordings, such as "turn the living room light on," "turn the lights in the living room on," or "switch on the light in the living room." However, not every phrase variation is included in the sentence patterns, so saying something like "In the living room, turn the light on" doesn't work.It means that Assist isn't quite as versatile as something like Alexa or Google Home, which process the commands in the cloud and use natural language processing to understand your intent.
Much of the time, however, Assist will understand what you're asking if you use simple commands, and the reaction times are fast.Using my newly built smart speaker, for example, I could ask Assist to turn the light off, and it would happen in less than a second, which is comparable to what Alexa could do.You can improve how well Assist responds by limiting what you expose and using clear names and aliases.
Assist can do more than just control devices.You can ask it for the weather, start timers, add items to your shopping list, and more.Add a conversation agent for AI-powered smarts When Assist can't help, an LLM can What Assist can't do by itself is answer broader, more general questions in the way proprietary smart speakers can.
For example, you can ask Alexa what the highest-grossing movie of 2022 is, and you'll get the answer.Assist can't do this without help.Subscribe to the newsletter for smarter, more private homes Ready to take control of your smart home? Subscribe to the newsletter for hands-on guides, privacy-minded options, hardware recommendations, and explainers on Home Assistant and LLMs — practical coverage to help you build and run open-source smart speaker Get Updates By subscribing, you agree to receive newsletter and marketing emails, and accept our Terms of Use and Privacy Policy.
You can unsubscribe anytime.What you can do, however, is connect an LLM as a conversation agent for Assist.If Assist can't handle the query itself, it's passed to the LLM instead.
Using options such as OpenAI's API or a local LLM running on your own hardware, you can give Assist the brains to be able to answer these questions.What's even better is that it makes Assist more capable of controlling your smart home, too.You don't need to stick to the set sentences that Assist uses; you can say things such as "It's a little too dark in here," and the LLM will infer that you want the lights turned on and make it happen.
I've set up my smart speaker with an LLM conversation agent, and it now does everything I need it to do.I can control my smart home, start timers, ask for general information, and play music, just like I could with Alexa.I'm currently using a cloud LLM, but once I make my fortune, I'll buy a decent AI rig and be able to run my smart speaker completely locally at last.
You don't need to be tied down to a proprietary smart speaker Using smart voice assistants such as Alexa may be convenient, but there are far too many downsides.I'm really happy with my open-source smart speaker, so it's time to say "Alexa, goodbye."
Read More