<strong>Цель:</strong> Снизить текущие задержки через QoS(?) и оптимизацию маршрутов(SFU?)<br>Клиент ↔ STT (распознавание речи) → LLM → TTS (синтез) ↔ Клиент.<br><br>Текущий стек:<br><br><ul><li>Бекенд на <strong>Node.js</strong> с передачей аудио через <strong>WebSocket</strong>.</li><li><strong>STT (Speech-to-Text)</strong> → <strong>LLM</strong> → <strong>TTS (Text-to-Speech)</strong> ↔ Клиент</li><li>Аудиокодек: <strong>PCM16 (8 kHz)</strong> (без перекодирования, совместимость с браузерами, включая Safari).</li></ul><br>Текущее видение реализации проекта (вероятно оно может быть другое)<br><br> 1. Анализ и проектирование:<br><br> • Изучить текущую архитектуру (WebSocket + Node.js).<br><br> • Предложить схему уменьшения задержек, через SFU для 1:1 аудиосвязи (не конференции!).<br><br><br> 2. Настройка SFU-сервера:<br><br> • Развернуть Mediasoup /Jitsi / OpenVidu, или облачное решение Daily / LiveKit, но мы там ограничены комнатами, возможно это не так).<br><br><br> 3. Оптимизация задержек:<br><br> • Устранить узкие места в цепочке (замер текущих задержек ~300-400 мс).<br><br> • Протестировать работу в условиях высокой нагрузки.<br><br><br> 4. Масштабирование:<br><br> • Настроить горизонтальное масштабирование SFU (Docker/Kubernetes).<br><br> • Добавить балансировку нагрузки между экземплярами STT/TTS.<br><br><br> 5. Синхронизация с IP-телефонией:<br><br> • Подготовить интеграцию с SIP (на будущее, но учесть в архитектуре).<br><br><strong><br>Требования к кандидату:</strong><br><br><ul><li>Экспертиза в <strong>WebRTC</strong> (ICE/STUN/TURN, аудиопотоки).</li><li>Опыт с <strong>SFU</strong> (Mediasoup, Jitsi и.т.д) и аудиокодеками (PCM, Opus).</li><li>Навыки в <strong>Node.js</strong> (бекенд для медиасерверов).</li><li>Понимание сетей: RTP, QoS, туннелирование.</li></ul>