Communitygithub.com

soundcheck

Corrige el audio que suena 'artificial'. Úsalo cuando un video, voiceover, podcast, drama corto, grabación de pantalla o reel suene áspero, turbio, fino, demasiado bajo o alto, recortado, o cambie de nivel entre segmentos, y antes de distribuir a YouTube, TikTok, Spotify, Apple, podcast o broadcast. Mide la sonoridad integrada (LUFS), el pico verdadero, la sibilancia, el barro de medios graves, la deriva entre segmentos y la fase frente a las 7 Señales de Audio Artificial, aplica una cadena correctiva, y luego vuelve a medir e informa si la especificación de entrega se cumplió realmente.

¿Qué es soundcheck?

soundcheck es una herramienta especializada para el postprocesado de audio que identifica y corrige los defectos más comunes en audios generados por IA o mezclados de forma no profesional. Funciona midiendo siete parámetros clave (las '7 Señales de Audio Artificial'), como la desigualdad de nivel entre tomas, falta de margen dinámico, sibilancia excesiva, barro en medios graves, y problemas de fase. Luego aplica una cadena de corrección automática que incluye filtrado EQ sustractivo, compresión suave, limitación y ganancia estática, y finalmente verifica que el resultado cumpla con las especificaciones de entrega de plataformas como YouTube, Spotify o broadcasting. Compatible con Python y ffmpeg, permite análisis y corrección por línea de comandos, y está diseñado para ser usado en flujos de trabajo de contenido de video, podcasting, y transmisión, asegurando que el audio cumpla con los estándares profesionales sin aplanar la dinámica ni introducir artefactos.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/liuchong110/soundcheck/tree/main

Preguntar en tu IA favorita

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

Documentación

¿Qué hace soundcheck?

El video con IA parece terminado mucho antes de que el audio lo esté. Las tomas de TTS se unen a diferentes niveles, la cama musical nunca se comprime, la mezcla se fuerza en el limitador para sonar "fuerte", y la voz de IA mantiene su siseo de 6-10 kHz y su retumbo de 100-300 Hz.

soundcheck convierte eso en números, lo corrige y demuestra la corrección.

Ejecútalo

python scripts/soundcheck.py analyze <archivo> [--target youtube] [--music musica.wav] [--json]
python scripts/soundcheck.py fix     <archivo> [--target youtube] [--music musica.wav] [--out salida.wav] [--level] [--naturalize]
python scripts/soundcheck.py demo

fix necesita ffmpeg en el PATH. analyze y demo solo requieren Python 3 + numpy (scipy se usa para filtrado más rápido cuando está presente).

Dale a fix un video y devuelve un video: el audio corregido se multiplexa contra el flujo de video original (copiado, nunca recodificado). Sin --out escribe <nombre>.soundcheck.mp4 junto al archivo fuente.

--level iguala el nivel de tomas de voz separadas antes de masterizar. Úsalo para diálogo grabado o sintetizado línea por línea; no lo uses en contenido musical, donde un crescendo o un descenso es parte del arreglo, no un defecto. analyze imprime las marcas de tiempo de los mayores saltos entre tomas para que puedas decidir.

Verifica antes de confiar

python scripts/verify.py        # 20 comprobaciones, salida 0 = todo correcto

La suite verifica que nuestros medidores coincidan con el ebur128 de ffmpeg, que fix salga 0 solo cuando todas las señales pasen, que el archivo entregado se mida nuevamente con un medidor independiente, que la dinámica no se aplaste, y que el silencio / clips cortos / mono 24-bit / mp4 / archivos faltantes se comporten correctamente. Si falla en tu máquina, arréglalo antes de tocar el audio de nadie.

Cuando proceses material real, siempre haz una comparación A/B. El cumplimiento medido es necesario, no suficiente.

Flujo de trabajo

  1. Mide antes de tocar nada. Ejecuta analyze. Nunca empieces a ecualizar desde una suposición.
  2. Lee la tarjeta de puntuación, no la puntuación. La puntuación es un resumen; las señales que fallan son el trabajo.
  3. Corrige. Ejecuta fix --target <plataforma>. Elige la profundidad correctiva de EQ a partir de la medición, aplica la cadena, calcula una ganancia estática a partir de nuestra propia medición de sonoridad, limita y vuelve a medir.
  4. Verifica. fix sale no-cero cuando alguna señal medida sigue fuera de especificación. No informes "listo" con una salida no-cero; informa las señales restantes.
  5. Compara A/B. Conserva el original. Si la corrección suena peor que el problema (sobre-EQ, bombeo), reduce la profundidad correctiva y vuelve a ejecutar. El cumplimiento medido es necesario, no suficiente.

Las 7 Señales de Audio Artificial

#SeñalMedida comoObjetivoCausa habitual
1Desigualdad de nivel entre tomasNiveles en banda de voz, delta adyacente<= 3 dBTomas TTS renderizadas por separado
2Sin margen dinámicoPico verdadero<= -1 dBTPMasterización "hazlo fuerte"
3Conflicto voz/músicaLUFS voz - LUFS música>= 4 dBSin compresión lateral
4Sibilancia ásperaEnergía 6-10 kHz / 1-4 kHz<= 0.45/s/ y /sh/ sintéticos
5Barro de medios gravesEnergía 100-300 Hz / 300-3k<= 0.40Retumbo de proximidad, cama de graves fuerte
6Sin suelo, sin espacioPiso de ruido vs nivel de programa>= 45 dB por debajoArtefactos de denoising, ruido de ambiente apilado
7Problemas de fase/DCCorrelación L/R, offset DCcorr >= 0.2Tomas concatenadas, remuestreo

La señal 3 solo se ejecuta cuando pasas --music con una pista de música aislada. La señal 6 informa n/a cuando el material no tiene pasajes silenciosos; la música suave no es ruido, y un "no se puede evaluar" honesto no es un aprobado. La señal 1 informa dónde están los saltos más grandes, para que un humano pueda escuchar.

Escalera de sonoridad

EntregaIntegradaPico verdaderoNotas
YouTube / TikTok / Reels-14 LUFS-1 dBTPLas plataformas normalizan aquí
Spotify-14 LUFS-1 dBTP
Apple Music-16 LUFS-1 dBTP
Podcast (estéreo / mono)-16 / -19 LUFS-1 dBTP
Broadcast (EBU R128)-23 LUFS-1 dBTP
Drama corto / OTT (CN)-24 LKFS-1 dBTP
Cine-27 LUFS-2 dBTPanclado al diálogo

Orden de la cadena (importa)

pasa altos 70 Hz -> EQ sustractivo (barro, luego sibilancia) -> compresión suave -> limitador -> ganancia estática -> limitador

  • La profundidad correctiva de EQ se deriva de la señal medida, no de un preajuste fijo.
  • La compresión es suave a propósito (2.5:1, ~3-6 dB de reducción de ganancia). Esto es postproducción, no diseño de sonido.
  • La ganancia se aplica después de la cadena correctiva y se mide en la salida de la cadena, para que el archivo entregado cumpla con la especificación incluso cuando el EQ cambió la sonoridad.
  • El limitador se sitúa en 0.79 (-2 dBFS pico de muestra) para sobrevivir a los picos de sobremuestreo a -1 dBTP.

Barreras de protección

  • Nunca afirmes éxito sin una medición nueva. El código de salida del script es la fuente de la verdad.
  • No recodifiques con pérdida dos veces. Decodifica a WAV una vez, trabaja en WAV, codifica una vez al final.
  • No sobremuestrees para fingir calidad. Salida a 48 kHz; la tasa interna de 192 kHz de loudnorm no es una característica.
  • No aplastes la dinámica para alcanzar un número. Si alcanzar -14 LUFS requiere >6 dB de limitación, dilo y entrega -16 en su lugar: una mezcla aplastada es peor que una silenciosa.
  • Las pistas musicales se mantienen separadas. Comprimir una pista mixta destruye la voz; pide las pistas individuales.
  • Conserva el original. Siempre escribe en un archivo nuevo.

Lo que esto no puede corregir

analyze imprime una advertencia cuando la fuente casi no tiene energía por encima de 8 kHz: la firma de un TTS de 16/22 kHz pasado a través de una sesión de 48 kHz. Esa opacidad no es un problema de masterización y ningún EQ la recupera. Si se dispara la advertencia, dilo en lugar de "corregido": renderiza la voz nuevamente con un TTS neuronal, luego masteriza.

--naturalize añade una pequeña sala, un suelo de respiración/ruido de ambiente y un poco de aire en alta frecuencia. Elimina la señal de "seco, digitalmente silencioso"; no puede inventar prosodia y no rescatará una fuente robótica. Nunca lo habilites por defecto en contenido musical.

Límites

  • La señal de "cama musical" necesita una pista aislada; sin ella, el balance voz/música no se mide.
  • El piso de ruido solo es significativo cuando hay pasajes realmente silenciosos.
  • El pico verdadero está sobremuestreado 4x; los radiodifusores que requieran 8x deben verificar con su propio medidor.
  • Esto es una herramienta de entrega, no una mezcla creativa. No hará buena una interpretación mala.

Skills relacionados