lct-hack/frontend/public/ambience
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Ivan Gerasimov 750ded2991 lct-09: звук звонящего на фронте, перебивание, аудио-фон
Очередь AudioBufferSourceNode, а не <audio>: перебивание требует
оборвать звук мгновенно и выбросить очередь. Планирование встык по
currentTime с упреждением 50 мс — иначе между чанками щелчок.

Перебивание двухслойное: фронт гасит звук по громкости микрофона за два
кадра (40 мс), сервер подтверждает по VAD за 88–90 мс и присылает
tts.cancel. Сервер — авторитет, фронт — скорость.

Логика вынесена из WebAudio и проверена в Node: очередь планируется без
щелей и наложений, сброс останавливает все чанки, гейт не срабатывает на
шуме и ловит начало речи ровно один раз.

Нет файла фона — звонок идёт без фона с предупреждением в консоли, а не
падает: записи это контент, их кладёт методист.

Путь через браузер с живым микрофоном не проверен: шаги записаны
в карточке.
2026-09-17 21:13:41 +03:00
..
README.md lct-09: звук звонящего на фронте, перебивание, аудио-фон 2026-09-17 21:13:41 +03:00

Аудио-фон происшествия

Сюда кладутся зацикленные записи, которые звучат под голосом звонящего: треск огня, детский плач, шум улицы, гудки, сирена. Имя файла указывается в сценарии:

background:
  loop: fire_crackle.mp3
  gain_db: -18

Требования: зацикливается без щелчка на стыке, моно или стерео, mp3 или ogg, 10–30 секунд. Гейн задаётся сценарием и должен быть заметно ниже голоса — фон даёт ощущение места, но не мешает разбирать речь.

Файла нет — занятие идёт без фона: в консоли браузера останется предупреждение, звонок не прервётся.