Drama Audio Soundstage (Sound Engineering & Intelligent Music Ducking)
Positionierung des Arbeitsschritts: Kurzspielfilm-Sounddesign und kommerzielle Musikuntermalung. Keine allgemeinen Floskeln: Hier wird nicht erklärt, was eine Tonspur ist, sondern es werden Audio-Gating-Reinigungsparameter, Schwellenwerte für Spracherkennungs-Drift und Sidechain-Ducking-Mischkurven festgehalten.
1. Laufzeitvertrag: Ein- und Ausgaben
- Eingabe:
- Aus Arbeitsschritt 3: Videosegmente mit nativer Audio:
segments/{seg_id}.mp4; - Unabhängige, hochwertige Filmmusik-BGM:
assets/bgm/*.wav.
- Aus Arbeitsschritt 3: Videosegmente mit nativer Audio:
- Ausgabe:
- Gereinigte Segmente ohne Hintergrundrauschen:
cleaned_segments/{seg_id}.mp4; - Fertiggestellter Film mit 90-sekündiger, spannungsgeladener Business-Musik und intelligentem Sidechain-Ducking:
[Episodenname]_final_ducked.mp4; - Qualitätsprüfungsbericht zu ASR-Spracherkennung und Dialoggenauigkeit.
- Gereinigte Segmente ohne Hintergrundrauschen:
2. Harte SOP: Spektrale Subtraktion und Audio-Gating
Problem: H3-generiertes Audio hat oft ein störendes, tiefes elektrisches Brummen, künstliche Windgeräusche oder schrilles Umgebungsrauschen, das die Immersion zerstört. Ziel: Vollständige Entfernung des konstanten Hintergrundrauschens bei 100% Erhalt der Dialoge und kurzer Action-Foleys (Schwertziehen, Tischklopfen, Schritte).
2.1 Kernparameter des Audio-Gatings und deren physikalische Bedeutung
Beim Aufruf von scripts/audio_gate.py werden die goldenen Parameter verwendet:
--bed-q 15: Zeitliches Fenster-Perzentil (15. Perzentil) zur präzisen Identifizierung des konstanten Grundrauschens;--alpha-bed 6.0: Stärke der Subtraktion des konstanten Grundrauschens;--alpha-fx 1.0: Schutzfaktor für transiente Foleys/Dialoge – je kleiner, desto vollständiger der Dialog;--fx-snr 4.0: Schwellenwert für das Signal-Rausch-Verhältnis;--quiet-gain 0.03: Dämpfungsfaktor für reine Stille-Frames.
Befehl:
python scripts/audio_gate.py --in segments/seg01.mp4 --out cleaned_segments/seg01.mp4
3. Harte SOP: Automatisierte Erkennung und Unterbrechung von Sprachverschiebungen (Language Drift) im Mandarin
Problem: Charaktere rutschen in eine Art Pseudo-Englisch, undeutliche Zeichen oder nicht-chinesische Geräusche ab, was die Auslieferung massiv beeinträchtigt.
3.1 Erkennung und Kriterien
Nach der Bereinigung erfolgt eine extrem schnelle Sprachüberprüfung mit einem leichten Whisper-Modell:
- Extraktion der ersten 5 Sekunden der Tonspur zur Sprachidentifikation (Language ID);
- Bestanden, wenn:
language == "zh"und Konfidenzprob >= 0.85; - Maßnahme bei Fehlschlag: Wird
enoder eine andere Sprache erkannt, wird automatisch einLanguageDriftErrorausgelöst und das Segment als fehlgeschlagen markiert, was einen Neustart mit einem anderen Seed auslöst.
4. Harte SOP: Kinoreifes Sidechain-Ducking (Sidechain Ducking)
Verbot (Negativbeispiel): Keinesfalls einfach die BGM mit fester Lautstärke unter das Video legen! Der Dialog wird sonst von der Hintergrundmusik überdeckt, ohne jegliche kommerzielle Tiefe.
4.1 FFmpeg-natives sidechaincompress – die goldenen Kurven
Der Dialog wird als Steuersignal für die Sidechain verwendet, um die BGM in Echtzeit dynamisch abzusenken:
- Basispegel BGM:
bgm_volume = 0.35; - Schwellenwert (Threshold):
ducking_threshold = 0.06(sobald die Stimme einsetzt, wird die Absenkung sofort ausgelöst); - Absenkungstiefe (Ratio):
ducking_ratio = 5.0(während des Dialogs sinkt die BGM sofort um ca. -14 dB, sodass die Stimme vollkommen klar im Vordergrund bleibt); - Einschwingzeit (Attack):
ducking_attack_ms = 80ms(die BGM wird sanft und ohne harte Knackgeräusche abgesenkt, sobald das erste Wort gesprochen wird); - Rückstellzeit (Release):
ducking_release_ms = 400ms(nach dem Ende des Dialoges steigt die BGM innerhalb von 0,4 Sekunden geschmeidig wieder an, um die Spannung zu untermalen).
Befehl:
python scripts/cinematic_audio_mixer.py --input concat_raw.mp4 --output final_ducked.mp4 --bgm assets/bgm/suspense.wav