Communitygithub.com

Diseño de sonido y mezcla para animación 3D

Diseña el sonido de una película de animación 3D: una base musical original, foley sutil en cada acción visible, acentos en los puntos clave de la historia, niveles medidos frente a la voz, silencios antes de los golpes más grandes, con 24 efectos sintetizados del motor, y masterización a −14 LUFS. Úsalo después de que el picture esté bloqueado.

¿Qué es Diseño de sonido y mezcla para animación 3D?

Esta skill, `z1fex/12-sound-design-and-mix`, está diseñada para postproducción de audio en animación 3D. Se encarga de generar y mezclar una banda sonora completa: una base musical original, sonidos foley para cada acción visible, acentos para puntos narrativos clave y masterización a −14 LUFS. La skill utiliza 24 efectos sintetizados (sin samples) creados mediante código propio en `recipe/tools/sound.py`, basado en las técnicas de diseño de movimiento de earshot. Se ejecuta después de que la edición visual esté bloqueada (picture lock) y produce stems separados (voz, música, efectos), un archivo de mezcla masterizada y un archivo MP4 final con audio AAC. Los niveles se miden con precisión en LUFS, no se adivinan, y cada efecto tiene un nivel relativo fijo respecto a la referencia de la voz. La skill es agnóstica a la plataforma: se usa localmente desde la terminal con Python y Node.js, y el usuario proporciona las instrucciones de postproducción en un archivo de metadatos (film.mjs) que define las señales de audio en la línea de tiempo.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/z1fex/3D-Cartoon-Style-Animation-Claude-Skill/tree/HEAD/skills/12-sound-design-and-mix

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

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

CapaNivelNotas
Voz−16 LUFS (referencia de habla ≈ −19 dBFS, 400 ms RMS)ocupa el 93–98% de la duración
Base musical18 LU por debajo de la voz, sin duckingoriginal, 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 vozsolo 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 dBTPloudnorm lineal de dos pasos

Los efectos (24, en sound.py)

TipoNivelUso enDiseño
whoosh (long: true para movimientos grandes)foleyentrar a un lugar nuevo, movimientos grandes de cámararuido 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
swishfoleyun brazo, un libro, un gesto, un lanzamientodestello fino y brillante, 0.2 s
popfoleyla aparición del título, un cambio de cara en un objeto, llegadas pequeñasblip tonal que sube hacia la tonalidad, tick, anillo hija
tickfoleycada paso de un contadorgolpecito brillante y pequeño con un ping variable (round robin)
tapfoleyobjetos pequeños aterrizando, contadores estabilizándoseun bloque de madera amortiguado
flipfoleypáginas de calendariosusurro de papel y asentamiento
slapfoleyun aviso o papel pegadobofetada de banda ancha y aleteo
creak (dur)foleypuertas y bisagraspulsos de deslizamiento-agarre a través de resonancias de madera
clickfoleyinterruptores, letreros encendiéndosepresión y enganche con 35 ms de separación
lightfoleyun letrero iluminándosezumbido suave y un pequeño carillón en la tonalidad
chirpfoleyvida al aire libre (con moderación)dos silbidos pequeños de pájaro
rattlefoleyhojas, escalofríosráfagas de ruido filtrado a una velocidad de vibración
slidefoleyun deslizamiento o desplazamiento lateralun chirrido suave que se desliza
stretch (dur)foleygoma, una cuerda tensándose, una superficie doblándoseun crujido áspero ascendente
whir (dur)foleyuna cinta terminándose, un mecanismo girandoclics de trinquete sobre aleteo
chalk (dur)foleyescribir, tachar en una pizarrauna banda rasposa cortada por el trazo
roll (dur)foleyalgo rodandorugido bajo a la velocidad de rodadura más ticks superficiales
thunkacentoun objeto blando aterrizando (la manzana en la hierba)un cuerpo que caja apagado más un transitorio con filtro paso bajo
thudacentoun asentamiento pesadosub 90 → 42 Hz con cuerpo y transitorio
slamacentopuertas cerrándosecuerpo de madera, crujido, enganche y cola de habitación de arco de piedra
snipacentocortardos clics de cuchilla y un shing metálico
boingacentoresortes, trampolinesun tono descendente que vibra
twangacentouna cuerda tensa pulsadaparciales armónicos con vibración de tono
dingacentoun número aterrizando, un remateuna 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
  • t es cuando el ataque del sonido cae (whooshes: cuando su pico cae); el mezclador lo adelanta 10 ms, nunca más tarde que el picture.
  • gain ajusta 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.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Skills relacionados