# Речь, музыка и звуковые эффекты

## Источники музыки

Приоритет:

1. файл пользователя с понятной лицензией;
2. приобретённый/лицензированный трек;
3. локальная библиотека компании;
4. выбранный вручную трек Pixabay с сохранённой страницей и лицензией;
5. Jamendo Licensing или другой поставщик с документом на синхронизацию.

Pixabay API не предоставляет программный музыкальный поиск в публичной
документации. При этом на сайте существует музыкальный каталог. Не выдавать
изображения/видео API за музыкальный API; сохранять выбранный трек локально и
регистрировать через `scripts/register_music_asset.py`.

## Запрещено

- простые синусоиды, шум и случайные аккорды как «профессиональная музыка»;
- неизвестный MP3 из случайного репозитория без лицензии;
- трек с вокалом, который конфликтует с речью, если это не часть концепции;
- музыка, которую после сведения нельзя услышать на телефоне;
- двойное приглушение: `volume` почти в ноль плюс жёсткий sidechain.

## Обработка речи

Типовая мягкая цепочка:

1. high-pass 65–85 Гц;
2. деликатное шумоподавление;
3. удаление резонанса 180–350 Гц при мутности;
4. небольшой подъём разборчивости 2–4,5 кГц;
5. de-esser 5–9 кГц;
6. компрессор 2:1–3,5:1;
7. лимитер до −1…−1,5 dBTP;
8. измерение, а не угадывание.

Не применять сильный denoise, если голос становится металлическим.

## Музыка под речью

Практическая отправная точка:

- голос остаётся главным;
- музыка в обычном фрагменте слышна как атмосфера;
- во время пауз музыка поднимается на 3–6 дБ;
- во время речи ducking обычно 6–12 дБ;
- attack 15–50 мс;
- release 180–450 мс;
- окончательное решение — по прослушиванию и измерению.

Для длинного финального хвоста подъём музыки должен начинаться после последнего
слова, а не поверх окончания фразы. Дорожный/комнатный ambience можно оставить
тихо под всей сценой, чтобы J/L-cut не звучал как провал в вакуум.

## Частотное место

Если музыка мешает словам:

- слегка убрать 1,5–4 кГц у музыки;
- при необходимости динамически приглушать эту область голосом;
- не убивать весь низ, если он создаёт ритм;
- не усиливать речь до клиппинга.

## SFX

Категории:

- whoosh/sweep — движение;
- riser — ожидание;
- impact — смысловой удар;
- click/tick — интерфейс/цифра;
- glitch — цифровой сбой;
- shutter/mechanical — техника;
- room tone — незаметная склейка.

SFX начинается немного раньше визуального перехода. Пик совпадает со склейкой/главным движением.

## FFmpeg-пример

```bash
ffmpeg -i voice.wav -i music.wav -filter_complex \
"[0:a]highpass=f=75,acompressor=threshold=-20dB:ratio=3:attack=10:release=120,loudnorm=I=-16:TP=-1.5:LRA=7[voice]; \
 [1:a]volume=0.32[music]; \
 [music][voice]sidechaincompress=threshold=0.025:ratio=8:attack=25:release=320[ducked]; \
 [voice][ducked]amix=inputs=2:weights='1 1':normalize=0,alimiter=limit=0.92[out]" \
-map "[out]" mix.wav
```

Это стартовая точка, не универсальная истина.

## Целевой контроль

- финальные пики не клиппируют;
- речь разборчива на тихой громкости телефона;
- музыка слышна, когда пользователь специально прислушивается, и ощущается без усилия;
- эффекты не заставляют уменьшать громкость;
- начало и конец имеют мягкие fade-in/fade-out;
- громкость между сценами не прыгает.
