Communitygithub.com

sonido

Gestiona el audio de una pieza: limpia y nivela la voz, verifica marcas en voces sintéticas, añade efectos de sonido por animación, busca música nueva con fundido y deja el volumen listo para redes (~-14 LUFS). Mide en lugar de adivinar y filtra opciones antes de mostrarlas.

¿Qué es sonido?

Esta skill está diseñada para gestionar por completo la banda sonora de una pieza audiovisual, desde la captura de la voz hasta la entrega final. Se encarga de limpiar y nivelar la locución (real por defecto), transcribirla palabra a palabra con Whisper y, si la voz es sintética, comprobar que dice correctamente las marcas usando medidas espectrales (F2) y detección de pausas. Además, asigna un efecto de sonido a cada gesto de cada animación en su fotograma exacto, utilizando un script con ffmpeg para evitar ruidos tipo «chhh» (siseo). Para la música, genera dos opciones filtradas con herramientas de «oído», mide la energía de las tomas para elegir la que no se apaga antes del final y aplica un fundido de salida de ~2 s con curva cos². Finalmente, mezcla todo y lo entrega a ~-14 LUFS, verificando que no haya siseos, que los golpes caigan en su fotograma y que la voz no tenga desfase. Está pensada para usarse con ffmpeg, Whisper, Adobe Podcast (o limpiadores locales), generadores de voz/música (ElevenLabs, etc.) y herramientas de medición acústica.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/robinfernandez2016-create/claqueta/tree/HEAD/skills/sonido

Preguntar en tu IA favorita

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

Documentación

¿Qué hace sonido?

El audio se mide: picos, volumen, bandas de frecuencia y el fotograma en que cae cada golpe. Y antes de enseñar opciones de música o efectos, se filtran con herramientas que «escuchan» por ti. Las reglas salen de correcciones reales; cada una dice por qué existe.

Para qué sirve

  • Voz: limpiarla, nivelarla, transcribirla por palabra y, si es sintética, que diga bien las marcas.
  • Efectos (SFX): un sonido en cada gesto de cada animación, en su fotograma.
  • Música: una cama nueva por pieza, que entre con los cortes y salga con fundido.
  • Mezcla y entrega: el volumen listo para redes, medido.

Herramientas: ffmpeg para todo lo que se mide y se mezcla; Whisper (whisper-cli) para transcribir; Adobe Podcast o un limpiador local para la voz; ElevenLabs u otro generador para música, efectos y voz (siempre después de la skill presupuesto); y «el oído» (referencias/oido.md).

El flujo

  1. Voz primero. Tras el montaje aprobado, exporta la mezcla de la pista de voz, límpiala, nivélala y vuelve a colocarla (abajo).
  2. Lista de golpes. Cada gesto de cada animación con su segundo exacto y el sonido que lleva. Los instantes salen de la misma constante que usa la composición, no de mirar.
  3. Efectos. Un script por pieza que coloca cada sonido en su instante, con su nivel, y clava la duración (referencias/sfx-con-ffmpeg.md). Se mide y se muxea en el vídeo de la animación.
  4. Música. Estilo distinto al de la pieza anterior; 2 opciones filtradas con el oído; la subida cuadrada con un corte; fundido de ~2 s en la marca de salida; nivel de cama y bajada bajo la voz.
  5. Mezcla y nivel de entrega.
  6. Control (al final) y una línea en pieza.md.

Voz

Real por defecto. La locución es una grabación de la persona o del locutor. No propongas voz sintética por tu cuenta; si falta locución, pídela.

Limpieza

  • Adobe Podcast (Enhance Speech), en su versión gratis y sin tocar ajustes, es lo que mejor sonó: en una prueba dejó la voz 3,3 dB más limpia frente al fondo; DeepFilterNet y Resemble Enhance, en local, solo ~0,3 dB y sonaban «tapados, borrosos». El problema de esa voz era la reverberación del cuarto, no el ruido. Los locales quedan de reserva (DeepFilterNet va a ~50× tiempo real; Resemble, a ~2× en CPU).
  • Subir la voz de una persona a un servicio externo necesita su permiso explícito. No lo esquives con scripts ni con reglas que te pongas tú; si no hay permiso, limpia en local.
  • Una subida por pieza, no por clip: la mezcla de la voz ya montada. Si el servicio tiene límite de tamaño, MP3 de 320 kbps y lo largo partido en los silencios.
  • Al volver: mide el desfase con la original (tiene que dar ~0 ms), nivélala a la sonoridad de la original, colócala en una pista nueva desde el mismo punto y silencia la original (no la borres).

Transcripción (para subtítulos, efectos y cortes)

  • Sobre la voz tal como está en la línea de tiempo, por palabra: whisper-cli -m <modelo> -l es -ml 1 -sow -oj. Cómo reconstruirla: skill motion, subtítulos.
  • Whisper cierra las palabras alargadas hasta 2 s antes de tiempo. Nunca se corta una frase: el final real se mide en el audio original (envolvente entre 300 y 3400 Hz).

Voz sintética (solo si la piden, y con presupuesto)

  • Números escritos en letra, una frase por llamada, 2 tomas por frase y se elige la mejor; como mucho 5 generaciones a la vez; salida a 48 kHz / 24 bits, a la sonoridad de la voz que ya había.
  • Al montarla, los silencios van entre frases, nunca dentro.
  • Voz diseñada desde cero: con «guidance» bajo (~3); con uno alto (~8) sale tiesa.
  • La voz de un actor real no se copia: se busca su estilo. La persona actúa las líneas y se le cambia el timbre con un cambiador de voz, que conserva su ritmo.
  • Si alguien sale hablando a cámara, se oye su voz. Clonar una voz o sincronizar labios, solo con permiso de esa persona.

Marcas bien dichas

  • Una marca que coincide con una palabra en inglés sale en inglés aunque la voz sea latina. Escríbela fonética para la voz («Social» → «Sosiál») y prueba con una coma detrás.
  • Mídelo: Whisper transcribe igual las dos pronunciaciones. Una pausa de más de 70 ms dentro de la palabra = la partió en dos. Para una «u» inicial, el F2 de sus primeros 50 ms distingue la española (por debajo de ~1000 Hz) de la «iu» inglesa (por encima de 2000 Hz y cayendo), por ejemplo con Praat.
  • Ninguna medida acierta del todo el acento: genera una tanda, descarta las que parten la palabra y pega solo el trozo de la marca de cada superviviente en un único .wav para que la persona elija de oído. Avísale siempre que una voz sintética diga una marca.

Efectos de sonido

Gesto en pantallaSonido
Mensaje que entra en un chat simulado (o algo que representa un mensaje)El sonido real de esa app, el que el público reconoce como «llegó un mensaje» (suele ser la notificación), recortado a ~1 s; a ráfagas, ~0,4 s y más bajo
Mensaje enviado, nota de voz enviadaLos sonidos reales de la app para eso
Movimiento de cámara, barridoUn swoosh grave o un deslizamiento de tono, nunca ruido sostenido; bajo la voz, más bajo, o un golpe, o nada
Golpe, aparición fuerteGolpe con cuerpo en medios (200–2000 Hz) y un poco de grave
Contador, tic, pop de interfazTonos cortos sintetizados; en avisos seguidos, un semitono más arriba cada vez
ClímaxCampana + grave
Gesto de una persona (aparecer, romper, tachar, pulsar)Kit realista (biblioteca o generado), con los agudos medidos
Palabra clave de la vozUn acento corto con cuerpo en su sílaba fuerte

Los sonidos reales de una app se graban del teléfono o se sacan de la app oficial; sus niveles vienen distintos y hay que igualarlos. Los kits realistas también sisean (relojes, subidas y monedas medidos traían del 70 al 97 % de su energía sobre 3 kHz): mídelos y pásalos por un paso bajo, o sintetízalos con tono.

Música

  • Una banda que toca: instrumental, movida, medio improvisada y con acordes; no un loop de librería que suena a publicidad. Un estilo base (por ejemplo, rock orgánico) y rotación entre piezas: funk, jazz, R&B o algo local cuando la pieza pide alegría.
  • El prompt describe el sonido, no la imagen: género, energía, instrumentos, BPM y cómo evoluciona. Lo que funcionó, en inglés: «Starts instantly with no intro, full band from the very first beat», «Keeps full energy to the end», «Instrumental. Not corporate, not stock music, not lounge».
  • Dos opciones: A = el estilo base, B = el que toca en la rotación. Para comparar en el editor, la segunda va en otra pista, silenciada.
  • Mide antes de elegir: la mitad de las tomas generadas se apagan antes del final o tienen un hueco. Mira los últimos 3 s, busca silencios de más de 0,5 s y saca la envolvente por segundo (dónde sube, cuándo muere). Las tomas de ~50 s suelen apagarse solas hacia el segundo 46: elige el recorte de cabeza para que el fundido caiga sobre la parte llena.
  • La subida cae en un corte de imagen y en una pausa de la voz. Adelanta o retrasa la pista, o repite un compás de la intro en la costura que mejor empalma. Nunca la estires, y no muevas el vídeo para cuadrarla.
  • Si la canción se acaba antes que la pieza, repite una frase de 4 compases después de la subida.
  • Fundido de salida de ~2 s (curva cos², horneado en el WAV) que termina justo en la marca de salida, sobre el groove y no sobre el golpe final.
  • En una serie (historias 1 → 2 → 3), la música sigue de una a otra y con el mismo volumen.
  • Viene muy masterizada (−12 a −14 LUFS, pico real cerca de 0 dB): es normal; se baja al nivel de cama.

Lo que no se rompe

  • Voz real por defecto. Por qué: la voz de la persona es lo que hace creíble la pieza, y la sintética se delata en el primer nombre mal dicho.
  • Las animaciones se ajustan a la voz, nunca al revés: no se meten pausas en la voz para cuadrar un gráfico.
  • Toda animación lleva su efecto de sonido, sin que lo pidan, y cada golpe cae en el fotograma medido. Por qué: una animación muda se siente a medio hacer, y un golpe que llega tarde, peor.
  • Si un sonido no tiene un gesto en pantalla ni un acento en la voz, sobra. Por qué: el SFX acompaña; no es ambiente.
  • Nada de «chhh». Ni ruido blanco ni ruido sostenido para un movimiento; el ruido, solo como transitorio de milisegundos. Por qué: el siseo suena barato, ensucia la locución y es lo que más veces se rechazó.
  • En un simulacro, los sonidos reales de la app. Por qué: un sonido conocido hace creíble el chat; un «pop» genérico lo delata como animación.
  • Cada sonido con su nivel propio. No se normaliza el stem entero; el limitador solo cuida los picos. Por qué: al normalizar todo junto, el golpe más fuerte hunde a los demás.
  • Lo que tiene que oírse lleva cuerpo en medios. Por qué: un grave puro (casi toda su energía bajo 120 Hz) no suena en el altavoz de un celular.
  • El sonido va en la dirección de la idea. Por qué: un problema que se hunde y no resuelve, y una solución que sube y cierra (por ejemplo, en una quinta), cuentan la historia sin palabras.
  • Una música nueva en cada pieza. Por qué: la canción repetida es lo primero que cansa («todo me gusta menos la canción»).
  • La música nunca se corta en seco. Si la pieza cambia de duración, se rehace la cama (recorte y fundido); no se recorta el clip en el editor. Por qué: un final cortado se nota en la entrega.
  • La voz manda. Si cambia la voz, se rehace la bajada de la música.
  • Filtra antes de enseñar y enseña solo las 2 o 3 mejores. Por qué: nueve opciones a ciegas cansan y queman la confianza.
  • El oído filtra, no elige. Por qué: hubo tomas con la mejor nota del oído que igual se rechazaron; decide la persona, de oído.

Números

QuéValor
Efecto suelto (sin voz debajo)pico ≈ −5,5 dB; RMS ≈ −22 a −25 dB
Efecto bajo la locuciónpico ≤ −9 dB; RMS ≤ −27 dB
Sonido de mensaje de un chata nivel de la voz (≈ −21 dB RMS en el stem)
Golpe de cada globo de chaten su fotograma + 0,02 s
Swoosh bajo la vozcentro ≤ 750 Hz, paso bajo a 2,5 kHz, pico ≈ −20 dB
Siseoningún tramo con más del 35 % de su energía por encima de 3,5 kHz
Limitadoralimiter=limit=0.52:level=disabled (techo ≈ −5,7 dB)
Cama musical, con voz en off−20 LUFS en los huecos; −4,5 dB bajo la voz
Cama, con una persona hablando a cámara−23 LUFS en los huecos; −7 dB bajo la voz
Fundido de salida~2 s, cos², acabando en la marca de salida
Voz de cámara cruda≈ −26 LUFS: si la subes, sube también música y efectos
Entrega a redes−14 a −15 LUFS integrados; pico real ≤ −1 dBTP
Prueba del celularla sonoridad cae 2–6 dB: bien; más de 6 dB: falta presencia

Comandos para medir cada línea: referencias/sfx-con-ffmpeg.md.

Trampas conocidas

  • alimiter auto-nivela por defecto: con level activo, el techo no es techo y el pico se escapa. Siempre level=disabled.
  • El limitador no es lineal: normaliza iterando (mide, corrige, reconstruye; 4 vueltas como mucho).
  • volume=…:eval=frame cambia la ganancia por bloques de ~21 ms: modular por encima de ~5 Hz da escalones (un zumbido roto). Lo rápido, por muestra dentro de aevalsrc.
  • -t recorta pero no rellena: apad + -t clava la duración.
  • Si el render de Remotion trae una pista de audio muda en el .mov (depende de la versión), el SFX la reemplaza (-map 0:v -map 1:a), con -t <duración del vídeo>; -shortest en MOV se come los últimos fotogramas.
  • Whisper alucina sobre música sola o ruido («Gracias por ver el video», «Thank you»): ahí no hay voz.
  • El audio enlazado de un clip puede pisar otras pistas al colocarlo: el SFX va el último, en una pista libre.
  • Premiere mudo después de quitar unos auriculares Bluetooth: quedaron como entrada y salida (modo manos libres). Ajustes → Hardware de audio: entrada «Sin entrada», salida los altavoces del equipo. En macOS, system_profiler SPAudioDataType dice cuál es el dispositivo por defecto.
  • Acelerar una nota de voz sin cambiarle el tono: atempo=1.1.

Qué se entrega y qué se verifica

Se entrega: la voz limpia (.wav); un .wav de efectos por animación, del mismo largo exacto (fotograma 0 = fotograma 0), muxeado en su .mov o al lado; la cama musical con el fundido horneado; la mezcla; y una línea en pieza.md con lo hecho, las medidas y lo pendiente.

Se verifica, midiendo:

  • Volumen integrado entre −14 y −15 LUFS y pico real ≤ −1 dBTP.
  • Cama a su nivel en los huecos y bajando bajo la voz.
  • La música termina en fundido justo en la marca de salida.
  • Cada golpe en su fotograma (lista de golpes contra la onda).
  • Ningún tramo con siseo (más del 35 % sobre 3,5 kHz).
  • Los golpes clave se oyen en la prueba del celular.
  • Voz limpia sin desfase con la original.
  • Duración del SFX igual a la del vídeo.
  • Si hay voz sintética: marcas medidas y oídas por la persona.

Individual skills in this repo

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

robinfernandez2016-create/color

Corrige e iguala el color de material real antes de montarlo o entregarlo. Detecta midiendo si un clip es S-Log3 o HLG de celular y lo pasa a Rec.709 (SDR), coloriza cada clip de apoyo antes de usarlo, iguala tomas con una LUT por toma, separa persona y fondo en dos capas, etalona en Premiere con Lumetri por script y revela fotos RAW. Úsalo cuando alguien diga «igualar el color», «corrige el color», «coloriza estos clips», «que todas las tomas se vean iguales», «se ve lavado», «se ve oscuro / amarillo / verdoso», «está muy frío», «la piel sale rara», «el celular sale naranja», «esto está en log», «en QuickTime se ve distinto», «revela estas fotos» o «la foto sale tumbada».

robinfernandez2016-create/control-calidad

El filtro por el que pasa todo render antes de que lo vea la persona. Mide duración y fps, escala y bordes, zonas seguras, negros, vídeo congelado, último fotograma, volumen y picos, siseo y alfa real; repasa la lista de errores que ya salieron; mide el ritmo con `referencia.py`; compara cada corrección con la versión anterior para no romper lo aprobado, y deja que un supervisor con veto firme «aprobado» o «cambios». Úsalo antes de cada entrega y cuando digan «revisa el render antes de mandármelo», «¿está listo para entregar?», «pásalo por control», «¿se rompió algo con el cambio?», «compáralo con la versión anterior» o «apunta esta corrección para la próxima».

robinfernandez2016-create/generacion-ia

Genera imágenes, vídeo y voz con IA (Higgsfield, Kling, Seedance, GPT Image, HeyGen, ElevenLabs y otros) sin desperdiciar créditos y sin que el resultado mienta. Elige el modelo según lo que haya en el plano, mantiene el mismo personaje dentro de la pieza, hace presentadores con voz clonada y lip-sync, compone croma sobre foto, protege el producto real del cliente (que se reproduce, no se recrea) y corrige editando lo aprobado en vez de regenerar. Siempre pasa antes por la skill `presupuesto`. Úsalo cuando digan «genérame una imagen», «hazme un vídeo con IA», «anima esta foto», «clona mi voz», «que hable sin grabarlo», «haz un 360 del producto», «mete este croma en la foto», «ponle otro fondo» o «no me gusta, hazlo otra vez».

robinfernandez2016-create/guion

Convierte un brief en el guion de un reel o un anuncio, listo para grabar o generar. Escribe el gancho de 3 s, la estructura frase por frase, la toma que va con cada frase (tabla frase → toma), la llamada a la acción y el copy de la publicación, y lo deja todo en un solo guion de producción del que sale el teleprompter. No inventa cifras, nombres ni casos. Úsalo cuando digan «escríbeme el guion», «haz un anuncio», «necesito un reel sobre…», «dame un gancho», «¿cómo cierro el vídeo?», «escribe el copy de la publicación», «prepárame el teleprompter» o «¿qué tomas necesito?».

robinfernandez2016-create/motion

Hace motion graphics como código con Remotion (gráficos animados, brolls, alfas sobre el vídeo o por detrás de una persona, pop-ups, subtítulos, simulacros de chat, 3D y la portada del reel) con la marca en un archivo de tokens, bocetos de 2 o 3 fotogramas antes del render y salida con fondo o con transparencia. Úsalo cuando digan «hazme un gráfico animado», «anima este dato», «hazme un broll», «un pop-up aquí», «ponle subtítulos», «subtítulos con palabras clave», «simula un chat de WhatsApp», «que salga detrás de mí», «hazlo en 3D», «con fondo transparente», «la portada del reel» o «renderiza el MG».

robinfernandez2016-create/rodaje

Prepara y acompaña una grabación para que después se monte rápido. Guion en el teleprompter (texto angosto y al centro, velocidad, voz de playback, grabar la cara), control remoto desde el celular, claqueta en el celular con QR, destello y pitido, parte de rodaje con tomas buenas y malas, pantalla y cámara con OBS para tutoriales, llegada automática del material, clips con el mismo número y formateo seguro de la tarjeta. Úsalo cuando digan «prepara la grabación», «voy a grabar», «arma el telepro

Skills relacionados