Communitygithub.com

clean-voice-sidon

Bereinigen Sie die Tonspur eines Videos (Telefon- oder Talking-Head-Aufnahme) mit dem Sidon-Sprachwiederherstellungsmodell auf einer Modal-Cloud-GPU, normalisieren Sie die Lautstärke und muxen Sie sie zurück in das Video. Verwenden Sie für „Audio bereinigen“, „Stimme verbessern“, „Video entrauschen“, „Telefon-Mikrofon-Audio reparieren“.

Was ist clean-voice-sidon?

Diese Fähigkeit ermöglicht es einem KI-Agenten, die Sprachqualität von Videospuren zu verbessern, die mit minderwertigen Mikrofonen (z. B. Telefon, Headset) aufgenommen wurden. Sie nutzt das **Sidon v0.1**-Modell, ein Audio-zu-Audio-Modell, das die Stimme bei 48 kHz neu synthetisiert und dabei Hintergrundgeräusche und räumliche Effekte vollständig entfernt, während es Musik und andere Nicht-Sprachelemente unterdrückt. Das Modell erfordert eine GPU und wird daher auf der **Modal**-Cloud-Plattform ausgeführt, was eine kosteneffiziente Verarbeitung ermöglicht (z. B. wenige Cent für eine 11-minütige Datei). Der lokale Rechner extrahiert das Audio, führt die Loudness-Normalisierung mit ffmpeg durch und muxed die bereinigte Spur zurück in das Video, ohne den Videostream neu zu kodieren. Der Workflow umfasst mehrere Schritte: Extrahieren des Audios als mono 48 kHz FLAC, Testen einer 30-Sekunden-Probe zur Hörprobe, Ausführen des gesamten Tracks mit Sidon auf Modal, Messen der Lautstärke und Remuxing des Videos. Die Fähigkeit unterstützt zwei verwandte Modelle (NVIDIA RE-USE für kurze Clips, DeepFilterNet wird wegen hörbarer Verzerrung ausgeschlossen) und bietet einstellbare Parameter wie Lautstärkeziel (LUFS) und True-Peak-Deckel. Benutzer können die Modal-Bereitstellung über ein preferences.json konfigurieren, und die Fähigkeit ist mit einer Script-Bibliothek kompatibel, um Änderungen zu verfolgen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/danielrosehill/Remote-Video-Editing/tree/HEAD/skills/clean-voice-sidon

In Ihrer bevorzugten KI fragen

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

Dokumentation

Stimme in einem Video mit Sidon auf Modal bereinigen

Sprachwiederherstellung mit Sidon v0.1 (sarulab-speech/sidon-v0.1 auf Hugging Face), einem Audio-zu-Audio-Modell, das die Stimme bei 48 kHz neu synthetisiert. Es benötigt eine GPU, daher läuft das Modell auf Modal; alles andere (Extrahieren, Lautstärke, Remuxen) ist einfaches ffmpeg auf dem lokalen Rechner. Der Videostream wird nie neu kodiert.

Der Modal-Job ist scripts/sidon_enhance.py in diesem Plugin (${CLAUDE_PLUGIN_ROOT}/scripts/sidon_enhance.py).

Modellauswahl (warum Sidon)

ModellUrteil
Sidon v0.1Standard. Leicht; eine 11-minütige Datei lief in einem Job auf einer L4-Klasse-GPU für ein paar Cent. Ausgabe ist sauber, vollbandig, 48 kHz.
NVIDIA RE-USEBehält mehr der spektralen Details des Sprechers, aber der GPU-Arbeitsspeicher reichte bei langen Dateien nicht aus (fehlgeschlagen beim zweiten 30-s-Chunk einer 11-minütigen Datei). Nur für kurze Clips verwenden.
DeepFilterNetAusgeschlossen: hörbare Verzerrung der Stimme.

Sidon regeneriert alles über 8 kHz, daher ist das Ergebnis eine Stimme ohne Raum- oder Hintergrundgeräusche. Musik und andere Nicht-Sprachgeräusche in der Spur gehen verloren. Wenn das Video Musikbett hat, bereinigen Sie die Stimme, bevor Sie sie hinzufügen.

Einstellungen

Lesen Sie remote-video-editing/preferences.json unter dem ersten Datenstamm, der existiert: $CLAUDE_USER_DATA, dann ~/.claude-user-data, dann ${XDG_DATA_HOME:-~/.local/share}/claude-plugins. Schlüssel:

SchlüsselStandardBedeutung
modal_commandmodalBefehl, der Modal-Apps ausführt (ein Wrapper, der ein Profil oder einen Workspace auswählt, ist in Ordnung)
run_noteskeineFreitext-Instruktionen, wo Modal ausgeführt werden soll (z. B. ein anderer Host, der die Authentifizierung hält) und wie Dateien dorthin gelangen. Beachten Sie diese.
loudness_lufs-14Integrierte Lautstärke-Zielvorgabe (YouTube-Stil)
true_peak_db-1.5True-Peak-Deckel

Wenn keine Datei existiert und modal token nicht eingerichtet ist (modal profile current schlägt fehl), stoppen Sie und weisen Sie den Benutzer an, zuerst modal setup auszuführen.

Vorgehensweise

Arbeiten Sie in einem Ordner neben dem Quellvideo. IN=<video>, MODAL=<modal_command, default modal>.

  1. Audio extrahieren als mono 48 kHz FLAC:
    ffmpeg -v error -y -i "$IN" -vn -ac 1 -ar 48000 -c:a flac -sample_fmt s16 audio.flac
    
  2. Zuerst 30 Sekunden testen. Schneiden Sie einen Clip aus einem Abschnitt mit Sprache (nicht den ersten Sekunden):
    ffmpeg -v error -y -ss 60 -t 30 -i audio.flac -c:a flac test30.flac
    $MODAL run "${CLAUDE_PLUGIN_ROOT}/scripts/sidon_enhance.py" --src test30.flac --out test30_sidon.flac
    
    Geben Sie dem Benutzer beide Dateien zum Anhören. Führen Sie den gesamten Track erst aus, wenn der Benutzer den Klang genehmigt.
  3. Den gesamten Track ausführen:
    $MODAL run "${CLAUDE_PLUGIN_ROOT}/scripts/sidon_enhance.py" --src audio.flac --out audio_sidon.flac
    
    Der Job gibt eine Zeile pro 96-s-Chunk aus. Beim ersten Lauf wird das Image erstellt (einige Minuten); spätere Läufe verwenden es wieder.
  4. Lautstärke messen (erster Durchgang des Two-Pass-Loudnorm):
    ffmpeg -hide_banner -nostats -i audio_sidon.flac \
      -af loudnorm=I=-14:TP=-1.5:LRA=11:print_format=json -f null - 2>&1 | grep -A12 '^{'
    
  5. Remuxen mit den gemessenen Werten. Das Video wird stream-copiert:
    ffmpeg -v error -y -i "$IN" -i audio_sidon.flac -map 0:v -map 1:a -c:v copy \
      -af "loudnorm=I=-14:TP=-1.5:LRA=11:measured_I=<input_i>:measured_TP=<input_tp>:measured_LRA=<input_lra>:measured_thresh=<input_thresh>:offset=<target_offset>:linear=true,aresample=48000" \
      -c:a aac -b:a 192k -movflags +faststart "<name>_clean.mp4"
    
    Bei HEVC-Quellen, die in Apple-Playern abgespielt werden müssen, fügen Sie -tag:v hvc1 hinzu.
  6. Überprüfen: ffprobe die Dauer mit der Quelle vergleichen (sollte bis auf einen Frame übereinstimmen), und ein 30-s-Vorher/Nachher-Paar beim gleichen Offset schneiden (-vn -c:a copy), damit der Benutzer vergleichen kann.

Skriptbibliothek

Wenn der Benutzer eine Skriptbibliothek hat (find-script, save-script), überprüfen Sie diese, bevor Sie den Modal-Job ändern, und speichern Sie jede geänderte Version danach.

Kosten und Grenzen

  • GPU-Liste im Skript: L4, A10G, L40S (je nachdem, was Modal frei hat). Timeout 1 Stunde.
  • Die gesamte Datei wird als Bytes an die Funktion gesendet. In Ordnung für Sprachspuren bis zu ein oder zwei Stunden mono FLAC; bei längerem Material das Audio aufteilen, die Teile ausführen und mit ffmpeg concat zusammenfügen.
  • Gewichte werden bei jedem Kaltstart von Hugging Face heruntergeladen (öffentlich, kein Token erforderlich).

Verwandt

Für lokale Bearbeitung, Rendering und Audioarbeit (Kdenlive, melt, ffmpeg-Voreinstellungen, Stille schneiden) siehe die Fertigkeit complementary-plugins in diesem Plugin.

Individual skills in this repo

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

Verwandte Skills