Communitygithub.com

Sound-Design

Sounddesign für Videos mit dem lokalen AudioFX-CLI (`sfx`). 65 Effekte als ffmpeg-Filtergraphen, darunter synthetisierte Kinomomente, die mit einer Sekunde verankert sind (Impact Hit, Riser, Whoosh, Sub Drop, Trailer Braam, Gap Before the Drop, Cut mit Reverb Tail, Reverb oder Echo Throw, Stutter, Trailer Voice, Archival Voice), aufgenommene Samples, die exakt zu einer Sekunde eingeblendet werden (aus der Soundbibliothek des Benutzers wie Epidemic Sound, von ElevenLabs oder aus lokalen Dateien), das Mischen von Stimme, Musik und Effekten auf einer Timeline mit automatischer Musik-Ducking unter der Stimme, Musik passend zum Video (ein auf die Videolänge zugeschnittener Track, dessen Drop auf den Hauptschnitt fällt, Stems einzeln behandelt) sowie Behandlungen (AM-Radio, Festnetz, Mobiltelefon, Gerätelautsprecher, Walkie-Talkie, alter Fernseher, Vinyl, Kassette, Unterwasser, Hinter der Wand, Hall von Badezimmer bis Kathedrale, Echo, Weit weg, Roboter, Monster, Geist, Traum, Rückblende, Post-Explosion Shell Shock, Zeitlupe, Tape Stop, Filter Sweeps, Reverse Swell, Tiefpass/Hochpass, saubere Stimme, LUFS-Normalisierung).

Was ist Sound-Design?

Das Sound-Design-Skill für KI-Agenten ermöglicht die professionelle Audiopostproduktion von Videos allein durch das lokale Kommandozeilentool `sfx` (AudioFX-CLI). Es wandelt 65 verschiedene Soundeffekte in ffmpeg-Filtergraphen um, die direkt in die `-af`-Option von ffmpeg eingefügt oder auf Dateien angewendet werden können. Von synthetisierten Kinomomenten wie Impact Hits, Risern und Whooshes, die millimetergenau auf Schnitte gelegt werden, über die Einbindung von Real-Samples aus Diensten wie Epidemic Sound bis hin zur vollständigen Audiomischung mit automatischem Ducking bietet es einen umfassenden Workflow. Der Agent kann Effekte parametrisieren, auf bestimmte Zeitfenster begrenzen, Musik exakt auf die Videolänge zuschneiden und den endgültigen Mix auf LUFS-Normen wie -14 LUFS (für soziale Medien) normalisieren. Das Skill ist plattformunabhängig und funktioniert mit jeder ffmpeg-Installation sowie nahtlos mit ElevenLabs und Epidemic Sound über entsprechende MCP-Tools. Der Agent führt die Bearbeitung durch, dokumentiert die angewendeten Effekte und Zeitpunkte und bietet dem Benutzer bei Bedarf das interaktive `sfx studio` an, um Parameter nach Gehör zu justieren.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/NachoEstevo/audiofx/tree/HEAD/skills/sound-design

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Sounddesign mit AudioFX

AudioFX verwandelt Sounddesign-Effekte in ffmpeg-Filtergraphen. Jeder Effekt ist ein String, der direkt in ffmpeg -af eingefügt oder mit dem CLI auf eine Datei angewendet wird. Was Sie im Webstudio hören, ist genau das, was beim Rendern herauskommt.

Befehl

In diesem Dokument bedeutet sfx:

node {{AUDIOFX_DIR}}/bin/sfx.mjs

Wenn sfx auf diesem Rechner kein Befehl ist, verwenden Sie den vollständigen Pfad. Es funktioniert von jedem Ordner aus. Wenn es aufgrund von ffmpeg fehlschlägt, führen Sie sfx doctor aus.

Sie benötigenBefehl
Den Katalogsfx list (oder --json)
Parameter, Bereiche und wann ein Effekt verwendet wirdsfx describe <effect>
Verarbeiten einer Audio- oder Videodateisfx apply <input> <output> <step...>
Den Filtergraphen für Ihr eigenes ffmpegsfx graph <step...>
Lautstärke und Spitzen messensfx analyze <file>
Länge eines Videos und harte Schnittesfx cuts <video>
Wo ein Song ansteigt (Drop-Kandidaten) und abfälltsfx sections <file>
Mischen von Stimme, Musik und Effekten auf einer Timeline, wobei die Musik unter der Stimme geduckt wirdsfx mix <output> --voice v.wav --music m.wav [--sfx hit.wav@6] [--video cut.mp4], oder sfx mix project.json <output>
Ein aufgenommenes Sample behalten und einblenden`sfx sample add <file
Eine neue Stimme, ein neuer Sound oder Song, bereits verarbeitet`sfx generate <sfx
Dem Benutzer das Zuhören und Optimieren ermöglichensfx studio (öffnet http://127.0.0.1:5177)

Ein Schritt wird als effekt[:param=wert,param=wert][@von-bis] geschrieben:

sfx apply voice.wav voice-phone.wav telephone
sfx apply clip.mp4 clip-fx.mp4 "underwater:[email protected]" --fade 0.4
sfx graph "reverb:space=cathedral,mix=0.4" "fade:in=0,out=2"
  • Schritte werden in der Reihenfolge ausgeführt.
  • @3.2-7 begrenzt den Effekt auf dieses Fenster, mit einer --fade-Sekunden-Überblendung (Standard 0,25) zwischen dem trockenen und dem verarbeiteten Signal. @3.2- bedeutet von 3,2 s bis zum Ende.
  • Wenn die Ausgabe .mp4, .mov, .mkv oder .webm ist, wird das Bild ohne Neucodierung kopiert und das Audio ersetzt.
  • Wenn ein Parameter falsch ist, listet das CLI die gültigen auf. Nicht raten: Führen Sie sfx describe aus.

Arbeitsablauf

  1. Lesen Sie das Skript oder den Schnitt und markieren Sie die Momente, die eine Behandlung benötigen: eine Stimme, die durch ein Telefon kommt, die Kamera, die unter Wasser geht, eine Erinnerung, ein Drop, ein komödiantischer Schnitt. sfx cuts video.mp4 gibt die Länge des Videos und seine harten Schnitte aus (eine niedrigere --threshold, Standard 10, erfasst weichere). Notieren Sie die Zeiten in Sekunden.
  2. Wählen Sie den Effekt aus der folgenden Tabelle. Bei Unsicherheit sfx list und sfx describe. Beginnen Sie mit den Standardeinstellungen: Sie sind so abgestimmt, dass sie klar klingen, ohne zu übertreiben.
  3. Behandeln Sie jede Spur separat, vor dem Mischen. Ära-, Charakter- und Raumeffekte kommen auf die Stimme oder den jeweiligen Effekt, nicht auf den gesamten Mix. Die Ausnahme ist ein narratives Mittel, das alles betrifft, was Sie hören (Unterwasser, Shell Shock, Traum).
  4. Verwenden Sie Fenster für Änderungen innerhalb eines Clips (@von-bis) anstatt Dateien zu schneiden und zusammenzufügen.
  5. Mischen und normalisieren Sie am Ende mit sfx mix (siehe „Mischen“): Es duckt die Musik unter der Stimme und normalisiert den Master auf etwa -14 LUFS für soziale Medien und YouTube (--loudness -16 für Podcasts, --23 für Rundfunk). Für eine einzelne Datei macht loudness am Ende ihrer Kette dasselbe. Überprüfen Sie dann mit sfx analyze, ob die Lautstärke nahe am Ziel liegt und die wahre Spitze bei -1 dBTP oder niedriger bleibt.
  6. Sie können nicht zuhören. Sagen Sie, welche Effekte Sie zu welchen Zeiten angewendet haben, und bieten Sie sfx studio an, damit der Benutzer sie nach Gehör einstellen kann. Wenn der Benutzer neue Werte zurücksendet, liefert das Studio den genauen Befehl zum Kopieren.

Kinomomente: Was einen Schnitt verkauft

Launch-Videos klingen nicht wegen eines Filters auf der Stimme „filmisch“, sondern wegen Elementen, die im richtigen Moment platziert sind: ein Riser, der zum Schnitt hin ansteigt, eine Lücke der Stille und ein Hit mit Sub, wenn das Produkt erscheint. Diese Effekte synthetisieren diese Elemente innerhalb desselben Filtergraphen (keine lizenzierten Samples) und werden mit at=<Sekunde> verankert:

MomentKette (der Schnitt bei T)
Hit auf dem Schnitt, Produkt-Enthüllung"riser:at=T,length=2.5" "drop-gap:at=T-0.45,gap=0.45" "hit:at=T"
Titel oder Logo"braam:at=T" "sub-drop:at=T,level=-4"
Text oder UI fliegt herein"whoosh:at=T,length=0.8" (Spitze bei T)
Schnitt zu Schwarz"stop-tail:at=T,decay=3.5" "sub-drop:at=T,level=-4"
Betonung eines Wortes"throw:at=T,kind=echo" auf der Stimme
Tech-Glitch"stutter:at=T,slice=0.12,repeats=4" (verlängert das Audio)
  • at ist die Sekunde des Schnitts in der Datei, die Sie verarbeiten. Für riser ist es der Endpunkt; für whoosh die Spitze; für drop-gap der Start der Lücke.
  • Passen Sie den Pegel mit level (dB) an, bevor Sie gain berühren: hit und sub-drop kommen bereits laut herein.
  • Wenige und präzise: ein oder zwei Momente pro 15 s. Ein Hit bei jedem Schnitt wird anstrengend.
  • trailer-voice (tiefe, epische Stimme mit Raum) und archival (Archivinterview) sind Sprachbehandlungen ohne at.
  • Benötigen Sie einen echten aufgenommenen Sound (einen wuchtigen Aufprall, eine Tür, Glas, Regen) anstelle eines synthetisierten? Legen Sie ein Sample bei T darüber: siehe nächster Abschnitt.

Echte Samples als Überlagerungen

Synthetisierte Hits sind schnell und kostenlos, aber ein aufgenommener Aufprall, Whoosh oder Foley-Sound wirkt meist echter. Der layer-Effekt mischt jede Audiodatei zum exakten Sekundenpunkt in das Signal, innerhalb desselben Filtergraphen:

sfx apply mix.wav mix-door.wav "layer:file=door.wav,at=6,align=onset,level=-3"
sfx apply mix.wav mix-hit.wav "riser:at=6,length=2.5" "drop-gap:at=5.55,gap=0.45" "layer:file=library:ab12cd34ef56,at=6,align=onset" "sub-drop:at=6,level=-4"
  • align=onset misst, wo der Angriff des Samples liegt, und setzt diesen auf at. Samples beginnen oft mit 20–300 ms Stille oder Vorlauf; mit der Voreinstellung align=start führt diese Stille dazu, dass der Hit zu spät landet. Verwenden Sie align=peak für Whooshes und Swells, deren lautester Punkt auf den Schnitt fallen soll.
  • level in dB, length um nur die ersten Sekunden zu verwenden, fadeIn/fadeOut um es zu formen. sync=<s> setzt den Synchronisationspunkt von Hand (mit align=start).
  • Ein Sample ersetzt den synthetisierten hit, braam oder whoosh; behalten Sie den riser, drop-gap und sub-drop darum herum.
  • Um das Sample selbst zu behandeln (Hall, Distanz, Lautsprecher), verarbeiten Sie es zuerst mit sfx apply sample.wav sample-fx.wav ... und legen das Ergebnis darüber.
  • Ein Vorbeiflug (Auto, Motorrad, Drohne): Rendern Sie das isolierte Sample durch doppler mit at auf seinem nächsten Punkt, legen Sie es dann mit sync auf diese Sekunde, sodass der Vorbeiflug auf den Schnitt fällt: sfx apply car.wav car-pass.wav "doppler:at=2,speed=90", dann "layer:file=car-pass.wav,at=6,sync=2".
  • Die Pegel von Samples variieren stark. Führen Sie nach dem Überlagern sfx analyze für das Ergebnis durch und reduzieren Sie level, wenn die Spitze 0 dBFS erreicht.

Wo Samples leben

Samples sind lizenzierte Audiodaten, die zum Abonnement des Benutzers gehören. Sie leben in ~/.audiofx/samples, jeweils mit einer .json (ID, Titel, Quelle, Art, Stem) daneben, und niemals in einem Projektordner oder Repository:

sfx sample add <datei-oder-url> --title "Tür knallt, schweres Holz" --id <bibliotheks-id> --source epidemic-sound
sfx sample list            # jedes Sample mit library:<id>, Dauer und wo sein Angriff ist

sample add kopiert eine lokale Datei oder lädt eine URL herunter, misst den Angriff und gibt die library:<id>-Referenz aus, die in layer:file=... verwendet wird. Das Studio zeigt die Samples in seinem Samples-Tab an, und seine Momente können eines anstelle des synthetisierten Impacts oder Whooshes verwenden.

Abrufen aus einer Soundbibliothek (Epidemic Sound MCP)

Wenn der Benutzer das Epidemic Sound MCP verbunden hat (Tools SearchSoundEffects und DownloadSoundEffect):

  1. Wiederverwenden zuerst. sfx sample list: Wenn ein passendes Sample bereits vorhanden ist, verwenden Sie es.
  2. Suchen mit SearchSoundEffects: ein kurzer, konkreter Begriff ("cinematic impact low", "whoosh fast short", "glass shatter"), first: 5, und ein Dauerfilter in Millisekunden, der zur Verwendung passt (Impacts und Whooshes unter 4000; Umgebungen länger). Wählen Sie nach Titel, Tags und Dauer.
  3. Herunterladen mit DownloadSoundEffect (fileType: WAV). Es gibt eine signierte URL zurück, die abläuft.
  4. Behalten: sfx sample add "<assetUrl>" --title "<titel>" --id <id> --source epidemic-sound. Schreiben Sie die signierte URL niemals in eine Datei und speichern Sie das Audio niemals innerhalb des Projekts.
  5. Verwenden Sie es mit der library:<id>, die sample add ausgegeben hat: "layer:file=library:<id>,at=T,align=onset".

Sie können nicht zuhören, also behaupten Sie nicht, ein Sample „klingt richtig“. Berichten Sie, was Sie messen können (Dauer, wo der Angriff ist, die Spitze des Ergebnisses) und fügen Sie, wenn die Wahl wichtig ist, zwei oder drei Kandidaten hinzu und lassen Sie den Benutzer nach Gehör im Samples-Tab des Studios auswählen. Wenn ein Download mit RETRY_LATER fehlschlägt, warten Sie die angegebenen Sekunden, bevor Sie es erneut versuchen.

Mischen: sfx mix

sfx mix legt Sprach-, Musik- und Effekt-Clips auf einer Timeline an, duckt die Musik unter der Stimme und normalisiert den Master, in einem ffmpeg-Durchlauf. Die Kurzform nimmt ein Flag pro Clip, datei@sekunde:

sfx mix final.mp4 --video cut.mp4 --voice [email protected] --music library:<id> --sfx [email protected]
sfx mix final.wav --voice vo.wav --music song.wav --duck 14 --loudness -16
sfx mix --video cut.mp4 --voice [email protected] --music song.wav --print > mix.json
  • Die Musik wird um 10 dB leiser, während eine Stimme spielt (--duck <dB>, --no-duck). Der Angriff eines --sfx-Clips landet auf seiner Sekunde, wie align=onset.
  • Der Master wird auf etwa -14 LUFS normalisiert (--loudness <LUFS|off>), dann eine -1 dB-Obergrenze. Der Mix wird gemessen und mit einer festen Verstärkung auf das Ziel gebracht, sodass seine Dynamik erhalten bleibt; wenn Spitzen zuerst die Obergrenze erreichen, wird der Begrenzer um bis zu 6 dB hochgedrückt, um die Lücke zu schließen, sodass ein Mix mit sehr lauten Hits trotzdem unter dem Ziel landen kann: Überprüfen Sie mit sfx analyze. Das AAC-Audio eines Videos kann etwa 0,3 dB über der Obergrenze spitzen ("master": { "ceiling": -1.5 } hält es bei -1 dBTP).
  • Der Mix dauert --duration, sonst die Videolänge, sonst bis zum Ende des letzten Clips. Mit --video und einer Videoausgabe wird das Bild kopiert und das Audio ersetzt.
  • --print schreibt das Projekt-JSON anstatt zu rendern: Bearbeiten Sie es, dann sfx mix mix.json final.mp4.

Eine Projektdatei gibt jedem Clip und jeder Spur eigene Einstellungen. Pfade sind relativ zur Projektdatei, und library:<id> funktioniert überall dort, wo eine Datei verwendet wird:

{
  "version": 1,
  "video": "cut.mp4",
  "tracks": [
    { "id": "voice", "role": "voice", "clips": [{ "file": "vo.wav", "at": 1.5, "steps": [{ "effect": "voice-clean" }] }] },
    { "id": "music", "role": "music", "clips": [{ "file": "library:<id>", "fadeOut": 2 }], "duck": { "depth": 12, "release": 600 } },
    { "id": "hits", "role": "sfx", "clips": [{ "file": "door.wav", "at": 7.52, "align": "onset", "gain": -3 }] }
  ],
  "master": { "loudness": -14 }
}
  • Clip: file, at (Timeline-Sekunde), start und length (der zu verwendende Ausschnitt der Datei), gain (dB), fadeIn, fadeOut, align (start, onset, peak), steps.
  • Spur: id, role (voice, music, sfx), gain, mute, solo, steps, duck (true, false oder { depth, attack, release, threshold }; standardmäßig für Musik aktiviert).
  • Schritt: { "effect": "underwater", "params": { "depth": 0.8 }, "from": 4, "to": 9.5, "fade": 0.35 }. Clip-Schritte laufen in Clip-Zeit (0 = Start des Clips); Spuren-Schritte laufen in Timeline-Zeit, sodass ihre Fenster mit dem Video übereinstimmen.
  • Master: steps, loudness (null belässt den Pegel wie gemischt), ceiling (dB, Standard -1).

Musik passend zum Video

Das Ziel ist ein Track, der auf die genaue Länge des Videos zugeschnitten ist, wobei sein Drop auf den Hauptschnitt des Videos fällt. Sie können nicht hören, welcher Anstieg „der“ Drop ist: Messen Sie, schlagen Sie mit Zahlen vor und lassen Sie den Benutzer nach Gehör bestätigen. Mit dem Epidemic Sound MCP (SearchRecordings, DownloadRecording, EditRecording, PollEditRecordingJob, DownloadRecordingEdit):

  1. Messen Sie das Video. sfx cuts cut.mp4 gibt die Länge (z. B. 30,000 s) und die harten Schnitte aus. Stimmen Sie mit dem Benutzer den Hauptschnitt C ab, auf den der Drop fallen muss (z. B. 12,4 s).
  2. Finden und behalten Sie einen Track. SearchRecordings mit query: { term: "..." }, einem filter (bpm: {min,max}, duration: {min,max} ...). Wählen Sie nach Titel, BPM, Stimmung, Energie. Merken Sie sich die id und duration. DownloadRecording (die längste Version, z. B. 2:30). Speichern Sie die signierte URL nicht in einer Datei. Behalten Sie sie mit sfx sample add "<assetUrl>" --title "<titel>" --id <epidemic-id> --source epidemic-sound. Führen Sie sfx cuts <download-pfad> aus, um die genaue Länge zu erfahren (z. B. 150,000 s), und sfx sections für die Drop-Kandidaten (Anstiege der RMS-Hüllkurve). Zeigen Sie die Ergebnisse dem Benutzer mit droptune-dl --analyze <download-pfad> für BPM und Tonart.
  3. Schlagen Sie einen Schnitt vor. Der Track muss mit seinem Drop auf C und seinem Ende auf der Videolänge L landen. Markieren Sie einen oder mehrere Kandidaten: Schneiden Sie den Track auf die Länge des Videos minus Vorlauf (z. B. 1,3 s Vorlauf: Schneiden Sie auf L - 1.3), sodass der Drop nah an C fällt. Wenn die Länge nicht gut passt, verkürzen oder verlängern Sie sie mit EditRecording (startTime: 0, durationMs: <ms>, bpmTransitionCount: <ganze Zahl>). Pollen Sie mit PollEditRecordingJob, laden Sie das bearbeitete Ergebnis mit DownloadRecordingEdit herunter und speichern Sie es mit sfx sample add.
  4. Mischen mit Vorlauf. Wenn der Track einen Vorlauf vor dem Drop hat (einige Takte Beat, einen Riser), fügen Sie dem Mix einen Vorlauf hinzu: Setzen Sie das Video mit --video und die Musik mit ihrem Drop auf C plus einer Pause. Zum Beispiel:
sfx mix final.mp4 \
  --video cut.mp4 \
  --music library:<id>@-1.3 \
  --voice vo.wav@0 \
  --sfx [email protected]
  • -1.3 bedeutet, dass die Musik 1,3 s vor dem Video beginnt, sodass ihr Drop auf Sekunde 12,4 fällt (Hauptschnitt).
  • Der Vorlauf muss kurz genug sein, damit er nicht auf den Sprecher trifft. Wenn der Sprecher zu Beginn spricht, lassen Sie die Musik erst nach einer Pause starten: --music library:<id>@3 (Start bei 3 s, Drop dann bei 3 + (Drop-Position in Sekunden)).
  • Bei Bedarf: Schneiden Sie den Track auf die genaue Videolänge + Vorlauf.

Stems eines Songs

Wenn ein Song Stems (Gesang, Bass, Drums, andere) hat, die mit DownloadRecording (stems: true, sie gibt ein JSON mit URLs zurück) heruntergeladen wurden, können Sie sie einzeln behandeln:

sfx mix mix.wav \
  --voice vo.wav \
  --music stem_drums.wav --music stem_bass.wav --music stem_other.wav \
  --sfx hit.wav@6

Jeder Musik-Clip erbt den role: music, sodass alle zusammen um 10 dB geduckt werden, wenn die Stimme kommt. Sie können die Verstärkung jedes Stems im Projekt-JSON anpassen.

Effekte und wann sie verwendet werden

Jeder Effekt hat seine eigene sfx describe <effekt> mit konsistenten Parameternamen und -bereichen.

Stimmlagen

Wandeln Sie die Stimmqualität um, nicht durch Frequenzverschiebung, sondern durch Faltung mit Impulsantworten auf Spulen, Mikrofontypen und Räumen:

EffektWannParameter
telephoneTelefon, Intercom, historische Aufnahme des frühen 20. Jahrhunderts. Enges Band, Rauschen, Knisternsystem, noise
am-radioRadioübertragung, Walkman, Autoradioquality, noise, drift
landlineFestnetztelefon, Anrufbeantworter, Voicemailsystem, noise
cellphoneHandy, Sprachmemo drinnen oder draußensystem, noise, distance
device-speakersLaptop, Tablet, billiger Bluetooth-Lautsprecher. Funktioniert auch für Musikdevice, noise, distance
walkie-talkieFunkgerät, Polizeifunk, Babyphone. Ton mit durchdringender Intonationsystem, noise, squelch
old-tvAlter CRT-Fernseher. 50-Hz-Brummen, Knistern, leises Rauschennoise, hum, vintage
archivalArchivinterview aus den 1950ern – 1970ern. Bandrauschen, Knistern, Wobbeln. Nicht für Mitte der 1980er oder späterera, noise, wow
trailer-voiceTiefe, epische Stimme mit großem Raum. Für Trailer, Ankündigungen, Off-Stimme über einer Landschaftroom, low-cut, depth

Raum und Distanz

Lassen Sie die Quelle räumlich erscheinen: nah und klar, hinter einer Wand, in einer anderen Umgebung:

EffektWannParameter
underwaterPunkt der Figurenperspektive unter Wasser. Alles gedämpft, fern, Blubberndepth, bubbles
behind-the-wallAus einem anderen Raum gehört. Gedämpft, undurchsichtig, die Worte undeutlichwall, distance
far-awayWeit entfernte Quelle in einem offenen Raum. Leise, hallig. Nicht für Reverb-Effektdistance, room
reverbFügt einem trockenen Klang Raum hinzu. Vom Badezimmer bis zur Kathedrale. Reverb-Effektspace, mix, decay, pre-delay
echoWiederholungen in rhythmischem Abstand. Für Delay-Effektkind, time, feedback, mix
throwEin Wort oder einen Effekt mit Hall- oder Echoschweif ausklingen lassen. Für Cuts und Übergängekind, decay, mix

Verarbeitung

Dynamik, Tonhöhe, Filterung:

EffektWannParameter
voice-cleanBereinigen einer Sprachaufnahme. Entfernt Grundrauschen, Bassdröhnen, Zischlaute, Mundgeräuschenoise-gate, de-ess, low-cut
tape-stopBandmaschine stoppt an. Tonhöhe und Geschwindigkeit fallen ab. Für „Stopp“-Moment, Ende eines Flashbacksstop-time, curve
slow-motionZeitlupeneffekt. Tonhöhe abgesenkt, länger, körnig. Für Momente in Zeitlupespeed, quality
robotRoboter-Stimme, Vocoder-artig. Monoton, synthetischformants, modulation
monsterTiefe, dröhnende Kreatur. Große, bedrohliche Präsenzpitch, growl, room
ghostHallige, ätherische Stimme. Für Geister, Erinnerungen, übernatürliche Präsenzethereal, flutter
flashbackErinnerung oder Rückblende. Leicht hallig, fern, mit Bandknisternera, blur
dreamTraumsequenz. Verschwommen, schwebend, halligintensity, blur
shell-shockPost-Explosions-Shell-Shock. Alles gedämpft, Tinnitus, desorientierttinnitus-freq, muffle
reverse-swellRückwärts-Hallsog. Eine aufbauende Textur, die in einen Schnitt oder Effekt führtswell-time, pre-delay, mix
low-passDämpft Höhen. Für aus der Ferne, gedämpft, aus einem anderen Raum. Einfach und direktfrequency, slope, mix
high-passEntfernt Tiefen. Für dünne, kleine Lautsprecher, Windschutzfrequency, slope, mix
filter-sweepEin sich bewegender Filter, der auf einen Schnitt hin öffnet oder schließtdirection, start-freq, end-freq, sweep-time, mix
loudnessNormalisiert die integrale Lautstärke auf einen Ziel-LUFS-Wert, begrenzt die wahre Spitze. Am Ende der Kettetarget, ceiling

Synthetisierte Kinomomente

Wird ein Effekt in der Tabelle nicht gefunden, ist sfx list die Referenz. Neu in 0.7.4: Parameternamen sind kebab-case für diesen Effekt (z. B. stop-tail).

EffektWannParameter
hitSynthetisierter Impact, Schlag, Aufprall. Kurz und breitbandig, mit Sub. Für einen Schnitt, Titel, Produkt-Enthüllungat, level, length
riserAnsteigender Ton, der zu einem Schnitt oder Moment hinführt. Endet bei atat, length, pitch-start, pitch-end, level
whooshKurzer Luft- oder Vorbeiflug-Sound, der auf dem Schnitt seine Spitze erreichtat, length, level
sub-dropTiefes, anhaltendes Sub-Brummen. Für Übergänge zu Schwarz, Drop-Enthüllungat, level, length
braamEpischer, orchestraler Aufbau / Knall. Für Logo, Titel, großen Momentat, level, length
drop-gapStille oder stark gedämpftes Fenster vor dem Hit, um den Impact zu verstärkenat, gap, level
stop-tailLässt den Hall oder das Ausklingen eines Sounds auf einen Schnitt hin sanft ausklingenat, decay, level
stutterWiederholt einen winzigen Ausschnitt mehrmals, wie ein hängender CD-Skip. Verlängert das Audioat, slice, repeats
layerMischt eine andere Audiodatei (ein Sample, eine andere Spur) in das Signalfile, at, align, level, gain, fadeIn, fadeOut

Behandlungen und Bearbeitung, getrennt von Mix und Mastering

Die sfx-Befehle wenden Effekte auf einzelne Dateien an. Das Mischen ist eine separate Operation: sfx mix. Befolgen Sie diesen Ablauf:

  1. Schneiden Sie das Video auf die gewünschte Länge und notieren Sie die Sekunden der Schnitte (sfx cuts).
  2. Bearbeiten Sie jede Spur separat: Stimme (Rauschentfernung, EQ, Kompression), Musik (Fades, EQ), Soundeffekte (Behandlung).
  3. Bereiten Sie Kinomomente vor mit Risern, Hits, Whooshes, etc.
  4. Mischen Sie Stimme, Musik und Effekte mit sfx mix. Ducken Sie die Musik unter der Stimme. Normalisieren Sie die Endabmischung.
  5. Exportieren Sie das Video mit ersetzter Audios Spur oder die finale Wave-Datei.

Dieser mehrstufige Prozess wird am besten als einzelner Befehl ausgeführt, indem Sie jeden Schritt in einer Kette mit ; oder && verbinden.

Tipps zur Parameterwahl

  • Beginnen Sie mit den Standardwerten. sfx describe gibt die empfohlenen Werte an. Weichen Sie nur ab, wenn der Benutzer eine Anpassung wünscht.
  • Verwenden Sie dB für Pegeländerungen. level ist der Ausgangspegel des Effekts relativ zum Eingang (negativ = leiser). gain ist eine zusätzliche Verstärkung nach dem Effekt. hit und sub-drop liefern bereits hohe Pegel; senken Sie sie mit level.
  • Für Realismus: Weniger ist mehr. Ein leichter Raumhall (reverb:mix=0.15) ist überzeugender als ein großer. telephone mit wenig Rauschen klingt natürlicher. underwater:depth=0.3 kann schon ausreichen.
  • Fenster sind besser als Schneiden. Anstatt eine Datei zu teilen, um einen Effekt nur auf einen Abschnitt anzuwenden, verwenden Sie effekt@von-bis mit --fade. Das Ergebnis ist sauberer und schneller.
  • Wenn ein Effekt nicht funktioniert: Führen Sie sfx describe <effekt> aus, um die genauen Parameternamen und -bereiche zu erfahren. Die CLI gibt eine hilfreiche Fehlermeldung aus, wenn ein Parameter falsch ist.

Häufige Workflow-Beispiele

Einen Trailer vertonen

Das Video hat einen Hauptschnitt bei 12,4 s (Produkt erscheint), Sprecher von 0 bis 20 s, Musik durchgehend.

# 1. Schnitte anzeigen
sfx cuts trailer_cut.mp4
# Ausgabe: Länge 30,0 s, Schnitte bei [12.4]

# 2. Sprecher bearbeiten: leichte Reinigung
sfx apply voice_recording.wav voice_clean.wav "voice-clean"

# 3. Kinomomente vorbereiten: Riser + Stille + Hit + Sub auf den Schnitt
sfx apply music_stem.wav music_with_fx.wav \
  "riser:at=12.4,length=2.5,level=-6" \
  "drop-gap:at=11.95,gap=0.45" \
  "hit:at=12.4,level=-3" \
  "sub-drop:at=12.4,level=-8"

# 4. Mix: Stimme, Musik + FX, ducken, auf -14 LUFS normalisieren
sfx mix final.mp4 \
  --video trailer_cut.mp4 \
  --voice voice_clean.wav \
  --music music_w_fx.wav \
  --duck 12 \
  --loudness -14

# 5. Prüfen
sfx analyze final.mp4

Ein Hörspiel mischen (mehrere Sprachspuren)

# Sprecher A (Hauptfigur), Sprecher B (Nebenfigur), Atmo, Musik, Effekte
sfx mix hoerspiel_final.wav \
  --voice sprecher_a.wav \
  --voice sprecher_b.wav \
  --music atmo_regen.wav \
  --music musik.wav \
  --sfx [email protected] \
  --sfx [email protected] \
  --loudness -16

Eine Unterwasserszene erstellen

# Stimme und Musik mit Unterwassereffekt, Fenster von 5 bis 15 Sekunden
sfx apply mix_roh.wav mix_underwater.wav \
  "underwater:[email protected]" \
  "low-pass:[email protected]"

# Oder auf einzelne Spuren anwenden vor dem Mix
sfx apply voice_clean.wav voice_underwater.wav "underwater:depth=0.6@0-10"
sfx apply music_stem.wav music_underwater.wav "low-pass:frequency=200@0-10"

# Dann mixen
sfx mix szene_final.wav --voice voice_underwater.wav --music music_underwater.wav

Realen Sample-Hit verwenden (Epidemic Sound)

# 1. Sample suchen, herunterladen und speichern (MCP)
SearchSoundEffects(query: "cinematic impact low", first: 5, durationMax: 4000)
# -> ID: ab12cd34ef56, Titel: "Heavy Cinematic Impact"

DownloadSoundEffect(id: "ab12cd34ef56", fileType: "WAV")
# -> signierte URL

sfx sample add "<signierte URL>" --title "Heavy Cinematic Impact" --id ab12cd34ef56 --source epidemic-sound
# -> library:ab12cd34ef56

# 2. Im Mix verwenden, Hit bei 12,4 s
sfx mix final.mp4 \
  --video cut.mp4 \
  --voice vo.wav \
  --music song.wav \
  --sfx "library:[email protected]" \
  --loudness -14

Fehlerbehebung

  • sfx doctor: Prüft, ob ffmpeg installiert und der Pfad korrekt ist.
  • sfx apply sagt „unbekannter Effekt“: Führen Sie sfx list aus, um die genauen Effektnamen zu sehen. Verwenden Sie sfx describe für die Parameter.
  • Lautstärke zu niedrig oder zu hoch: Verwenden Sie sfx analyze, um die LUFS- und Spitzenpegel zu messen. Passen Sie level oder gain im Effekt oder --loudness im Mix an.
  • Effekt wird nicht auf das richtige Fenster angewendet: Überprüfen Sie die @von-bis-Angabe und die --fade-Einstellung.
  • Mix klingt verzerrt: Der True-Peak könnte 0 dBFS überschreiten. Senken Sie die Pegel der Clips oder erhöhen Sie die ceiling im Master (z. B. auf -2 dB).
  • Musik wird nicht geduckt: Stellen Sie sicher, dass die Musik-Clips role: music haben und --duck aktiviert ist.
  • Sample klingt falsch platziert: Verwenden Sie sfx sample list, um den Angriff zu messen, und wählen Sie den richtigen align-Modus (onset, peak, start).

Siehe auch

  • elevenlabs-fx Skill, um neue Stimmen, Musik oder Soundeffekte mit ElevenLabs zu generieren.
  • sfx studio, um Effekte nach Gehör zu optimieren.
  • Die README von AudioFX für die vollständige Installationsanleitung.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills