Was macht sfxwright?
Ergebnis: Jeder Sound ist ein Eintrag in einer sounds.json-Liste mit seinem Event, Layern, Variationen, Länge, Route und Status, und jede Datei speichert ihre Quelle, Modell, Prompt, Seed, Lizenz und Bearbeitungen. Zahlen decken Fehler auf; das Ohr eines Menschen entscheidet. Nenne, welche Sounds niemand gehört hat.
SFX bedeutet python scripts/sfx.py aus diesem Ordner (führe es aus, lies es nicht; sfx_audio.py und sfx_synth.py sind seine Module). Lies eine Referenz, wenn der Schritt sie benötigt.
Schritt 0: Frische
Lies evergreen.json. Wenn contradiction gesetzt ist oder heute am oder nach next_due liegt, sag dies in einem Satz, führe die Aufgabe aus und führe dann evergreen-refresh aus. Wenn verify_at_use wahr ist, überprüfe Modell- und Lizenzangaben erneut, bevor du dich darauf verlässt. Der ai-sfx Everscout-Beat liefert Aktualisierungen, wenn vorhanden.
Schritt 1: Rechte zuerst
- Ein Sound aus einem benannten Film oder einer Sendung, oder ein berühmtes Soundmark (Lichtschwert, THX Deep Note, NBC-Jingle, Intel-Bong, MGM-Löwe, Netflix-Ta-dum): Lehne die Kopie in einem Satz ab und biete ein Original an, das aus akustischen Eigenschaften aufgebaut ist. Setze den Titel oder Namen weder in einen Prompt noch in eine Datei: references/rights.md.
commercialin der Liste entscheidet, welche Quellen erlaubt sind. Wenn der Benutzer nichts gesagt hat, setze--commercial yes, die strengere Lesart, und sag dies in einem Satz; halte nicht an, um nachzufragen.- Eine Datei ohne bekannte Lizenz darf nicht in ein kommerzielles Projekt. Finde ihre Quelle oder ersetze sie. Schätze nie eine Lizenz.
- Trainiere niemals ein Modell mit oder füttere in das Training ein: Sonniss-, BOOM- oder A Sound Effect-Dateien.
Schritt 2: Planen
SFX init sounds.json --project NAME --use game --commercial yes, dann SFX add pro Sound. Ein Filmschnitt, ein Game-Design oder eine einfache Beschreibung enden alle hier: references/plan.md. Bei allem mit Achsen (Oberfläche, Kraft, Größe) führe SFX plan --axis surface=6 --axis force=3 --variations 4 --budget 100 aus, bevor du dich auf Dateien festlegst. Format: references/format.md.
Schritt 3: Route wählen
Nach Auftrag, Lizenz und Hardware: references/routes.md. Führe einmal SFX doctor aus. Nenne die Wahl und den Grund in einem Satz. Die Installation eines Nodes, einer Engine oder eines großen Modells sowie jeder kostenpflichtige API-Aufruf benötigt zuerst das Ja des Benutzers; verwende in der Zwischenzeit das Vorhandene. Nichts Erreichbares ist kein Fehler: SFX synth benötigt kein Modell, und SFX gen --workflow-out übergibt einen Workflow.
Schritt 4: Erzeugen
SFX synth list # jedes Rezept, seine Parameter und Materialien
SFX synth footstep --param surface=gravel --takes 6 --out takes/ --name step
SFX gen "schwere Holzkiste auf Beton fallen gelassen, toter Raum" --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 benennen Quelle, Material, Raum und Zeit, nicht eine Geschichte. Eine angeforderte Länge ist ein Maximum, erwarte also Padding. Angle Seeds, bevor du Wörter änderst. Frage niemals ein Modell nach einem Gehzyklus: Mache einzelne Schritte, dann SFX sequence.
Schritt 5: Bearbeiten
SFX edit (aufräumen, trimmen, ein-/ausblenden, Verstärkung, Peak, Tonhöhe, Strecken, rückwärts, falten, DC), layer, vary, sequence, loop, place, record-sheet (Plan für Sounds mit einer Aufnahme-Route), tone (gleichmäßiger, ruhiger Streck-Abschnitt, optionales Füllen; vergleiche mit check --tone-match), pop (2 Pops an Kopf und Ende eines Stems hinzufügen oder --verify). Rezepte und was jede Bearbeitung kostet: references/edit.md. Tonhöhe ist standardmäßig Varispeed; ein Stretch verschmiert einen Aufprall. Bearbeitungen führen die Herkunft weiter, und eine Quelle ohne Ableitungen lehnt sie ab. Kopiere oder benenne niemals einen Sound von Hand um: Der Sidecar bleibt zurück. Schreibe mit edit, finish oder synth --out auf den endgültigen Namen.
Schritt 6: Jede Charge prüfen
SFX check takes/*.flac --seconds 2 # Messwerte und Flags pro Datei
SFX set takes/step_*.wav # Nah-Duplikate, Ausreißer, Lautstärke-Spanne
SFX timing walk.wav # zu gleichmäßig, oder ein Sample wiederholt sich
SFX sheet takes/*.wav --out sheet.png # sieh dir die Wellenformen an
Jedes Variations-Set bekommt immer set. Ein Flag bedeutet: Hinhören; es ist kein Urteil, und ein sauberes Ergebnis bedeutet nicht, dass ein Sound gut ist. Verwerfe, was das Briefing möchte (--waive CLICK für Knistern). Was jede Zahl bedeutet und woran sie kalibriert wurde: references/thresholds.md.
Schritt 7: Hören
Zahlen können nicht sagen, ob ein Sound zu seinem Bild passt oder ein Set wie ein Objekt klingt. Lege Picks, wenn vorhanden, auf einer Askwright-Seite ab, lautstärke-angepasst (SFX review --match) und verblindet, mit Bild für Film. Andernfalls gib eine beschriftete Dateiliste und einfache Fragen aus. Halte fest, was im heard-Feld des Takes gehört wurde, und markiere den Pick mit picked: true.
Schritt 8: Fertigstellen und dokumentieren
SFX finish in out --dest game-sfx: nur Verstärkung, dann zuletzt codieren. Ein unbekanntes Ziel ist ein Fehler: Frage nach. Verwende mw.py master, wenn musicwright vorhanden ist und ein ganzer Mix ein Lautstärke-Ziel benötigt. Engines und Ziele: references/finish.md.
SFX doc sounds.json --kind cue|impl|credits, dann SFX ship sounds.json. Melde BLOCKED, CHECK oder CLEAR mit den Gründen, geschuldete Namensnennung und Laden-Offenlegung. Es ist ein Protokoll, keine Rechtsberatung.
Ausgabe
Die Route, der Listenpfad, Flags pro Charge, was gehört wurde und von wem, und die ship-Antwort, wenn etwas rausgeht.
Regeln
- Nenne einen generierten Sound niemals aufgenommen oder KI-frei.
shiplistet, was offengelegt werden muss. - Musik mit Noten, Tonart und Tempo geht an musicwright; Dialog und sein Raumton gehen an voicewright oder cinewright.
- Mit dem Plugin veröffentlichte Samples müssen klare Rechte haben.
Während der Arbeit: Erkenntnisse festhalten
Wenn der Benutzer dich korrigiert, ein Fehler sich wiederholt oder ein Workaround auftaucht, füge es zu LEARNINGS.md hinzu. Wenn es eine Regel als falsch erweist, korrigiere die Regel, protokolliere es in CHANGELOG.md und setze contradiction in evergreen.json.
Wartung
Evergreen-Einheit, Stufe fast; Zustand in evergreen.json. Siehe MAINTENANCE.md, RESEARCH.md, TESTS.md, evals/.