12 · Diseño de sonido y mezcla
Indicación del director (ronda 1): "efectos de sonido sutiles cuando hay una acción, en todo." El diseño de efectos sigue la práctica documentada de motion design de earshot (github.com/Leonxlnx/earshot, MIT; docs/motion-sfx-techniques.md, docs/SFX.md); nuestro código en recipe/tools/sound.py es propio y no utiliza samples.
Las capas
| Capa | Nivel | Notas |
|---|---|---|
| Voz | −16 LUFS (referencia de habla ≈ −19 dBFS, 400 ms RMS) | ocupa el 93–98% de la duración |
| Base musical | 18 LU por debajo de la voz, sin ducking | original, en Do mayor (C–Am–F–G, 100 BPM): marimba, bajo pulsado, pad, bombo, shaker. Se reduce solo al pad para el reenganche (musicDrop: [inicio, fin]) |
| Foley | ~15 dB por debajo de la voz (ticks ~21, pájaros ~22) | un sonido en cada acción visible |
| Acentos | ~9 dB por debajo de la voz | solo puntos de la historia, como máximo ~20 por minuto, con una bajada de 7 dB en la música durante los 0.35 s anteriores al más grande (stop: true) |
| Master | −14 LUFS integrados, pico verdadero −1.5 dBTP | loudnorm lineal de dos pasos |
Los efectos (24, en sound.py)
| Tipo | Nivel | Uso en | Diseño |
|---|---|---|---|
whoosh (long: true para movimientos grandes) | foley | entrar a un lugar nuevo, movimientos grandes de cámara | ruido rosa a través de tres bandas móviles (1 : 1.6 : 2.5) siguiendo la velocidad; barrido panorámico; el pico cae en la señal |
swish | foley | un brazo, un libro, un gesto, un lanzamiento | destello fino y brillante, 0.2 s |
pop | foley | la aparición del título, un cambio de cara en un objeto, llegadas pequeñas | blip tonal que sube hacia la tonalidad, tick, anillo hija |
tick | foley | cada paso de un contador | golpecito brillante y pequeño con un ping variable (round robin) |
tap | foley | objetos pequeños aterrizando, contadores estabilizándose | un bloque de madera amortiguado |
flip | foley | páginas de calendario | susurro de papel y asentamiento |
slap | foley | un aviso o papel pegado | bofetada de banda ancha y aleteo |
creak (dur) | foley | puertas y bisagras | pulsos de deslizamiento-agarre a través de resonancias de madera |
click | foley | interruptores, letreros encendiéndose | presión y enganche con 35 ms de separación |
light | foley | un letrero iluminándose | zumbido suave y un pequeño carillón en la tonalidad |
chirp | foley | vida al aire libre (con moderación) | dos silbidos pequeños de pájaro |
rattle | foley | hojas, escalofríos | ráfagas de ruido filtrado a una velocidad de vibración |
slide | foley | un deslizamiento o desplazamiento lateral | un chirrido suave que se desliza |
stretch (dur) | foley | goma, una cuerda tensándose, una superficie doblándose | un crujido áspero ascendente |
whir (dur) | foley | una cinta terminándose, un mecanismo girando | clics de trinquete sobre aleteo |
chalk (dur) | foley | escribir, tachar en una pizarra | una banda rasposa cortada por el trazo |
roll (dur) | foley | algo rodando | rugido bajo a la velocidad de rodadura más ticks superficiales |
thunk | acento | un objeto blando aterrizando (la manzana en la hierba) | un cuerpo que caja apagado más un transitorio con filtro paso bajo |
thud | acento | un asentamiento pesado | sub 90 → 42 Hz con cuerpo y transitorio |
slam | acento | puertas cerrándose | cuerpo de madera, crujido, enganche y cola de habitación de arco de piedra |
snip | acento | cortar | dos clics de cuchilla y un shing metálico |
boing | acento | resortes, trampolines | un tono descendente que vibra |
twang | acento | una cuerda tensa pulsada | parciales armónicos con vibración de tono |
ding | acento | un número aterrizando, un remate | una campana C6 con parciales inarmónicos |
Para agregar un efecto: escribe fx_<nombre>(rng, …) que devuelva un array mono o estéreo a pico unitario (capas que alcanzan su pico juntas, con bandas para que no compitan, un filtro móvil en cualquier cosa que se mueva, partes tonales en Do mayor, sin silencio inicial, un fundido corto al final), agrégalo a FX, REL y ya sea ACCENT o el conjunto de foley, y a SUSTAINED si toma dur.
Señales (en film.mjs)
{ t: W(17) - LEAD, type: 'slam', gain: 1, stop: true } // un acento con una bajada musical antes
{ t: W(53) - 0.05, type: 'whir', gain: 0.8, dur: 1.4 } // un sonido foley continuo
...changes(a, b, value, 0.06).map(t => ({ t, type: 'tick', gain: 0.7 })) // un tick en cada cambio de contador
tes cuando el ataque del sonido cae (whooshes: cuando su pico cae); el mezclador lo adelanta 10 ms, nunca más tarde que el picture.gainajusta dentro del nivel del tipo (0.5 ≈ −6 dB). Cada señal obtiene ±1.2 dB de variación aleatoria y su propia semilla de ruido, por lo que las repeticiones nunca suenan idénticas.- Escribe las señal por plano desde la columna de sonido del storyboard. Cada acción visible recibe una; cada acento se sitúa en un punto de la historia.
Los niveles se miden, no se adivinan
sound.py nivela la voz a −16 LUFS, mide la referencia de habla (la mediana de 400 ms RMS mientras se habla), y establece cada efecto para que su parte más fuerte de 400 ms se sitúe a REL[tipo] dB de esa referencia. En la ronda 1 v3 esto dio a los acentos una mediana de −9 dB y al foley −15 dB frente a la voz. Verifica cualquier mezcla con:
python -I recipe/tools/sfx-levels.py <outDir> <outDir>/cue-sheet.txt
Salidas
stem-voice.wav, stem-music.wav, stem-sfx.wav, mix.wav (masterizado), cue-sheet.txt (cada efecto colocado con su nivel y tipo), y el MP4 final (H.264 copiado del render sin sonido, AAC 192 kb/s).
Licencias
Todo aquí está sintetizado. Si el propietario proporciona una pista musical, debe tener su licencia; configúrala como base a −34 LUFS sin ducking y conserva los efectos.