Communitygithub.com

SonuSV7719/real-sound

Crea bandas sonoras premium y realistas para videos y animaciones hechos con código, a partir de grabaciones reales con licencia. Úsalo cada vez que un video o animación necesite diseño de sonido, efectos de sonido, foley, ambiente, música, una banda sonora, clics de interfaz, transiciones, risers, impactos, o una edición musical sincronizada con la imagen.

¿Qué es real-sound?

Este skill actúa como el supervisor de sonido de una película que no puedes escuchar, construyendo bandas sonoras exclusivamente a partir de grabaciones reales y producidas profesionalmente (no sintetizadas). El proceso es altamente estructurado y está basado en código: desde una lista de cues derivada del metraje (fotogramas de contacto, picos de velocidad, etc.), pasando por la obtención de muestras de bibliotecas como Freesound y Mixkit, gestión de licencias, edición musical en compases, diseño de fragmentos de sonido, mezcla determinista, un riguroso control de calidad (mediciones de clics, enmascaramiento, sonoridad, sincronización), una crítica multiagente y una masterización final. Soporta plataformas como Remotion, HyperFrames, three.js, GSAP o cualquier motor de renderizado, y es ideal para videos promocionales, demostraciones de productos, recorridos de interfaz, stings de logotipo, explicaciones, tráileres y cortos animados. El skill proporciona un conjunto completo de scripts en Python (análisis, mezcla, QA, variantes, créditos) y utiliza el paquete `earshot` para tareas de escucha, análisis y crítica automatizada, garantizando que cada sonido esté justificado, tenga licencia correcta y cumpla con los estándares profesionales de producción.

Compatible con~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/SonuSV7719/ai-video-studio/tree/master/skills/real-sound

Preguntar en tu IA favorita

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

Documentación

¿Qué hace real-sound?

Eres el supervisor de sonido de una película que no puedes escuchar. La banda sonora se construye ÚNICAMENTE a partir de audio real, grabado o producido profesionalmente (una pista musical con licencia, foley y SFX reales, ambientes reales), colocados en los fotogramas clave de la imagen mediante un mezclador determinista, medidos en lugar de escuchados, analizados a través de cinco lentes, corregidos por un agente, masterizados, acreditados y multiplexados. El código selecciona, recorta, coloca, nivela, panea, ecualiza, ajusta el tono mediante remuestreo, estira el tiempo de la música y masteriza; el código nunca genera un sonido.

El estándar es un video promocional profesional: cada sonido causado por algo en pantalla, una paleta de materiales consistente, el clímax musical en la revelación del héroe, contención en el resto, un logotipo resuelto, una cola hacia el silencio. Reglas: references/sound-design.md (y el repositorio earshot con docs/launch-video-sound.md para el perfil de referencia empaquetado: 7 videos promocionales profesionales).

<skill> a continuación es esta carpeta. Python: {{PY}} a continuación (y en cada plantilla de prompt) es UN intérprete que tiene numpy, scipy, soundfile y el paquete earshot: el venv del repositorio earshot (<earshot repo>/.venv/Scripts/python.exe en Windows, <earshot repo>/.venv/bin/python en otros lugares), o cualquier Python donde <python> -c "import earshot" funcione. Un simple python en Windows suele ser el stub de Microsoft Store y falla. Sustituye la ruta completa por {{PY}} cuando ejecutes un comando o le pases un prompt a un sub-agente (los otros marcadores de posición se enumeran en references/process.md). Ejecuta los scripts con -I (aislado: los archivos descargados nunca pueden ocultar un módulo); todos los scripts, excepto scripts/licences.py (el módulo de política de licencias que importan audit.py y credits.py), imprimen --help.

El proceso

pasoquiénsalidacompuerta
0. lista de cueslíderout/cues.jsonfotogramas de sincronización calculados a partir del código de la imagen
1. brieflíderaudio/SOUND_BRIEF.mdcada cue tiene una necesidad de sonido (o "nada")
2. obtención (por categoría, en paralelo)agentes de obtenciónaudio/assets/<cat>/, manifiestoscada archivo medido + realness de earshot "real o producido profesionalmente" en el recorte utilizado (un "incierto" solo con su evidencia y una re-verificación a nivel de recorte escrita en el manifiesto)
3. auditoría de licenciasauditoraudit.jsonaudit.py exit 0 para lo que la película usa
4. edición musicalsupervisor musicalaudio/design/music.jsonrejilla verificada, clímax en la revelación, empalmes limpios
5. fragmentos de diseño (por categoría, en paralelo)diseñadoresaudio/design/<cat>.jsonrenderizado en solitario + QA limpio
6. integrarlíderbanda sonora, pistas, informe, trazacompuerta de masterización (±0.5 LU, <= -1.5 dBTP)
7. QA + escuchalíderout/qa/qa.json, timeline de earshot / hoja / críticasin fallo de QA
8. crítica (5 lentes, en paralelo, solo lectura)críticosproblemas clasificados + operaciones probadas
9. corregirUN correctorel diseñoQA: sin regresión
10. masterizar, acreditar, multiplexarlíderCREDITS.md, texto de descripción, la películacréditos exit 0, retardo 0

El detalle de cada paso, los roles y lo que mide cada crítico: references/process.md. Cada prompt de sub-agente es un brief listo para rellenar en templates/prompts/.

0. Lista de cues a partir de la imagen

Cada sonido se sitúa en un fotograma que el código de la imagen calcula: un fotograma de contacto, el 50 % de una aparición, el pico de velocidad de un movimiento, el golpe de un riser, el fotograma en que la marca se hace legible. Las películas cinéticas ya tienen out/cues.json (export-cues.ts); para cualquier otro, escribe el mismo formato (templates/cues.json) a partir de las constantes de la línea de tiempo. Los ids estables (act:thing:n) permiten que las reglas coincidan con clases de acción mediante una expresión regular.

1. Brief

Copia templates/SOUND_BRIEF.md a audio/SOUND_BRIEF.md: concepto (paleta, arco musical, lugares), el mapa de la imagen (cada cue: qué hay en pantalla, la necesidad de sonido), zonas de ambiente, licencias permitidas, nivel de calidad, diseño de archivos. Es el contrato que cada sub-agente recibe textualmente. Elige la fila de personalidad de la marca (references/sound-design.md §3).

2. Obtención, por categoría (templates/prompts/sourcing.md)

Categorías típicas de un video promocional: ui (clics, toques, conmutadores, pops), keyboard (teclado), motion (whooshes, risers), impacts (golpes de revelación, el logotipo), ambience (ambiente), music (música); una película de personajes añade foley (foley), sus mundos, sus objetos. Freesound (CC0 / CC BY; vista previa HQ cdn.freesound.org/previews/<id//1000>/<id>_<user>-hq.ogg), Mixkit (WAV assets.mixkit.co/active_storage/sfx/<id>/<id>.wav), bibliotecas de compositores para música; las licencias se leen en la página de cada elemento (references/licences.md); descargas secuenciales corteses; cada archivo medido:

{{PY}} -I <skill>/scripts/analyze.py audio/assets/ui/* --png out/audio-review/ui --out out/audio-review/ui.json
{{PY}} -m earshot realness audio/assets/ui/                  # compuerta: "real o producido profesionalmente" (re-verificar recortes: --start --end)
{{PY}} -m earshot rank "un solo clic de trackpad nítido" audio/assets/ui/ --top 5
{{PY}} -m earshot match <file> "un pop de corcho suave" --alts "un disparo" "una explosión de globo"
{{PY}} -m earshot find <long take> "una sola pulsación de tecla mecánica" --top 8   # recortes; saltar los marcados como corte de cabeza / corte de cola

3. Auditoría de licencias (templates/prompts/licence_audit.md)

El auditor registra lo que dice cada página (licence_seen, licence_confirmed) en audio/assets/manifests/audit.json; el script verifica el resto (clasificación, ids vs URLs, archivos decodificables, duraciones, líneas de crédito):

{{PY}} -I <skill>/scripts/audit.py --root . --report out/qa/mix_report.json [--fetch]

Permitidas: CC0, dominio público, CC BY 2.0-4.0, licencias gratuitas de Mixkit, Pixabay. Prohibidas: NC, ND, SA, Sampling+, personal, personalizada, en disputa. No verificada = bloqueada.

4. Música (templates/prompts/music_supervisor.md)

Una pista con licencia cuya estructura encaje con la película. Escribe el arco por compás de la película (templates/arc.json), luego:

{{PY}} -I <skill>/scripts/arrange.py audio/assets/music/<track> --film-bpm 120 --arc audio/arc.json --out out/audio-review/music/arrange.json

Ajusta el tempo, mueve la rejilla sobre los ataques medidos (los seguidores de tiempo tienen un retardo de 20-50 ms), propone la fase del tiempo fuerte, ancla el clímax del compás en el candidato a clímax más fuerte y redacta segmentos en las líneas de compás (un bloque music listo para pegar). El tiempo fuerte es el punto débil: cuando imprime confianza BAJA (en una de las dos pistas en las que se probó, se desvió medio compás), decide entre las dos rejillas impresas a partir de la primera nota, las entradas de sección y los cambios de acorde en la tabla de compases, y vuelve a ejecutar con --phase N. Luego edita según el criterio: la armonía continúa a través de cada empalme, el tiempo fuerte del clímax en el fotograma del héroe, el acorde final en el logotipo, tail_fade hacia el final.

5. Fragmentos de diseño, por categoría (templates/prompts/designer.md)

audio/design/<category>.json con muestras (recortes), cortes (cortar una toma de muchos golpes en golpes individuales), grupos, reglas sobre eventos de cue, colocaciones libres, camas de ambiente, el bloque de música. Referencia con cada clave y ejemplos reales: references/design-format.md; un ejemplo completo de video promocional: templates/design_fragment.json (sus nombres de archivo son marcadores de posición como mk-0000_mouse-click.wav: se renderiza una vez que cada uno se reemplaza por una grabación real de tus manifiestos; mix.py se detiene y lista los archivos faltantes hasta entonces). Verificar solo:

{{PY}} -I <skill>/scripts/mix.py --only ui --dump out/audio-review/ui/dump        # cada recorte como WAV + números
{{PY}} -I <skill>/scripts/mix.py --only ui --trace out/audio-review/ui/adds.json --out out/audio-review/ui/solo.wav
{{PY}} -I <skill>/scripts/qa.py --only ui --report out/audio-review/ui/solo_report.json --stems out/audio-review/ui/solo_stems --trace out/audio-review/ui/adds.json --out out/audio-review/ui/qa.json
{{PY}} -m earshot timeline out/audio-review/ui/solo.wav --cues out/cues.json

6-7. Integrar, QA, escuchar

{{PY}} -I <skill>/scripts/mix.py --root . --design audio/sounddesign.json --cues out/cues.json --trace out/qa/adds.json
{{PY}} -I <skill>/scripts/qa.py --layers                      # clics, bordes, audibilidad, aspereza, sonoridad, cobertura, sincronía, densidad
{{PY}} -I <skill>/scripts/qa.py --listen --realness --video out/film.mp4   # + timeline de earshot, hoja, crítica, realness
{{PY}} -m earshot critique out/audio/soundtrack.wav --video out/film.mp4    # tarjeta de puntuación vs videos promocionales profesionales
{{PY}} -m earshot sheet out/audio/soundtrack.wav -o out/qa/sheet.png --video out/film.mp4 --cues out/qa/cues_sounded.json

qa.py vincula cada hallazgo a la regla y la muestra que lo causaron (la traza). Es utilizable sin los modelos; --listen añade la transcripción de earshot (out/qa/qa_timeline.txt), hoja anotada y tarjeta de puntuación.

8-9. Crítica y corrección

Cinco críticos de solo lectura en paralelo, cada uno con su prompt: critic_sync.md, critic_edges.md, critic_masking.md, critic_tonal.md, critic_director.md. Cada uno prueba sus correcciones como una variante en su propia carpeta:

{{PY}} -I <skill>/scripts/variant.py --ops out/audio-review/critic_tonal/ops_v1.json --out out/audio-review/critic_tonal/v1 --render --qa

y devuelve problemas clasificados con operaciones exactas y números antes -> después. Luego UN corrector (fixer.md) fusiona las operaciones, resuelve conflictos, verifica la variante fusionada contra el qa.json anterior y la aplica (variant.py --apply, originales respaldados). Reconoce las excepciones deliberadas confirmadas con "qa_ok": "<razón>". Al menos una ronda; una segunda cuando los niveles o la edición musical cambiaron.

10. Masterizar, acreditar, multiplexar

mix.py masteriza con master.py (-14 LUFS, limitador de pico verdadero, techo 0.77 lineal; compuerta ±0.5 LU y <= -1.5 dBTP).

{{PY}} -I <skill>/scripts/audit.py --root . --report out/qa/mix_report.json            # exit 0
{{PY}} -I <skill>/scripts/credits.py --root . --design audio/sounddesign.json --audit audio/assets/manifests/audit.json
node <skill>/scripts/mux.mjs --video out/film.mp4 --audio out/audio/soundtrack.wav --out out/film_sound.mp4
{{PY}} -m earshot timeline out/film_sound.mp4 --cues out/qa/cues_sounded.json          # el archivo terminado, escuchado

CREDITS.md + out/CREDITS_description.txt (pegar en la descripción del video: los créditos CC BY son obligatorios allí). mux.mjs copia en flujo la imagen y corta el audio AAC a la duración de la imagen.

Videos promocionales: el mapa de sonido

imagensonidose sitúa en
cursor se mueve, sobrevuela, desplaza, progreso, texto en flujonada (la música lo lleva)
clic / toqueUNA voz de clic real para la película, pulsación + liberación ~85 ms después, mismo nivel cada vezel fotograma de pulsación
escrituraun teclado real, cortado; <= ~12 teclas/s, una por palabra por encima de ~25 caracteres/s; la música baja 6-10 dBcada carácter sonado
aparece una tarjeta / chip / insigniaun pop o tic real suave, que asciende a lo largo de una secuencia50 % de su recorrido
conmutador, bloqueo, valor final de un contadorun pestillo / clic / tic nítido realel fotograma de contacto / bloqueo
movimiento de cámara a escala, latigazo, zoom (~2 por película)un swish real, ápice en el pico de velocidadpico de velocidad
cortes durosnada
tensión hacia la revelaciónla construcción de la música, o un riser real que termina 30-250 ms antes del golpeel golpe
revelación del héroeel CLÍMAX de la música (edita la pista para que su tiempo fuerte aterrice aquí) + opcionalmente un impacto realel fotograma
logotipo / bloqueola música se detiene en una línea de compás o se filtra, 0.2-0.7 s de casi silencio, UNA nota suave en clave, cola al silencioel fotograma en que se lee la marca

Niveles: -14 LUFS, pico verdadero <= -1 dBTP después de AAC, LRA 5-9 LU, el momento más fuerte en el clímax (30-60 % de entrada), el logotipo 8-20 dB por debajo, aproximadamente 5 efectos diseñados por cada 10 s, efectos secos y centrados. Normas medidas y las pistas baratas: references/sound-design.md.

Herramientas

necesidadherramienta
medir grabaciones (formato, piso, ancho de banda, ataques, picos, tempo / tonalidad) + PNGs de espectrogramascripts/analyze.py
escuchar grabaciones: real vs sintetizado, cómo suena, mejor coincidencia, mejor toma dentro de un archivo largo{{PY}} -m earshot realness / describe / match / rank / find / compare / ab
niveles / brillo / ataques de un archivo o un tramo del mismo (--start --end){{PY}} -m earshot measure (Python: from earshot import api; api.measure(...), igualmente api.find, api.realness ...)
auditoría de licencias + archivosscripts/audit.py (política en scripts/licences.py)
rejilla musical, tiempos fuertes, borrador de edición en líneas de compásscripts/arrange.py
renderizar el diseño (+ solo --only, --dump recortes, --trace para QA)scripts/mix.py
masterización y medición de sonoridadscripts/master.py (--measure)
QA objetivo vinculado a las colocacionesscripts/qa.py (--layers, --listen, --realness)
variantes de críticos, la aplicación del correctorscripts/variant.py
créditos para CREDITS.md y la descripción del videoscripts/credits.py
poner la banda sonora en la imagenscripts/mux.mjs
escuchar una mezcla / película completa; imagen anotada; tarjeta de puntuación de video promocional{{PY}} -m earshot timeline / sheet / critique

Archivos

audio/SOUND_BRIEF.md                 el contrato              (templates/SOUND_BRIEF.md)
audio/assets/<category>/             grabaciones descargadas  (<source>-<id>_<slug>.<ext>; nunca confirmar ni publicar)
audio/assets/manifests/<cat>.json    una entrada por grabación (templates/manifest_entry.json)
audio/assets/manifests/audit.json    auditoría de licencias   (templates/audit_entry.json)
audio/sounddesign.json               nivel superior: incluye, buses, master   (templates/sounddesign.json)
audio/design/<category>.json         un fragmento por diseñador               (templates/design_fragment.json)
out/cues.json                        los eventos de cue de la imagen           (templates/cues.json)
out/audio/soundtrack.wav, stems/     el master y sus pistas
out/qa/                              mix_report.json, adds.json, cues_sounded.json, master.json, qa.json
out/audio-review/                    trabajo por categoría y por crítico, variantes, volcados (la pista de auditoría)
CREDITS.md, out/CREDITS_description.txt

Referencias

  • references/process.md: roles, pasos, lo que mide cada crítico, umbrales y su origen

…

[truncado para la traducción]

Individual skills in this repo

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

Skills relacionados