WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-292 · Дефект · realtime · web

Realtime-голос GOOGLE: входящий аудио НЕ распознаётся (на OpenAI работает) — узкий баг google-realtime input

Закрыт P0 · горит ведёт: —
Суть
Репро owner 17.08 (Team Voice, 1998 кредитов — НЕ про баланс): голосовое общение односторонне. Работает: TTS-ответ модели, чтение вслух, транскрипт ОТВЕТА модели, отправка текста через поле Отправить текст в Realtime-модель. НЕ работает: (1) речь юзера в микрофон не распознаётся (модель не реагирует), (2) транскрипт ВОПРОСОВ юзера не пишется. Индикатор Слушаю горит. Проверено на Google-realtime (OpenAI не проверял). Значит сломан ВХОДЯЩИЙ путь: захват микрофона в браузере / отправка audio-чанков в realtime-сессию / входящий ASR провайдера. Диагностировать: getUserMedia/MediaRecorder→WS realtime, идут ли audio-фреймы, приходит ли input_audio_transcription от провайдера, не отвалился ли ключ/сессия на входе. Связка: телефония parked, но веб-realtime — отдельный путь.

⚡УТОЧНЕНИЕ owner 17.08: на OpenAI-realtime микрофон СЛЫШИТ и транскрибирует НОРМАЛЬНО. Молчит ТОЛЬКО Google-realtime. Значит клиентский захват микрофона исправен (общий для обоих) — баг в GOOGLE-ветке: конфиг input-аудио сессии Google (модальность приёма, формат PCM/sample rate под Gemini Live, input_audio_transcription), либо форвардинг аудио-фреймов именно в google-транспорт. Сравнить рабочую openai-ветку с google-веткой по настройке ВХОДНОГО стрима.
Починено в
v4-b36d8d1
Лента
2026-08-16T20:30:48Z · backup-opus
17.08 ~02:00: волна wmic села FIXED. Корень: google-ветка (в отличие от openai WebRTC-managed) вручную читает AudioContext-сэмплы и слала их с НАТИВНОЙ частотой браузера (обычно 48kHz) как audio/pcm;rate=48000, а Gemini Live ждёт PCM16 LE mono 16kHz — потому речь юзера ТИХО игнорировалась. googleLiveDriver.ts:1503. Сессия при этом входную транскрипцию УЖЕ включала (realtimeInputConfig+inputAudioTranscription) — дело было только в частоте. Фикс: детерминированный ресемплинг Float32→16kHz перед websocket-записью; локальный input-транскрипт хэндофф сохраняет исходный захват; тихого catch нет. Прогон координатора 139/139 rc=0. Коммит 065b3cf (хаб) / b36d8d1 (А1-линия). Живьём — после посадки на Pi.
2026-08-16T21:14:14Z · backup-opus
17.08 ~03:20: ВЫКАЧЕНО на прод v4-b36d8d1 (тёмная посадка, enforce dormant/off). Живая проверка owner-ом на nb.wool2.online.
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-292","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-16T21:14:14Z