O que sfxwright faz?
Resultado: cada som é uma linha em uma lista sounds.json com seu evento, camadas, variações, duração, rota e status, e cada arquivo registra sua fonte, modelo, prompt, semente, licença e edições. Números detectam falhas; o ouvido humano decide. Informe quais sons ninguém ouviu.
SFX significa python scripts/sfx.py a partir desta pasta (execute, não leia; sfx_audio.py e sfx_synth.py são seus módulos). Leia uma referência quando a etapa exigir.
Etapa 0: atualização
Leia evergreen.json. Se contradiction estiver definido ou a data de hoje for igual ou posterior a next_due, informe em uma linha, execute a tarefa e então execute evergreen-refresh. Se verify_at_use for verdadeiro, verifique novamente as alegações de modelo e licença antes de confiar nelas. O everscout beat ai-sfx fornece atualizações quando presente.
Etapa 1: direitos primeiro
- Um som de um filme ou programa nomeado, ou uma marca sonora famosa (sabre de luz, THX Deep Note, sinetas da NBC, bong da Intel, leão da MGM, ta-dum da Netflix): recuse a cópia em uma frase e ofereça um original construído a partir de características acústicas. Não coloque o título ou nome em um prompt ou arquivo: references/rights.md.
commercialna lista decide quais fontes são permitidas. Se o usuário não disse, defina--commercial yes, a leitura mais restritiva, e informe em uma linha; não pare para perguntar.- Um arquivo sem licença conhecida não entra em um projeto comercial. Encontre sua fonte ou substitua-o. Nunca adivinhe uma licença.
- Nunca treine um modelo ou alimente um treinamento com arquivos Sonniss, BOOM ou A Sound Effect.
Etapa 2: planejar
SFX init sounds.json --project NOME --use game --commercial yes, depois SFX add por som. Um corte de filme, design de jogo ou descrição simples terminam aqui: references/plan.md. Para qualquer coisa com eixos (superfície, força, tamanho), execute SFX plan --axis surface=6 --axis force=3 --variations 4 --budget 100 antes de confirmar os arquivos. Formato: references/format.md.
Etapa 3: escolher a rota
Por trabalho, licença e hardware: references/routes.md. Execute SFX doctor uma vez. Informe a escolha e o motivo em uma linha. Instalar um nó, motor ou modelo grande, e qualquer chamada de API paga, precisa do sim do usuário primeiro; use o que estiver presente enquanto isso. Nada alcançável não é um erro: SFX synth não precisa de modelo, e SFX gen --workflow-out entrega um workflow.
Etapa 4: criar
SFX synth list # toda receita, seus parâmetros e materiais
SFX synth footstep --param surface=gravel --takes 6 --out takes/ --name step
SFX gen "caixa de madeira pesada derrubada em concreto, sala morta" --seconds 2 --takes 4 --out takes/ --name crate
SFX library found.wav --licence cc0 --library Freesound --title "..." --url ...
SFX register sounds.json crate takes/crate_01.flac
Prompts nomeiam fonte, material, espaço e tempo, não uma história. Um comprimento solicitado é um máximo, então espere padding. Pesquise sementes antes de mudar palavras. Nunca peça a um modelo um ciclo de caminhada: faça passos individuais, depois SFX sequence.
Etapa 5: editar
SFX edit (arrumar, cortar, fade, ganho, pico, pitch, esticar, inverter, convoluir, dc), layer, vary, sequence, loop, place, record-sheet (plano para sons com rota de gravação), tone (esticamento estável e silencioso, preenchimento opcional; compare com check --tone-match), pop (adicione ou --verify pops de cabeça e cauda 2 em uma stem). Receitas e o que cada edição custa: references/edit.md. Pitch é varispeed por padrão; um esticamento espalha um impacto. Edições carregam proveniência adiante, e uma fonte sem derivados recusa-as. Nunca copie ou renomeie um som manualmente: o sidecar fica para trás. Escreva no nome final com edit, finish ou synth --out.
Etapa 6: verificar cada lote
SFX check takes/*.flac --seconds 2 # leituras e bandeiras por arquivo
SFX set takes/step_*.wav # quase duplicatas, outliers, spread de nível
SFX timing walk.wav # muito regular, ou uma amostra repetindo
SFX sheet takes/*.wav --out sheet.png # veja as formas de onda
Qualquer conjunto de variações sempre recebe set. Uma bandeira significa ouvir; não é um veredito, e um resultado limpo não significa que o som é bom. Dispense o que o briefing quiser (--waive CLICK para estalo). O que cada número significa e em que foi calibrado: references/thresholds.md.
Etapa 7: ouvir
Números não podem dizer se um som se adequa à sua imagem ou se um conjunto se lê como um objeto. Coloque as escolhas em uma página askwright quando presente, com nível equalizado (SFX review --match) e às cegas, com imagem para filme. Caso contrário, dê uma lista de arquivos rotulada e perguntas simples. Registre o que foi ouvido no campo heard da gravação e marque a escolha como picked: true.
Etapa 8: finalizar e documentar
SFX finish in out --dest game-sfx: apenas ganho, depois codifique por último. Um destino desconhecido é um erro: pergunte. Use mw.py master quando musicwright estiver presente e uma mixagem inteira precisar de um alvo de loudness. Motores e destinos: references/finish.md.
SFX doc sounds.json --kind cue|impl|credits, depois SFX ship sounds.json. Relate BLOCKED, CHECK ou CLEAR com os motivos, atribuição devida e divulgação da loja. É um registro, não aconselhamento jurídico.
Saída
A rota, o caminho da lista, bandeiras por lote, o que foi ouvido e por quem, e a resposta ship quando algo está sendo enviado.
Regras
- Nunca chame um som gerado de gravado ou livre de IA.
shiplista o que precisa de divulgação. - Música com notas, tom e andamento vai para musicwright; diálogo e seu tom de ambiente vão para voicewright ou cinewright.
- Amostras publicadas com o plugin devem ter direitos claros.
Enquanto trabalha: capture aprendizados
Se o usuário o corrigir, um erro se repetir ou uma solução alternativa aparecer, adicione-a a LEARNINGS.md. Se provar que uma regra está errada, corrija a regra, registre-a em CHANGELOG.md e defina contradiction em evergreen.json.
Manutenção
Unidade Evergreen, nível fast; estado em evergreen.json. Veja MAINTENANCE.md, RESEARCH.md, TESTS.md, evals/.