Scorewright - Claude compone, las herramientas renderizan
Regla cero: Claude toma cada decisión creativa en score.json y escribe la razón (direction, why de la señal). El script no tiene estilo, BPM, tonalidad o progresión predeterminados. Nunca reutilices la última partitura como plantilla; empieza desde el vídeo.
PY = un Python 3.10+ con requirements.txt instalado. SW = <esta carpeta>/scripts/scorewright.py.
Antes del primer renderizado en una máquina, ejecuta PY SW doctor. Si dice MISSING, sigue README.md > Instalar, luego detente y avísale al usuario.
Manual de ejecución (INICIO RÁPIDO)
| # | Paso | Comando / acción | Termina cuando |
|---|---|---|---|
| 0 | Verificar | PY SW doctor | imprime ready |
| 1 | Hechos | PY SW analyze <video> <work> --words <words.json> (o --voice) | facts.json (duración, cortes, regiones de voz, palabras temporizadas) + contact.jpg |
| 2 | Observar | Lee contact.jpg (mosaico i = t i*step) y las palabras temporizadas; lee el guión/storyboard si existe | Puedes indicar mensaje, emoción de la audiencia, arco emocional |
| 3 | Sincronizar | Escribe una tabla de sincronización: entrada/salida de señal, puntos de impacto (tiempos de palabras, revelaciones, giros), dónde es mejor el silencio, emoción por sección (dominante + secundaria + intensidad) | Cada inicio/impacto de señal es un tiempo medido |
| 4 | Dirección | Elige identidad con razones: mezcla de géneros, tonalidad/modo, BPM por señal, paleta, leitmotiv (+ cómo se transforma), arco dinámico. Usa references/craft.md | Escrito en direction |
| 5 | Partitura | Escribe score.json (references/score-format.md, ejemplo examples/bed_demo.json). Inicia cada señal EN su punto de impacto; usa s:<seg> para colocar notas en palabras; PY SW fit <times> solo para probar un tempo dentro de una señal | JSON válido |
| 6 | Renderizar | PY SW render score.json <out> | stems, full, no_percussion, composition.mid, previews, SCORE_NOTES.md, qc.json, spectrogram.png |
| 7 | QC | Lee qc.json + spectrogram.png; corrige y vuelve a renderizar (nueva carpeta de salida por versión) | todos los checks verdaderos; cada impacto rise_db >= 3; sin silencios no intencionados |
| 8 | Escuchar | El usuario escucha preview_with_voice.mp3. Claude no puede oír: dilo, reporta los números, pregunta qué cambiar | El usuario aprueba |
| 9 | Entregar | Entrega full_soundtrack.wav (ya a X LU bajo la voz cruda, insértalo a 0 dB) o los stems al editor del usuario | - |
PRIMERA DECISIÓN: fondo o partitura
- Vídeo explicativo / narrado (voz casi continua) = FONDO. Sin melodía, sin leitmotiv, sin tonada bajo la voz. Usa pulso, textura, armonía lenta, solo subgraves. La energía cambia en bordes de sección; 2-3 impactos/salidas en revelaciones reales; la identidad proviene del timbre/ritmo, no de una tonada. Una tonada corta solo donde NO hay voz (introducción antes de la primera palabra, últimos 1-2 segundos después de la palabra final).
- Película / documental con tramos reales sin voz = PARTITURA. El leitmotiv y la melodía viven en esos huecos.
- Una melodía durante una explicación es una segunda voz: el espectador debe elegir y la explicación pierde.
HACER
- El silencio, la moderación y el contraste son herramientas. No todo vídeo necesita música en todas partes.
- Un leitmotiv por idea central; desarróllalo (invierte, aumenta, rearmoniza, cambia una nota) en los giros de la historia.
- Reduce la densidad bajo explicaciones densas; deja que la música hable en los huecos de voz y en momentos solo visuales.
- Elección de motor por pista:
gmpara realismo acústico (piano, cuerdas, metales, vientos, coro, mazos),aacpara sintetizadores / voces diseñadas (lento: ~10x gm; úsalo para pocas pistas dispersas; opcional),sfxpara impactos/swells/caídas de subgraves en puntos de impacto. - Fondo
bed_lu_under_voice11 (enérgico) a 12.6 (tranquilo), medido en regiones de voz - el script lo establece exactamente. - Nueva versión = nueva carpeta de salida; nunca sobrescribas un renderizado aprobado.
NO HACER
- Sin sonidos de siseo / whoosh / paso de página.
riser/swellson aumentos tonales, úsalos con moderación. - Sin melodías copiadas, temas reconocibles o arreglos de pistas de referencia.
- Sin el mismo BPM/tonalidad/progresión para cada vídeo; sin volumen como sustituto de emoción.
- Sin efectos de sonido sin una razón visual o narrativa; sin efectos de sonido más fuertes que la narración.
Limitaciones conocidas (probadas)
- Orquesta GM SoundFont = buena maqueta, no realismo Spitfire/Kontakt. Piano solo, pads, pizzicatos, pulsos y sintetizadores funcionan mejor.
- Un tempo por señal (cambio de tempo = nueva señal). composition.mid usa tiempo absoluto con el tempo de la primera señal.
- El renderizado audio-como-código es lento (partitura totalmente aac de 76 segundos: unos 8 min en un Ryzen 5 5600H; partitura mixta: unos 50 segundos).
- Claude no puede oír; los números de QC + espectrograma + oídos del usuario son el bucle.