웹 앱에 5분 안에 웨이크 워드를 추가하세요 노트

웹 앱에 5분 안에 웨이크 워드를 추가하세요

이 가이드는 WebAssembly SIMD128을 사용하여 웹 브라우저에서 온디바이스 웨이크 워드 탐지기("Hey Assistant")를 구현하는 방법을 자세히 설명합니다. 이 접근 방식은 오디오가 사용자 기기에 그대로 유지되므로 클라우드 API 지연 시간, 요청당 과금 및 개인 정보 보호 문제를 제거합니다. 시작하려면 사용자는 최신 브라우저, 마이크, 보안 서버(HTTPS 또는 localhost)가 필요합니다. SDK는 npm 또는 CDN을 통해 설치할 수 있으며, 크기는 약 275KB로 대부분의 아이콘 글꼴보다 작습니다.설정에는 마이크 액세스를 위해 안전하게 제공되는 시작 버튼과 상태 표시가 있는 HTML 셸이 포함됩니다. 다음 단계는 WakeWordEngine을 초기화하고 사전 훈련된 100KB "Hey Assistant" 모델을 로드하여 탐지 임계값을 설정하는 것입니다. 마이크 오디오는 최적의 탐지 품질을 보장하기 위해 AudioContext를 사용하여 16kHz 모노로 캡처됩니다.탐지의 핵심은 audioprocess 이벤트 리스너 내에서 고정 크기 오디오 청크(Int16 PCM 샘플)를 엔진으로 푸시하는 것입니다. 탐지된 웨이크 워드는 타임스탬프와 점수로 콘솔 로그를 트리거하고 화면 상태를 업데이트합니다. 엔진은 단일 발언으로 인한 스팸 탐지를 방지하기 위해 자체 쿨다운을 관리합니다.사용자는 입력 형식을 사용자 정의하고 Float32 샘플을 선택하고 감도를 위해 탐지 임계값을 미세 조정할 수 있습니다. 임계값을 낮추면 감도가 증가하지만 오탐이 더 많이 발생할 수 있으며, 임계값을 높이면 오탐이 줄어들지만 더 작은 발언을 놓칠 수 있습니다. 이 모델은 기본 임계값 0.9로 높은 정밀도와 재현율을 자랑합니다.이 기사에서는 기능 데모를 위한 완전한 복사-붙여넣기 가능한 코드 예제를 제공합니다. "Hey Assistant" 외에도 유료 티어에서 사용자 지정 문구 및 언어를 사용할 수 있으며, SDK는 네이티브 모바일(iOS, Android) 및 Linux/엣지 장치(Raspberry Pi)로 확장됩니다. SDK의 래퍼는 오픈 소스(Apache-2.0)이지만, WebAssembly 런타임 및 모델 가중치는 독점적이지만 SDK의 일부로 재배포를 허용합니다.