Communitygithub.com

Efectos de sala

Encuentra cada momento que debe sonar, coloca un efecto CC0 en el fotograma exacto y vuelve a escuchar hasta que cada golpe caiga.

¿Qué es Efectos de sala?

Este skill pone efectos a una imagen muda, o a un corte cuyos efectos llegan tarde, quedan enterrados o saturan. Marca los instantes que necesitan sonido, toma clips CC0 de Openverse, los recorta y los apoya en el fotograma con ffmpeg. Una pasada de escucha comprueba el sync y el nivel antes de dar el efecto por hecho. La biblioteca no pide cuenta.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ekcheungAI/foley-skill/tree/HEAD/foley

Preguntar en tu IA favorita

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

Documentación

foley: efectos de sonido que aterrizan en el fotograma

No puedes oír. earshot son tus oídos: nunca digas que un sonido "encaja" o "está sincronizado" sin un número de earshot. SKILL_DIR abajo = la propia carpeta de esta skill (se muestra como su directorio base cuando la skill se carga). Trabaja en la carpeta del video. Mantén todo lo que hagas bajo foley/ junto al video.

Requisitos

  • ffmpeg y ffprobe en PATH, Python 3.10+.
  • earshot en PATH: uv tool install "earshot[mcp] @ git+https://github.com/Leonxlnx/earshot" luego earshot doctor --fetch (~1.1 GB modelos, solo CPU).
  • Internet para Openverse (límite anónimo: alrededor de 20 consultas por minuto, 200 por día).

1. Encuentra las señales (mira, luego mide)

  1. python3 SKILL_DIR/scripts/find_cues.py VIDEO --out foley/cues-candidates.json imprime picos de movimiento (cambio entre fotogramas) y escribe hojas de contacto en foley/sheets/.
  2. Lee las hojas de contacto. Nombra cada momento que necesita un sonido (golpe, paso, puerta, whoosh en un giro rápido, impacto, ambiente de fondo) y elige su fotograma exacto; usa los picos de movimiento para acotar, pero confía en lo que ves. Omite contactos que no puedas ver realmente.
  3. Escribe foley/cues.json: [{"id": "golpe1", "t": 0.625, "kind": "golpe", "what": "puño contra palma abierta"}, ...].

2. Descarga sonidos CC0

Para cada tipo, 2–4 palabras de búsqueda: python3 SKILL_DIR/scripts/fetch_cc0.py "golpe impacto" foley/sounds/golpe --limit 8. Solo conserva resultados con license=cc0 de source=freesound y registra título, creador, licencia y página de origen en foley/sounds/sources.json. CC0 no necesita atribución, pero dile al usuario que abra la página de origen si el uso es comercial: Openverse no garantiza la precisión de la licencia.

3. Selecciona y recorta con earshot

  • earshot rank "<cómo suena el momento>" foley/sounds/<tipo> --top 3 --out foley/rank-<tipo>.json. Describe el sonido, no la imagen ("un golpe corto y seco de un puño sobre una palma abierta").
  • earshot find ARCHIVO "<mismas palabras>" --kind event --top 3 --out foley/find-<id>.json para sonidos únicos; --kind texture para un ambiente de fondo. Rechaza recortes marcados como corte de inicio / corte de final.
  • Anota el punto de sincronización de cada recorte: para golpes es el ataque (inicio + ~5 ms); para whooshes es el punto más fuerte, no el inicio.

4. Coloca

Escribe foley/plan_v1.json (ver encabezado de scripts/mix.py) y ejecuta python3 SKILL_DIR/scripts/mix.py foley/plan_v1.json. La imagen se copia, nunca se re-codifica.

5. Escucha y corrige (la parte importante)

  1. earshot timeline OUT.mp4 --cues "t1,t2,..." --out foley/timeline_v1.json
  2. python3 SKILL_DIR/scripts/check.py foley/timeline_v1.json id1,id2,... foley/check_v1.json Una señal pasa cuando el inicio escuchado está dentro de los 40 ms del fotograma y al menos 6 dB sobre el fondo.
  3. Corrige solo lo que falló, según la cantidad medida:
    • retraso / adelanto → desplaza ese evento según el desfase (los whooshes suelen ir retrasados porque su pico llega después del inicio);
    • enterrado (< 6 dB sobre el fondo) → súbelo o baja el fondo;
    • pico verdadero por encima de −1 dBTP o recorte → baja el golpe más fuerte (un limitador no puede atrapar un transitorio en las primeras muestras).
  4. Escribe plan_v2.json, renderiza, escucha de nuevo. Repite hasta que TODO PASE y el pico verdadero sea ≤ −1 dBTP.
  5. Loudness: una pista solo de efectos de sonido tiene picos y suele medir alrededor de −20 LUFS con pico verdadero ≤ −1 dBTP. Eso es esperado; ajusta la sonoridad final más tarde, en la edición con voz/música. No lo subas más aquí.

6. Informe

Escribe foley/report.md: cada señal (tiempo, fotograma, qué), el archivo usado (título, creador, página de origen CC0), el desfase y nivel de la primera escucha, lo que cambiaste y los números finales. Di claramente que las comprobaciones son mediciones de earshot, no escucha humana, y sugiere al usuario que escuche una vez.

Reglas

  • Solo sonidos CC0 a menos que el usuario pida otra cosa. Nunca uses un sonido sin su fila en sources.json.
  • No inventes un golpe que no puedas ver. No digas que un sonido "suena bien"; cita a earshot.
  • Mantén el video original intacto; escribe <nombre>-sfx.mp4.

Skills relacionados