Web Audio
-
마이크 떼자마자 STT를 깨우는 법 — Warmup POST 패턴IT 2026. 5. 13. 21:00
음성 챗봇의 사용자 흐름은 "마이크 누름 → 말함 → 마이크 뗌 → 응답 들음" 네 단계입니다. 이 중 사용자가 가장 답답해하는 구간이 "마이크 뗀 직후 → 첫 응답 시작"입니다. 여기서 침묵이 길어지면 챗봇 자체가 잘못된 것 같은 인상을 줍니다.이 침묵을 줄이는 작은 트릭이 Warmup POST입니다. 마이크 권한을 받는 순간(또는 마이크를 켜는 순간)에 STT 서버에 빈 요청을 한 번 보냅니다. 사용자가 말하는 동안 STT 데몬이 백그라운드에서 깨어 모델을 GPU에 로드합니다. 사용자가 마이크를 떼고 실제 transcribe 요청이 도착할 때, 데몬은 이미 준비된 상태입니다. 콜드 스타트 5초가 사용자 인지 시간 바깥으로 밀려나는 패턴입니다.STT 데몬도 on-demand라서 콜드 스타트가 있다가정용..
-
자체 인증서 없이 모바일에서 마이크 권한 받기 — Tailscale serve의 한 줄IT 2026. 5. 12. 22:00
아들 음성 챗봇을 만들고 가장 먼저 부딪힌 벽이 모바일에서 마이크 권한이 안 떴다는 것이었습니다. 데스크탑 브라우저(Chrome on Linux)에서는 localhost:8084로 접속하면 마이크 권한 팝업이 잘 떴는데, 폰에서 같은 IP로 접속하니 권한 요청 자체가 발생하지 않았습니다. navigator.mediaDevices.getUserMedia()가 그냥 NotAllowedError를 던지는 거였습니다.이유를 찾아보니 명확합니다. 모바일 브라우저는 secure context(HTTPS) 위에서만 마이크 권한을 발동합니다. localhost는 데스크탑 브라우저에서만 예외로 인정되고, 모바일에서는 통하지 않습니다. 가정용 서버에 HTTPS를 어떻게 붙일 것인가 — 이 작은 결정이 가족용 음성 앱 전체..