# Tabela de sons

Níveis em dBFS de **pico de amostra, medido no próprio arquivo**, com a voz do vídeo perto de -14 LUFS. O `plano_sfx.py` usa esses números como padrão e corrige sozinho se a voz do vídeo estiver mais alta ou mais baixa (passe `--video`).

## Tipo de animação e som que combina

| O que acontece na tela | tipo | som padrão | nível |
|---|---|---|---|
| Texto, ícone, cartão ou balão aparece | `pop` | woven:pop-hand | -18,5 |
| Algo desliza, entra ou sai rápido | `whoosh` | woven:fast-whoosh | -17,5 |
| Troca grande: tela cheia vira moldura, câmera gira, painel entra | `whoosh-grande` | woven:swish-whoosh-large | -12,5 |
| Palavra grande, número final ou carimbo pousa com força (com tremida) | `impacto` | woven:bass-impact | -11,5 |
| A grande revelação: logo, produto, placa final | `revelacao` | woven:base-drop | -11,5 |
| Item que empilha ou encaixa, sem drama | `batida` | woven:dull-thud | -14,5 |
| Algo riscado, cancelado, negado | `risco` | woven:record-needle-scratch | -12 |
| Notificação, venda que cai, celular recebendo | `notificacao` | woven:notification-ding | -12,5 |
| Balão de conversa, botão final, resposta | `mensagem` | woven:message-pop-reply | -15,5 |
| Tela liga, IA entra, falha digital | `glitch` | woven:glitch-logo | -13,5 |
| Cursor clica, dedo toca no botão | `clique` | woven:mouse-click-2 | -18 |
| Texto sendo digitado (passe `"dur"`) | `digitar` | woven:keyboard-typing-realistic | -22 |
| Check, item marcado, contagem | `tique` | woven:tick-sound | -19 |
| Bipe de interface | `beep` | woven:beep-short | -19 |
| Moedas, preço que aparece | `dinheiro` | woven:several-coins | -15 |
| Print, foto, captura de tela | `camera` | woven:camera-shutter-1-shot | -15 |
| Suspense que cresce até a revelação (o pico é o fim da subida) | `subida` | kit:rise | -15 |
| Deu certo, meta batida | `sucesso` | kit:success | -15 |
| Errado, o que não fazer | `erro` | kit:error | -15 |
| Reação de espanto (usar pouco) | `surpresa` | woven:female-gasp | -17 |
| Conquista, fim de história (usar pouco) | `aplauso` | woven:cheers-and-applause | -22 |

Níveis prontos pra usar no evento: `destaque` -12, `medio` -15, `discreto` -18, `baixo` -20.

Onde o som alinha: quase todos alinham o **pico** no tempo do evento. `digitar` e `aplauso` alinham o **começo** do som. Sons do kit desta skill e da biblioteca usam o ponto forte que já vem anotado no índice deles (`anchor_s`).

Cauda: cada som toca até 0,8 s depois do pico (0,3 s na `subida`, 1,2 s na `revelacao`, 2 s no `aplauso`) e sai com fade. Assim a cauda de um impacto não passa por cima da fala.

## Densidade

- **Com animação**: um som por animação que importa. Referência aprovada: IMG_1498 v2, 23 sons em 56 s ("gostei"). O teto do script é 1 som a cada 2 s (`--modo motion`).
- **Sem animação**: 5 ou 6 sons num vídeo de 1 a 1min30 (`--modo fala`, 1 a cada 15 s). Abertura, maior número de dinheiro, até 2 viradas de assunto, chamada.
- Espaço mínimo de 0,65 s entre picos. Se dois caem perto, fica o mais forte. Os forçados (`"forcar": true`) sempre ficam.
- Passou do máximo: saem os mais fracos primeiro.
- Momento em nível `destaque`: no máximo um a cada 6 ou 8 s. Se tudo é destaque, nada é.

## Volumes em dB

| O quê | Valor |
|---|---|
| Voz (referência) | -14 LUFS integrado |
| Efeito em momento-chave | pico -11 a -13 dBFS |
| Efeito médio | pico -15 dBFS |
| Efeito pequeno (pop, clique, tique) | pico -17 a -19 dBFS |
| Som contínuo (digitação) | pico -22 dBFS |
| Trilha | 22 dB abaixo da voz (faixa boa 20 a 24) |
| Duck da trilha na fala | até 8 dB |
| Respiro da trilha na entrada | +10 dB por 2 s |
| Final do vídeo | -14 LUFS, pico real até -1 dBTP |

De onde vêm esses números:

- IMG_1498 v2 (aprovado): no código os sons estavam marcados de -10 a -17, mas medidos no arquivo de verdade eles ficaram uns 3 dB abaixo disso, com a voz em -15,5 LUFS. Trazendo pra voz em -14, dá os valores da tabela.
- Reel "uma IA editou": trilha uns 24 dB abaixo da voz, com sidechain, mixada no pós. Uma tentativa 28,5 dB abaixo ficou praticamente inaudível no celular.
- IMG_1527: trilha com ganho 0.14 (uns -17 dB) e 0.07 competiu com a voz. O que conta é a distância até a voz, medida em LUFS.
- DJI_0033: trilha uns 30 dB abaixo da voz, com respiro de 11 dB na entrada. Pelo que se viu no reel, 28 dB ou mais já some no celular. Por isso o padrão aqui é 22, com a faixa de 20 a 24.

## Quando NÃO pôr som

- Em cada palavra, ou em cada item de lista que não tem animação.
- Na legenda palavra por palavra (ela anda o tempo todo).
- Em movimento contínuo e lento: zoom devagar, câmera flutuando, fundo girando.
- Duas animações a menos de 0,65 s: um som só, o mais forte.
- Em cima de uma palavra importante dita baixinho: o som cobre a palavra. Adiante o evento pra logo antes dela ou empurre pra logo depois.
- Em frase emotiva ou história séria. Silêncio também é direção.
- Sons de humor (sapo, espanto, aplauso) em vídeo sério ou de oferta cara.
- `subida` (riser) só antes de uma revelação de verdade, no máximo 1 ou 2 por vídeo.
- Vídeo sem animação: nada de som por enfeite. Siga os 5 ou 6 momentos.

## Uso extra: disfarçar emenda

Onde uma emenda de corte ficou visível (tomada errada tirada, pulo de imagem), um `whoosh` ou `pop` forçado em cima da emenda disfarça. Use `"forcar": true`.

## Medidas dos arquivos

Medido com `plano_sfx.py --medir`. Duração em segundos, "pico" é o ponto forte (começo do trecho a 1 dB do máximo), nível em dBFS.

| som | duração | pico (s) | nível |
|---|---|---|---|
| woven:airplane-ding | 1,18 | 0,168 | 0,0 |
| woven:applause | 12,91 | 0,503 | 0,0 |
| woven:base-drop | 3,30 | 0,053 | -6,6 |
| woven:bass-impact | 2,46 | 0,069 | 0,0 |
| woven:beep-short | 0,70 | 0,026 | -12,0 |
| woven:camera-analog | 0,86 | 0,069 | -1,3 |
| woven:camera-flash | 6,46 | 0,310 | -0,1 |
| woven:camera-shutter-1-shot | 0,28 | 0,105 | -1,5 |
| woven:camera-shutter-8-shots | 1,11 | 0,114 | -0,3 |
| woven:camera-shutter-release | 0,58 | 0,051 | -2,6 |
| woven:cheers-and-applause | 4,09 | 0,251 | -1,4 |
| woven:deep-whoosh | 3,23 | 0,516 | -2,2 |
| woven:dj-scratch | 1,56 | 0,164 | -3,2 |
| woven:dull-thud | 1,39 | 0,038 | -2,6 |
| woven:elevator-ding | 2,00 | 0,003 | -2,9 |
| woven:explosion | 3,18 | 0,087 | -0,1 |
| woven:fast-whoosh | 0,39 | 0,112 | -8,1 |
| woven:female-gasp | 0,49 | 0,106 | -7,4 |
| woven:frog-ribbit | 0,70 | 0,126 | -1,4 |
| woven:glitch-logo | 0,63 | 0,141 | -7,2 |
| woven:keyboard-typing-realistic | 3,39 | 1,802 | -2,8 |
| woven:keyboard-typing | 10,29 | 5,792 | -0,1 |
| woven:male-gasp | 0,46 | 0,212 | -5,0 |
| woven:message-pop-reply | 0,88 | 0,038 | -0,1 |
| woven:money-chalking | 1,86 | 0,090 | -7,9 |
| woven:mouse-click-1 | 0,77 | 0,361 | -1,2 |
| woven:mouse-click-2 | 0,19 | 0,146 | -3,3 |
| woven:notification-ding | 2,00 | 0,064 | -9,0 |
| woven:pop-hand | 0,35 | 0,026 | -2,2 |
| woven:record-needle-scratch | 1,65 | 0,237 | 0,0 |
| woven:record-scratch | 1,28 | 0,482 | -1,7 |
| woven:several-coins | 1,42 | 0,029 | -0,4 |
| woven:sideways-record-needle | 0,58 | 0,435 | -0,6 |
| woven:swish-whoosh-large | 0,79 | 0,134 | 0,0 |
| woven:tick-sound | 0,56 | 0,028 | -10,4 |

Kit desta skill (ponto forte do índice `assets/sfx/sfx.json`): `kit:pop` 0,003 s, `kit:whoosh` 0,15 s, `kit:rise` 1,228 s, `kit:metal_riser` 1,654 s, `kit:success` 0,023 s, `kit:error` 0,188 s, `kit:bass_drop` 0,016 s, `kit:metal_hit` 0,164 s, `kit:notification` 0,008 s, `kit:cash` 0,07 s, `kit:keyboard` 0,111 s, `kit:mouse_click` 0 s, `kit:tick` 0 s, `kit:data` 0,025 s.

## Onde cada som mora

- `woven:ID`: `assets/sfx/woven/ID.wav` desta skill (35 sons, CC0).
- `kit:NOME`: `assets/sfx/` desta skill (índice `sfx.json`). Outra pasta: variável `SC_KIT_SFX`.
- `bib:...`: `~/.editor-video/efeitos/` (índice `efeitos.json`, 445 sons CC0 por categoria: transicao, impacto, revelacao, interface, tecnologia, sucesso, erro, humor). Outra pasta: variável `SC_BIBLIOTECA_SFX` (ou `EDITOR_VIDEO_EFEITOS`). `bib:categoria` pega uma versão diferente a cada uso.
