Communitygithub.com

Scorewright

Componha e produza uma trilha sonora original para um vídeo – assista e faça a spotting do vídeo, escolha uma identidade musical (gênero, tom/modo, BPM, instrumentos, leitmotiv), escreva um score.json, renderize instrumentos reais (FluidSynth + amostras GeneralUser GS, sintetizadores áudio-como-código, design de som), mixe sob a narração (ducking + speech dip, X LU abaixo da voz) e entregue stems, MIDI, prévias e QC.

O que é Scorewright?

Scorewright é uma skill para Claude que permite compor e produzir trilhas sonoras originais para vídeos, combinando decisões criativas humanas com renderização automatizada. A skill guia o processo desde a análise do vídeo (detecção de cortes, regiões de fala e palavras cronometradas) até a entrega final de stems, MIDI e prévias. Ela suporta tanto 'beds' (trilhas contínuas para vídeos narrados, sem melodia sob a fala) quanto 'scores' (trilhas com leitmotiv para filmes/documentários com pausas na fala). A renderização usa FluidSynth com amostras GeneralUser GS para instrumentos acústicos e sintetizadores áudio-como-código para sons eletrônicos. A skill impõe regras rigorosas: cada decisão criativa deve ser registrada com justificativa, a mixagem ajusta automaticamente o volume da música sob a narração (ducking), e um relatório de QC (controle de qualidade) verifica se todos os hits estão audíveis. Funciona em qualquer sistema com Python 3.10+, e o usuário final ouve a prévia e aprova antes da entrega final.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jayaprakash-pixel/scorewright/tree/HEAD

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Scorewright – Claude compõe, as ferramentas renderizam

Regra zero: Claude toma todas as decisões criativas em score.json e escreve a razão (direction, why de cada cue). O script não tem estilo, BPM, tom ou progressão padrão. Nunca reutilize a última trilha como modelo; comece do vídeo.

PY = um Python 3.10+ com requirements.txt instalado. SW = <esta pasta>/scripts/scorewright.py. Antes da primeira renderização em uma máquina, execute PY SW doctor. Se aparecer MISSING, siga README.md > Instalar e pare, informando o usuário.

Manual (INÍCIO RÁPIDO)

#PassoComando / açãoFeito quando
0VerificarPY SW doctorexibe ready
1FatosPY SW analyze <video> <work> --words <words.json> (ou --voice)facts.json (duração, cortes, regiões de fala, palavras cronometradas) + contact.jpg
2AssistirLeia contact.jpg (tile i = t i*step) e as palavras cronometradas; leia o roteiro/storyboard, se houverVocê pode declarar mensagem, sentimento do público, arco emocional
3SpottingEscreva uma tabela de spotting: cue in/out, pontos de impacto (tempos das palavras, revelações, reviravoltas), onde o silêncio é melhor, emoção por seção (dominante + secundária + intensidade)Cada início/hit de cue é um tempo medido
4DireçãoEscolha a identidade com razões: mistura de gêneros, tom/modo, BPM por cue, paleta, leitmotiv (+ como ele se transforma), arco dinâmico. Use references/craft.mdEscrito em direction
5PartituraEscreva score.json (references/score-format.md, exemplo examples/bed_demo.json). Inicie cada cue EXATAMENTE no seu ponto de impacto; use s:<seg> para posicionar notas sobre palavras; PY SW fit <times> apenas para testar um tempo dentro de uma cueJSON válido
6RenderizarPY SW render score.json <out>stems, full, no_percussion, composition.mid, prévias, SCORE_NOTES.md, qc.json, spectrogram.png
7QCLeia qc.json + spectrogram.png; corrija e re-renderize (nova pasta out por versão)todos checks verdadeiros; cada hit rise_db >= 3; sem silêncios não intencionais
8OuvirO usuário ouve preview_with_voice.mp3. Claude não pode ouvir: diga isso, relate os números, pergunte o que mudarUsuário aprova
9EntregarEntregue full_soundtrack.wav (já X LU abaixo da voz crua, insira com 0 dB) ou os stems para o editor do usuário-

PRIMEIRA DECISÃO: bed ou score

  • Vídeo explicativo / narrado (fala quase contínua) = BED. Sem melodia, sem leitmotiv, sem melodia sob a fala. Use pulso, textura, harmonia lenta, apenas sub. Energia muda nas bordas das seções; 2-3 hits/atenuações em revelações reais; identidade vem do timbre/ritmo, não de uma melodia. Uma melodia curta apenas onde NÃO há fala (introdução antes da primeira palavra, últimos 1-2 s após a última palavra).
  • Filme / documentário com trechos reais sem fala = SCORE. Leitmotiv e melodia vivem nesses espaços.
  • Uma melodia sob explicação é uma segunda voz: o espectador precisa escolher, e a explicação perde.

FAÇA

  • Silêncio, moderação e contraste são ferramentas. Nem todo vídeo precisa de música em todo lugar.
  • Um leitmotiv por ideia central; desenvolva-o (inverta, aumente, rearmonize, mude uma nota) nas reviravoltas da história.
  • Reduza a densidade sob explicação densa; deixe a música falar nas pausas da fala e em momentos exclusivamente visuais.
  • Escolha do motor por faixa: gm para realismo acústico (piano, cordas, metais, sopros, coro, percussão), aac para sintetizadores / vozes com design sonoro (lento: ~10x gm; use para poucas faixas esparsas; opcional), sfx para impactos/swells/sub drops em pontos de impacto.
  • Bed bed_lu_under_voice 11 (enérgico) a 12.6 (calmo), medido nas regiões de fala – o script define exatamente.
  • Nova versão = nova pasta out; nunca sobrescreva uma renderização aprovada.

NÃO FAÇA

  • Sem som de swish / whoosh / virar página. riser/swell são elevações tonais, use com moderação.
  • Sem melodias copiadas, temas reconhecíveis ou arranjos de faixas de referência.
  • Sem mesmo BPM/tom/progressão para todo vídeo; sem volume alto como substituto de emoção.
  • Sem SFX sem razão visual ou narrativa; sem SFX mais alto que a narração.

Limitações conhecidas (testadas)

  • Orquestra GM SoundFont = boa maquete, não realismo Spitfire/Kontakt. Solo piano, pads, plucks, pizzicato e sintetizadores se saem melhor.
  • Um tempo por cue (mudança de tempo = nova cue). composition.mid usa tempo absoluto com o tempo da primeira cue.
  • Renderização áudio-como-código é lenta (score todo-aac 76 s: cerca de 8 min em um Ryzen 5 5600H; score misto: cerca de 50 s).
  • Claude não pode ouvir; números de QC + spectrograma + ouvidos do usuário são o ciclo.

Habilidades Relacionadas