모델별 실행 레시피

최종 업데이트

ESPHome로 음성 비서 만들기: ESP32-S3 마이크와 웨이크워드 설정

웨이크워드는 보드에서 감지하고, 말소리는 홈 어시스턴트가 처리해요.

ESPHome의 voice_assistant는 마이크 소리를 홈 어시스턴트로 보내고, micro_wake_word는 보드 안에서 웨이크워드를 찾아요. 두 부품을 설정에 넣으면 시판 음성 비서 기기처럼 동작하고, 마이크·스피커 부품만 골라 쓰면 돼요.

실행 조건과 핵심 내용
  • voice_assistant는 마이크 소리를 홈 어시스턴트로 보내요.
  • micro_wake_word는 보드 안에서 웨이크워드를 감지해 서버 부담을 줄여요.
  • 오디오와 블루투스를 같이 쓰면 메모리가 부족해질 수 있어요.

시판 음성 비서 기기 대신 직접 만드는 경우

시판 음성 비서 기기는 마이크와 스피커가 한 몸으로 들어 있어 설정이 간단해요. 직접 만드는 쪽은 방마다 모양과 위치를 맞출 수 있고, 이미 가진 보드가 있으면 비용도 적게 들어요.

대신 마이크 감도와 스피커 잡음은 부품에 따라 차이가 커요. 처음에는 한 대만 만들어 소리를 확인하고, 만족스러울 때 방 수만큼 늘리세요.

마이크 옆의 노트북에 음성 파형이 표시된 화면
웨이크워드가 보드에서 걸리면 그때부터 소리가 홈 어시스턴트로 흘러가요.

보드와 부품을 고르는 기준

보드는 ESP32-S3 계열에 PSRAM이 있는 모델이 안정적이에요. 마이크는 I2S 방식, 스피커는 앰프가 붙은 I2S 앰프 보드를 쓰면 배선이 단순해져요.

마이크와 스피커를 같은 핀에 겹쳐 쓰지 않도록 보드의 핀 배치를 먼저 확인하세요. 소리가 작거나 끊기면 전원 부족인 경우가 많아서, USB 전원을 충분히 주는 것부터 확인해요.

설정에 웨이크워드를 넣어요

micro_wake_word는 보드 안에서 웨이크워드를 감지하는 구성 요소예요. 목록에 모델 이름을 넣으면 ESPHome이 해당 모델을 빌드에 포함하고, 부팅 뒤 그 모델로 감지를 시작해요.

처음 부팅에서는 목록의 첫 모델만 켜져요. 모델을 여러 개 넣어 두면 홈 어시스턴트에서 어느 것을 쓸지 바꿀 수 있어요.

ESPHome 웨이크워드 설정
micro_wake_word:
  models:
    - model: okay_nabu
목록의 첫 모델이 기본으로 켜져요. 모델 이름은 ESPHome 모델 저장소의 짧은 이름을 그대로 써요.
문서 더미와 검색 시스템을 실행하는 소형 컴퓨터
마이크와 스피커는 보드의 다른 핀에 나눠 붙이고, 전원을 충분히 주세요.

음성 파이프라인에 연결해요

보드를 홈 어시스턴트에 추가하면 Wyoming1 서비스로 잡히고, 음성 비서 화면에서 파이프라인2을 지정할 수 있어요. 파이프라인에는 로컬 받아쓰기(예: Whisper)와 합성(예: Piper) 엔진이 들어 있어서, 마이크와 스피커는 소리만 주고받아요.

응답이 스피커가 아니라 다른 기기에서 나오게 하려면 media_player로 출력을 돌릴 수 있어요. 방에 큰 스피커가 이미 있으면 이 방식이 편해요.

자원 한계를 먼저 봐요

오디오와 음성 구성은 보드의 RAM3과 CPU4를 많이 써요. 구성 요소를 너무 많이 넣으면 재부팅이 반복되거나 응답이 끊길 수 있어서, 처음에는 음성 관련 구성만 넣고 하나씩 더하세요.

특히 블루투스는 오디오 구성과 함께 쓰면 문제가 생기는 것으로 알려져 있어요. 블루투스 스피커로도 소리를 내야 한다면, 보드를 나누거나 유선 스피커를 쓰는 편이 안정적이에요.

마이크와 헤드폰, 음성 파형이 표시된 모니터가 보여요.
음성 구성만 먼저 올리고, 블루투스 같은 부가 기능은 나중에 더하세요.

용어 각주

  1. Wyoming — 홈 어시스턴트와 음성 서비스가 오디오와 텍스트를 주고받는 프로토콜입니다. 인증과 암호화가 없어 신뢰할 수 있는 네트워크에서만 씁니다.

    본문으로 돌아가기
  2. 파이프라인 — 입력부터 결과까지 이어지는 처리 단계의 묶음입니다. 각 단계에서 서로 다른 모델이나 도구를 사용할 수 있습니다.

    본문으로 돌아가기
  3. 시스템 RAM — 프로그램이 실행되는 동안 데이터를 임시로 보관하는 시스템 메모리입니다.

    본문으로 돌아가기
  4. CPU — 운영체제와 일반 프로그램 명령을 실행하고, AI에서는 전처리·데이터 이동 등 범용 연산을 맡는 중앙 처리 장치입니다.

    본문으로 돌아가기

자주 묻는 질문

이 글에서 가장 먼저 확인할 것은 무엇인가요?
ESPHome의 voice_assistant는 마이크 소리를 홈 어시스턴트로 보내고, micro_wake_word는 보드 안에서 웨이크워드를 찾아요. 두 부품을 설정에 넣으면 시판 음성 비서 기기처럼 동작하고, 마이크·스피커 부품만 골라 쓰면 돼요.