나는 내 스마트 스피커를 이 오픈소스 설정으로 교체했고, 다시는 돌아가지 않을 것이다
내 알렉사 스마트 스피커는 내가 스마트 홈의 모든 것을 목소리로 제어할 수 있는 미래를 열기 위해 만들어진 것이었다. 대신, 그것들은 제한된 기능과 심각한 개인정보 문제를 가진 폐쇄된 시스템으로 나타났다. 나는 그것들을 교체할 때가 되었다고 결심했다.
독점 스마트 스피커의 문제점
원치 않는 광고와 주요 개인정보 보호 문제
Amazon의 Echo 장치와 같은 인기 있는 스마트 스피커는 매력적으로 설계되어 있습니다. 가격도 합리적이며, 음성으로 스마트 홈을 간단하고 쉽게 제어할 수 있다고 약속합니다. 문제는 이러한 장치들이 본질적으로 폐쇄된 스마트 홈 생태계로의 관문이라는 점입니다.
스마트 스피커와 어떤 기기가 작동할지 또는 제공하는 기능을 제어할 수 없습니다. 기능은 제거되거나 일부 지역에는 아예 제공되지 않을 수 있으며, 유용한 기능이 유료로 제공될 수도 있습니다. 결국 스마트 스피커에 맞게 스마트 홈을 조정해야 하며, 그 반대가 되지는 않습니다.
그다음으로는 개인정보 보호 문제도 있습니다. 제 에코 스마트 스피커는 제 음성 상호작용 대부분을 처리하기 위해 클라우드로 전송하며, 일부 녹음 내용을 평가하기 위해 제3자 계약자가 듣고 있다는 사실이 밝혀졌습니다. 이는 제 에코 근처에서 제가 말하는 모든 것이 제3자 서버에 저장될 수 있고, 다른 사람들이 들을 수도 있다는 것을 의미합니다.
내 에코 쇼 기기들은 훨씬 더 나빠서, 내가 완전히 구매했음에도 불구하고 정기적으로 원하지 않는 광고를 표시합니다. 이러한 스마트 스피커를 사용하는 이점이 더 이상 단점을 상회하지 않습니다.
홈 어시스턴트를 위한 스마트 스피커 만들기
저렴한 키트 하나면 충분합니다
홈 어시스턴트는 대안을 제공합니다. 이 무료 오픈소스 스마트 홈 소프트웨어에는 자체 음성 어시스턴트가 있습니다. 사용자는 음성 명령을 텍스트로 변환하여 Assist가 처리하도록 하고, 그런 다음 Assist의 텍스트 응답을 음성으로 변환하여 스마트 스피커를 통해 재생하는 파이프라인을 설정할 수 있습니다.
이 기능을 사용하려면 스마트 스피커 하드웨어가 필요합니다. Home Assistant와 함께 사용할 수 있는 Home Assistant Voice Preview와 같은 기성 스마트 스피커를 구입하거나 직접 제작할 수 있습니다. 저는 후자의 옵션을 선택했는데, 이는 로컬 스마트 스피커가 얼마나 잘 작동할 수 있는지 테스트하는 더 저렴한 방법이었기 때문입니다.
저는 오픈 소스 스마트 스피커를 만들기 위해 필요한 모든 것이 포함된 Seeed Studio의 reSpeaker Lite 음성 비서 키트를 선택했습니다. 이 키트에는 2마이크 배열과 온보드 오디오 처리가 포함된 개발 보드, Home Assistant와 통신할 ESP32, 음성 응답을 재생할 스피커, 그리고 간단한 케이스가 포함되어 있습니다. 비용은 30달러 미만이었고 조립하는 것도 그리 어렵지 않았습니다.
일단 그것을 만들고 관련 펌웨어를 플래시한 후, 나는 그것을 Home Assistant에 연결했습니다. 속도를 위해, 나만의 음성 파이프라인을 설정하는 대신, Home Assistant Cloud 구독에 포함된 Home Assistant Cloud 음성-텍스트(STT) 및 텍스트-음성(TTS) 처리를 사용했습니다. 얼마 지나지 않아 나는 스마트 스피커를 테스트할 준비가 되었습니다.
온보드 오디오 처리와 두 개의 마이크 배열이 잘 작동합니다. 하이파이 스피커에서 음악을 재생하고 스마트 스피커 바로 옆에 두었을 때도, 여전히 웨이크 워드를 감지하고 내 명령을 이해할 수 있었습니다. 웨이크 워드 감지는 독점 스마트 스피커만큼 강력하지 않지만, 지금까지 제 필요에는 충분히 좋습니다.
Home Assistant의 Assist가 기본적으로 할 수 있는 것
음성으로 스마트 홈을 제어하세요
홈 어시스턴트의 네이티브 Assist 음성 비서는 귀하의 명령을 이해하고 관련 작업을 수행하기 위해 AI 기반의 지능을 사용하지 않습니다. 대신, 사용자가 말한 내용을 텍스트로 변환한 후 해당 텍스트를 지원되는 문장 패턴 라이브러리와 대조하려고 합니다. 일치하는 패턴이 발견되면 적절한 작업을 실행합니다.
예를 들어, Assist에게 '거실 조명을 켜라'고 요청하면, Assist는 그 패턴을 관련된 의도와 매칭하여 조명을 켤 것입니다. '거실 조명을 켜라', '거실의 조명을 켜라', 또는 '거실 조명을 스위치로 켜라'와 같은 다양한 표현을 사용할 수 있습니다.
그러나 모든 문구 변형이 문장 패턴에 포함된 것은 아니기 때문에, '거실에서 불을 켜라'와 같은 말을 해도 작동하지 않습니다. 이것은 Assist가 명령을 클라우드에서 처리하고 자연어 처리를 통해 사용자의 의도를 이해하는 Alexa나 Google Home과 같은 만큼 다재다능하지 않다는 것을 의미합니다.
그러나 대부분의 경우, 단순한 명령어를 사용하면 Assist가 당신이 무엇을 요청하는지 이해하며 반응 시간도 빠릅니다. 예를 들어, 제가 새로 만든 스마트 스피커를 사용하면 Assist에게 불을 끄라고 요청할 수 있고, 이는 1초도 안 되어 실행되며, 이는 Alexa가 할 수 있는 것과 비교할 수 있습니다. 노출을 제한하고 명확한 이름과 별명을 사용하면 Assist의 응답 능력을 개선할 수 있습니다.
Assistant는 장치를 제어하는 것 이상을 할 수 있습니다. 날씨를 물어보거나, 타이머를 시작하거나, 쇼핑 목록에 항목을 추가하는 등 다양한 일을 할 수 있습니다.
AI 기반 지능을 위한 대화 에이전트를 추가하세요
Assist가 도와줄 수 없을 때, LLM이 도와줄 수 있다
Assist가 혼자서 할 수 없는 것은 독점 스마트 스피커가 할 수 있는 방식으로 더 넓고 일반적인 질문에 답하는 것입니다. 예를 들어, Alexa에게 2022년 최고 흥행 영화가 무엇인지 물으면 답을 얻을 수 있습니다. Assist는 도움 없이는 이를 할 수 없습니다.
하지만 할 수 있는 것은 Assist용 대화 에이전트로 LLM을 연결하는 것입니다. Assist가 쿼리를 자체적으로 처리할 수 없다면, 대신 LLM으로 전달됩니다. OpenAI의 API 같은 옵션이나 자체 하드웨어에서 실행되는 로컬 LLM을 사용하여 Assist가 이러한 질문에 답할 수 있는 지능을 제공할 수 있습니다.
더 좋은 점은 이것이 Assist가 스마트 홈을 제어하는 능력을 더 향상시킨다는 것입니다. Assist가 사용하는 정해진 문장에만 얽매일 필요가 없으며, 예를 들어 '여기가 조금 어두워요'라고 말하면 LLM이 당신이 불을 켜고 싶다는 것을 추론하고 그렇게 할 것입니다.
저는 스마트 스피커를 LLM 대화 에이전트와 함께 설정했고, 이제 제가 필요한 모든 일을 할 수 있습니다. 스마트 홈을 제어하고, 타이머를 시작하고, 일반 정보를 물어보고, 음악을 재생하는 등 Alexa와 할 수 있는 것들을 모두 할 수 있습니다. 현재는 클라우드 LLM을 사용하고 있지만, 돈을 벌게 되면 꽤 괜찮은 AI 장비를 구입해서 스마트 스피커를 완전히 로컬에서 실행할 수 있게 될 것입니다.
독점 스마트 스피커에 얽매일 필요가 없습니다
알렉사(Alexa)와 같은 스마트 음성 비서를 사용하는 것은 편리할 수 있지만, 단점이 너무 많습니다. 저는 오픈 소스 스마트 스피커에 정말 만족하고 있어서 이제 '알렉사, 안녕'이라고 말할 때입니다.







