Que fait sfxwright ?
Résultat : chaque son est une ligne d'une liste sounds.json avec son événement, ses couches (layers), ses variations, sa durée, son chemin et son statut, et chaque fichier enregistre sa source, son modèle, sa consigne (prompt), sa graine (seed), sa licence et ses éditions. Les chiffres détectent les défauts ; l'oreille humaine décide. Signalez les sons que personne n'a encore entendus.
SFX signifie python scripts/sfx.py depuis ce dossier (exécutez-le, ne le lisez pas ; sfx_audio.py et sfx_synth.py sont ses modules). Lisez une référence lorsque l'étape le demande.
Étape 0 : Fraîcheur
Lisez evergreen.json. Si contradiction est défini(e) ou si la date du jour est postérieure ou égale à next_due, dites-le en une ligne, effectuez la tâche, puis exécutez evergreen-refresh. Si verify_at_use est vrai, revérifiez les revendications de modèle et de licence avant de vous y fier. Le scout ai-sfx everscout alimente les rafraîchissements lorsqu'il est présent.
Étape 1 : Droits d'abord
- Un son provenant d'un film ou d'une émission nommé(e), ou une marque sonore célèbre (sabre laser, Deep Note THX, jingle NBC, bong Intel, lion MGM, ta-dum Netflix) : refusez la copie en une phrase et proposez un original construit à partir de traits acoustiques. Ne mettez pas le titre ou le nom dans une consigne (prompt) ou un fichier : references/rights.md.
commercialdans la liste détermine les sources autorisées. Si l'utilisateur ne l'a pas précisé, définissez--commercial yes, l'interprétation la plus stricte, et dites-le en une ligne ; ne vous arrêtez pas pour demander.- Un fichier sans licence connue ne va pas dans un projet commercial. Trouvez sa source ou remplacez-le. Ne devinez jamais une licence.
- N'entraînez jamais un modèle sur, et ne fournissez jamais pour un entraînement, des fichiers de Sonniss, BOOM ou A Sound Effect.
Étape 2 : Planifier
SFX init sounds.json --project NOM --use game --commercial yes, puis SFX add par son. Un montage de film, un game design ou une simple description aboutissent tous ici : references/plan.md. Pour tout ce qui comporte des axes (surface, force, taille), exécutez SFX plan --axis surface=6 --axis force=3 --variations 4 --budget 100 avant de vous engager sur des fichiers. Format : references/format.md.
Étape 3 : Choisir la voie
Par tâche, licence et matériel : references/routes.md. Exécutez SFX doctor une fois. Dites le choix et pourquoi en une ligne. L'installation d'un nœud (node), d'un moteur ou d'un gros modèle, et tout appel API payant, nécessite d'abord l'accord de l'utilisateur ; utilisez ce qui est présent entre-temps. Rien de joignable n'est une erreur : SFX synth n'a besoin d'aucun modèle, et SFX gen --workflow-out remet un workflow.
Étape 4 : Fabriquer
SFX synth list # chaque recette, ses paramètres et ses matériaux
SFX synth footstep --param surface=gravier --takes 6 --out takes/ --name step
SFX gen "lourde caisse en bois dropée sur du béton, pièce sourde" --seconds 2 --takes 4 --out takes/ --name caisse
SFX library found.wav --licence cc0 --library Freesound --title "..." --url ...
SFX register sounds.json caisse takes/caisse_01.flac
Les consignes (prompts) nomment la source, le matériau, l'espace et le temps, pas une histoire. Une durée demandée est un maximum, attendez-vous donc à du bourrage (padding). Pêchez des graines avant de changer les mots. Ne demandez jamais un cycle de marche à un modèle : fabriquez des pas individuels, puis SFX sequence.
Étape 5 : Éditer
SFX edit (nettoyer, couper (trim), fondre (fade), gain, crête (peak), hauteur (pitch), étirer (stretch), inverser (reverse), convolution (convolve), composante continue (dc)), layer, vary, sequence, loop, place, record-sheet (plan pour les sons avec une voie enregistrée), tone (étirement constant et silencieux, remplissage optionnel ; comparer avec check --tone-match), pop (ajouter ou --verify tête et queue 2 pops sur une piste (stem)). Recettes et coût de chaque édition : references/edit.md. Le pitch est par varispeed par défaut ; un étirement (stretch) étale un impact. Les éditions transportent la provenance, et une source sans dérivés les refuse. Ne copiez jamais et ne renommez jamais un son à la main : le fichier sidecar reste derrière. Écrivez vers le nom final avec edit, finish ou synth --out.
Étape 6 : Vérifier chaque lot
SFX check takes/*.flac --seconds 2 # lectures et indicateurs par fichier
SFX set takes/step_*.wav # quasi-doublons, valeurs aberrantes, étalement du niveau
SFX timing walk.wav # trop régulier, ou un seul échantillon qui se répète
SFX sheet takes/*.wav --out sheet.png # regardez les formes d'onde (waveforms)
Tout ensemble de variations reçoit toujours set. Un indicateur signifie écouter ; ce n'est pas un verdict, et un résultat propre ne signifie pas qu'un son est bon. Levez (waive) ce que le brief demande (--waive CLICK pour un crépitement). Ce que chaque nombre signifie et sur quoi il a été calibré : references/thresholds.md.
Étape 7 : Écouter
Les chiffres ne peuvent pas dire si un son convient à son image ou si un ensemble se lit comme un objet unique. Placez les choix sur une page askwright lorsqu'elle est présente, avec niveau équilibré (SFX review --match) et en aveugle, avec l'image pour le film. Sinon, donnez une liste de fichiers étiquetée et des questions simples. Enregistrez ce qui a été entendu dans le champ heard de la prise (take) et marquez le choix picked: true.
Étape 8 : Finaliser et documenter
SFX finish in out --dest game-sfx : gain seulement, puis encodez en dernier. Une destination inconnue est une erreur : demandez. Utilisez mw.py master lorsque musicwright est présent et qu'un mix complet nécessite une cible de loudness. Moteurs et destinations : references/finish.md.
SFX doc sounds.json --kind cue|impl|credits, puis SFX ship sounds.json. Rapportez BLOCKÉ (BLOCKED), À VÉRIFIER (CHECK) ou OK (CLEAR) avec les raisons, les attributions dues et la divulgation des magasins (store disclosure). C'est un enregistrement, pas un conseil juridique.
Sortie
La voie, le chemin de la liste, les indicateurs par lot, ce qui a été entendu et par qui, et la réponse ship lorsque quelque chose est envoyé.
Règles
- N'appelez jamais un son généré « enregistré » ou « sans IA ».
shipliste ce qui doit être divulgué. - La musique avec des notes, une tonalité et un tempo va à musicwright ; le dialogue et son bruit de fond (room tone) vont à voicewright ou cinewright.
- Les échantillons publiés avec le plugin doivent avoir des droits clairs.
En travaillant : capturer les apprentissages
Si l'utilisateur vous corrige, si une erreur se répète ou si une solution de contournement apparaît, ajoutez-la dans LEARNINGS.md. Si cela prouve qu'une règle est erronée, corrigez la règle, enregistrez-la dans CHANGELOG.md et définissez contradiction dans evergreen.json.
Maintenance
Unité Evergreen, niveau fast ; état dans evergreen.json. Voir MAINTENANCE.md, RESEARCH.md, TESTS.md, evals/.