게시글 상세

목록으로
ESP32 음성 인식 - Audio Recognition - 1
조회수: 44
작성자: june9152
등록일: 2025-12-13 12:42 수정일: 2025-12-15 09:04

ESP32 기반 음성 웨이크업 기능 개발 – “살려주세요” 키워드 인식

본 개발은 비상 상황에서 사용자가 별도의 버튼 조작 없이 음성만으로 긴급 상황을 인지할 수 있도록, “살려주세요” 키워드를 인식하여 ESP32에서 즉시 Wake-up 동작을 수행하는 기능을 구현하는 것을 목표로 진행되었습니다.


1. 개발 목적

  • 긴급 상황 발생 시 사용자의 물리적 조작 없이 음성으로 시스템을 활성화
  • 저전력·저비용 MCU 환경(ESP32)에서 독립적으로 동작하는 음성 인식 구현
  • 클라우드 의존 없는 로컬 키워드 인식(Wake Word Detection)

2. 개발 환경

  • MCU : ESP32-S3
  • Audio Device : ReSpeaker Lite (I2S 기반 마이크)
  • Sampling : 16kHz / Mono / 16-bit PCM
  • AI Tool : Edge Impulse (Keyword Spotting)
  • 개발 환경 : PlatformIO (Arduino Framework)

3. 학습 데이터 구성

키워드 인식 정확도를 높이기 위해 모든 학습 데이터는 1초 길이의 음성로 통일하여 구성하였습니다.

  • Help (“살려주세요”)
    • 다양한 발화 속도, 음량, 거리에서 녹음
    • 실제 ESP32 + 마이크 환경에서 직접 녹음
    • PC 스피커 재생 음성을 마이크로 다시 녹음한 데이터 포함
  • Unknown
    • “지금 뭐하세요?”, “괜찮아요?” 등 일반 대화 문장
    • 키워드와 음성 구조가 유사한 발화 위주로 구성
  • Noise
    • 숨소리, 생활 소음, 주변 환경 잡음
    • 완전 무음이 아닌 실제 사용 환경 소음 위주

4. 키워드 검출 로직

본 시스템은 단일 추론 결과(1회 검출)만으로도 즉시 Wake-up 동작이 수행되도록 설계되었습니다.

  • Help 클래스의 confidence 값이 설정된 임계값을 초과할 경우 즉시 동작
  • 연속 검출 조건 없이 1회 검출 시 즉각 반응
  • 비상 상황을 고려하여 응답 지연을 최소화

오검출 방지를 위해 임계값(Threshold)과 Noise / Unknown 데이터 품질을 집중적으로 조정하였습니다.


5. 테스트 결과

동일한 “살려주세요” 음성을 반복 재생하며 테스트한 결과, 음성 입력 레벨 및 발화 타이밍에 따라 confidence 값이 변동함을 확인하였습니다.

  • 정상 발화 시 즉각적인 Wake-up 동작 확인
  • 일반 대화 음성에 대한 오검출 감소
  • 실사용 환경 기준 안정적인 키워드 인식 성능 확보

6. 결론

본 개발을 통해 ESP32 단독 환경에서도 비상 호출에 적합한 저지연 음성 웨이크업 기능을 구현하였습니다.

1회 검출 기반 즉시 반응 구조를 적용함으로써 긴급 상황에서의 신속한 대응이 가능하며, 향후 다양한 안전·보안 IoT 시스템으로 확장이 가능합니다.


본 기술은 (주)제이의 임베디드 AI 및 IoT 시스템 개발 역량을 기반으로 현장 적용을 목표로 지속적인 고도화를 진행하고 있습니다.

 

처리 중입니다...

잠시만 기다려주세요.