마지막 업데이트 2026-09-30
결론: 아동 노트북에서 소리를 밖으로 내보내는 경로(오디오 출력)가 멈췄다. 그래서 소리가 있는 체크인 영상이 0초에서 멈췄고, AI 음성이 나오지 않았고, 진행자에게 중계된 AI 음성도 무음이었다. 새로고침 2회와 kick 3회로 페이지를 5번 다시 열었지만 5번 모두 같은 상태여서 회복되지 않았다.
네트워크·서버·에이전트·PPI 샘플레이트 설정은 원인이 아니다. 이슈 분류기가 "네트워크 × 연결"(0.54)로 본 것은 오분류다. 멈춘 곳이 CS42L43 드라이버·장치인지, Chrome 오디오 서비스인지는 로그로 가를 수 없다.
신고: "체크인 영상 재생 종료 시점에 멈추고, 재접속 이후 AI 스텝에서 발화 출력이 안 되고 멈춤."
// 아동 PC (Windows, Chrome 154, 출력 = CS42L43 AMP Speaker 내장 스피커) 18:14:57 /guest 입장 화면 · 권한 허용 · 기본 출력 장치 자동 선택 (이후 14분 대기, 소리 재생 기록 없음) 18:29:22 대기실 · 리소스 프리페치 정상 (체크인 영상 포함) 18:30:06 AUDIO_PROBE warmup: 250ms 후 currentTime 0.0107 · outputLatency 0 → 판정은 suspectedSilent:false(위음성) ├→ 18:30:06 체크인 영상 play 이벤트 발생, playing은 없음 │ 18:30:08 paused:false인데 currentTime 0 · 오디오 디코딩 0바이트 │ 18:30:13 7.4초 동안 시간 갱신 없음(stalled), currentTime 0 │ // 소리 있는 영상은 오디오 출력을 재생 시계로 쓴다 → 출력이 멈추면 영상도 멈춤 │ // 소리 없는 카메라 영상(srcObject)은 43.9초까지 정상 진행 ├→ 18:30:50 아동 "화면/친구가 멈췄어요" 신고 ├→ 18:30:53 진행자가 AI 스텝(스몰톡)으로 이동 │ 에이전트는 정상: response_started/completed, tts_first_pcm (5회 모두) │ Audio chain not rendering: currentTime 0.011 고정 (5초마다 연속) │ mic-audio(가공) · ai-audio 송신 bytesSentDelta 0 │ // AI 세션 전의 원본 마이크 송신은 정상(에너지 0.016) → 캡처는 살아 있고 출력(렌더)만 멈춤 └→ 18:31:50 / 18:33:31 새로고침 · 18:33:57 / 18:34:40 / 18:35:22 진행자 kick 5번 모두 0.0107에서 멈춤 → 회복 안 됨 // 진행자 PC 18:30:06~21 체크인 영상 정상 재생 → ended 15.168초 (probe 0.2347초 · outputLatency 0.011) 18:30:33~48 다시 재생 → ended AI 턴 오디오 녹음 615~629B/턴 = 사실상 무음 (아동 기기에서 이미 무음으로 송출됨)
| 대상 | 250ms 후 currentTime | outputLatency | 해석 |
|---|---|---|---|
| 진행자 PC (같은 시각) | 0.2347 / 0.2507초 | 0.011 | 정상 |
| 아동 PC 20~24회기 | 0.21~0.26초 | 0.042~0.065 | 정상 |
| 아동 PC 25회기 (로드 5번 모두) | 0.0107초 | 0 | 512샘플(48kHz), 출력 버퍼를 딱 한 번 가져가고 멈춤 |
result.currentTimeAdvanced = ctx.currentTime > 0; // 0.0107 > 0 → true result.suspectedSilent = ctxStateAfter !== "running" || currentTimeAdvanced === false; // → false
"0보다 크면 진행됨"으로만 보기 때문에, 버퍼 한 번만 돌고 멈춘 경우를 잡지 못한다. 대기 시간 250ms에 비해 너무 적게 진행됐는지(예: currentTime < 0.1)까지 봐야 잡힌다.
| 후보 | 배제 근거 |
|---|---|
| 네트워크 / SFU | 영상 파일은 대기실에서 미리 캐시됨. 송신 transport는 connected였고, 소리 없는 카메라 영상은 정상 진행 |
| LiveKit 에이전트 | 응답 생성과 TTS PCM 도착까지 정상(5턴). 방 생성·트랙 publish·종료도 정상. "음성 합치기 설정 변경 실패"는 응답이 계속 생성됐으므로 원인 아님 |
| 자동재생 차단 | 컨텍스트 상태 running, 영상 play 이벤트 발생 |
| CPU 부하 | LOW_POWER_PROBE 60fps, 스레드 8개·메모리 16GB |
| PPI 샘플레이트 설정 | 멈춘 컨텍스트는 샘플레이트를 따로 지정하지 않았다(장치 기본 48kHz). 앱이 샘플레이트를 건드리지 않는 <video>도 멈춤. 16kHz를 지정하는 곳(use-ai-audio-stt-capture.ts:93)은 externalSttEnabled:false라 생성되지 않음 |
| 마이크 장치 고장 | 원본 mic producer 송신 정상(50패킷, 에너지 > 0) |
| 회기 (날짜) | Chrome | 출력 장치 이름 | 결과 |
|---|---|---|---|
| 20~23 (9/8~9/17) | 152 | Cirrus Logic XU | 정상 |
| 24 (9/22) | 153 | CS42L43 AMP Speaker (드라이버 교체 흔적) | 정상 |
| 25 (9/29) | 154 | CS42L43 AMP Speaker | 처음으로 출력 멈춤 |
드라이버는 9/17과 9/22 사이에 바뀌었지만 24회기는 정상이었다. 24→25 사이에 로그로 보이는 변화는 Chrome 154 업데이트뿐이다. 인과는 확정되지 않았다.
판별법: 영상 멈춤과 AI 무음이 함께 신고되면 먼저 AUDIO_PROBE currentTimeSec과 Audio chain not rendering의 currentTime이 고정돼 있는지 본다. 약 0.01초에 고정 + outputLatency 0 + 영상 currentTime 0 + 카메라 영상만 정상, 이 조합이면 단말 출력 경로 정지로 확정한다. 리로드와 kick으로는 회복되지 않는다.
확정되지 않은 것: ① 멈춘 곳이 CS42L43 드라이버·장치인지, Windows 오디오 서비스인지, Chrome 오디오 프로세스인지 ② 멈춘 시점(입장 전 14분 동안 소리 재생 기록 없음) ③ 노트북 제조사·모델. 공개 자료에는 "Chrome 154 + CS42L43 + AudioContext 멈춤" 조합의 알려진 사례가 없다(2026-09-30 검색 기준). 비슷한 사례는 Linux에서 CS42L43이 절전 복귀 뒤 응답을 멈추는 SOF #5959 정도다. 그래서 "절전 복귀 후 멈춤" 가설이 가능하지만 추정이다.