Allgemeine Einführung
Simple Subtitling ist ein Open-Source-Tool zur Erzeugung von Audio-Untertiteln, das sich auf die automatische Generierung von Untertiteln und die Kennzeichnung von Sprechern für Video- oder Audiodateien konzentriert. Das von Jaesung Huh entwickelte und auf GitHub gehostete Projekt zielt darauf ab, eine einfache und effiziente Lösung zur Erzeugung von Untertiteln zu bieten. Das Tool verwendet Audioverarbeitungstechniken in Kombination mit Modellen des maschinellen Lernens, um Untertiteldateien mit Zeitstempel und Sprecheridentifizierung für diejenigen zu erzeugen, die ihren Videos schnell Untertitel hinzufügen müssen. Das Projekt wurde in Python entwickelt, unterstützt Mono-16kHz-Audioverarbeitung und ist einfach zu installieren und zu verwenden.Simple Subtitling ist eines der Open-Source-Projekte aus der Forschung von Dr. Jaesung Huh, wobei der Schwerpunkt auf Praktikabilität und Open-Source-Community-Beiträgen liegt.
Funktionsliste
- Automatische Untertitelgenerierung: Extrahieren Sie Text aus Audiodateien, um Untertiteldateien mit Zeitstempel zu erzeugen.
- Sprecherbeschriftung: Unterscheiden Sie zwischen verschiedenen Sprechern durch Sprachanalyse und fügen Sie Sprecherbeschriftungen zu Untertiteln hinzu.
- Unterstützung des SRT-Formats: Erzeugt Standard-SRT-Untertiteldateien, die mit den meisten Videoplayern kompatibel sind.
- Audiovorverarbeitung: Unterstützt die Konvertierung von Audio in das Mono-16kHz-Format, um eine effektive Verarbeitung zu gewährleisten.
- Anpassung der Konfigurationsdatei: Die Benutzer können die Parameter für die Erzeugung von Untertiteln über eine Konfigurationsdatei anpassen.
- Open Source und kostenlos: Der Code ist öffentlich zugänglich, so dass die Nutzer die Funktion frei verändern und erweitern können.
Hilfe verwenden
Einbauverfahren
Simple Subtitling erfordert eine Python-fähige Umgebung, Python 3.9 oder höher wird empfohlen. Hier sind die detaillierten Installationsschritte:
- Klon-Lager
Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um den Projektcode zu klonen:git clone https://github.com/JaesungHuh/simple-subtitling.git --recursive
ausnutzen --recursive
Stellen Sie sicher, dass Sie alle Untermodule klonen.
- Erstellen einer virtuellen Umgebung
Um Abhängigkeitskonflikte zu vermeiden, empfiehlt es sich, eine virtuelle Python-Umgebung zu erstellen:conda create -n simple python=3.9 conda activate simple
Wenn Conda nicht verwendet wird, kann es auch mit dem
venv
Erstellen Sie eine virtuelle Umgebung:python -m venv simple_env source simple_env/bin/activate # Linux/Mac simple_env\Scripts\activate # Windows
- Installation von Abhängigkeiten
Wechseln Sie in das Projektverzeichnis und installieren Sie die erforderlichen Python-Pakete:cd simple-subtitling pip install -r requirements.txt
Vergewissern Sie sich, dass Ihre Internetverbindung funktioniert, dann werden die Abhängigkeitspakete automatisch heruntergeladen.
- FFmpeg installieren
Simple Subtitling verwendet FFmpeg für die Audiovorverarbeitung. Bitte installieren Sie FFmpeg entsprechend Ihres Betriebssystems:- Ubuntu/Debian::
sudo apt update && sudo apt install ffmpeg
- MacOS(mit Homebrew):
brew install ffmpeg
- Windows (Computer)(unter Verwendung von Chocolatey):
choco install ffmpeg
Nach der Installation führen Sie
ffmpeg -version
Bestätigen Sie, dass die Installation erfolgreich war. - Ubuntu/Debian::
- Konfiguration der Umgebung
Das Projekt enthält eineconfig.yaml
Konfigurationsdatei zum Einstellen der Parameter für die Audioverarbeitung und die Erzeugung von Untertiteln. Öffnen Sie dieconfig.yaml
ändern Sie die folgenden Schlüsselfelder nach Bedarf:audio_path
: Geben Sie den Pfad der Audiodatei ein.output_path
Der Pfad, in dem die Untertiteldatei gespeichert ist.sample_rate
Vergewissern Sie sich, dass die Einstellung16000
(16kHz).
Beispielkonfiguration:
audio_path: "input_audio.wav" output_path: "output_subtitle.srt" sample_rate: 16000
Verwendung
Sobald die Installation abgeschlossen ist, können Sie Simple Subtitling von der Kommandozeile aus starten, wobei die folgenden Schritte zu beachten sind:
- Vorbereiten von Audiodateien
Simple Subtitling unterstützt derzeit nur Mono, 16kHz, PCM_16 Audioformat. Wenn das Audioformat nicht den Anforderungen entspricht, verwenden Sie FFmpeg, um es zu konvertieren:ffmpeg -i input_audio.mp3 -acodec pcm_s16le -ac 1 -ar 16000 output_audio.wav
Austauschbarkeit
input_audio.mp3
ist der Pfad zu Ihrer Audiodatei, und die Ausgabe istoutput_audio.wav
. - Erzeugung von Untertiteln starten
Führen Sie im Projektverzeichnis das Hauptskript aus:python main.py
Das Skript wird auf der Grundlage des
config.yaml
Die Einstellungen im Fenster Die erzeugten Untertiteldateien enthalten Zeitstempel, Sprecherkennungen und Textinhalte und werden im Verzeichnisoutput_path
Der angegebene Pfad. - Untertiteldatei anzeigen
Beispiel für eine generierte SRT-Datei:1 00:00:01,000 --> 00:00:03,000 Speaker_1: 你好,欢迎使用 Simple Subtitling。 2 00:00:04,000 --> 00:00:06,000 Speaker_2: 这是一个开源字幕工具。
Benutzer können SRT-Dateien in Videobearbeitungsprogramme (z. B. Adobe Premiere, DaVinci Resolve) oder Player (z. B. VLC) importieren.
Featured Function Bedienung
- Identifizierung des Sprechers
Simple Subtitling verwendet maschinelle Lernmodelle, um Audio zu analysieren und zwischen verschiedenen Sprechern zu unterscheiden. Das Modell basiert auf der ECAPA-TDNN-Architektur, mit von Jaesung Huh bereitgestellten Pre-Training-Gewichten. Wenn Sie mehr Genauigkeit benötigen, können Sie das vortrainierte Modell von Hugging Face herunterladen:model = ECAPA_gender.from_pretrained("JaesungHuh/voice-gender-classifier")
existieren
config.yaml
aktivieren.speaker_diarization: true
Sie können den Untertiteln Sprechertags hinzufügen. - Benutzerdefinierte Untertitelstile
Die Benutzer können dieconfig.yaml
den Nagel auf den Kopf treffensubtitle_style
Felder zur Anpassung von Untertitel-Schriftarten, Farben und mehr. Unterstützt derzeit grundlegende Stile im SRT-Format und kann in Zukunft auf das ASS-Format erweitert werden. - Stapeldatei
Wenn Sie mehrere Audiodateien verarbeiten müssen, können Sie ein einfaches Skript schreiben, das die Aufrufe in einer Schleife abarbeitet.main.py
oder Änderungconfig.yaml
Unterstützung für die Eingabe mehrerer Dateien. Von der Community bereitgestellte Skripte für die Stapelverarbeitung sind im GitHub-Diskussionsforum zu finden.
caveat
- Vergewissern Sie sich, dass die Qualität des Eingangstons klar ist; Hintergrundgeräusche können die Genauigkeit der Untertitel beeinträchtigen.
- Das Modell funktioniert am besten mit englischem Audio, andere Sprachen erfordern möglicherweise zusätzliches Training.
- Das Projekt befindet sich in der Entwicklung, daher empfehlen wir, das GitHub-Repository zu verfolgen, um sich über die neuesten Funktionen und Korrekturen zu informieren.
Anwendungsszenario
- Ersteller von Videoinhalten
YouTuber oder Produzenten von Kurzvideos können Simple Subtitling verwenden, um automatisch Untertitel für ihre Videos zu generieren und so das Zuschauererlebnis zu verbessern. Die Funktion zur Identifizierung von Sprechern ist ideal für Interviews oder Gespräche mit mehreren Personen, da sie den Inhalt jedes Sprechers eindeutig identifiziert. - Produktion von Bildungsinhalten
Lehrkräfte oder Autoren von Online-Kursen können Untertitel für Lehrvideos erstellen, um sie für die Schüler leichter lesbar zu machen, und SRT-Dateien unterstützen einen mehrsprachigen Player für internationalisierte Kurse. - Podcast-Transkription
Podcast-Produzenten können Audio in Untertitel mit Sprecherlogos umwandeln, um Textversionen von Inhalten zu veröffentlichen oder Videoclips zu erstellen. - Verfahren
Geschäftsanwender können Untertitel für Besprechungsaufzeichnungen erstellen und Besprechungsprotokolle schnell organisieren. Die Funktion zur Sprecheridentifizierung hilft bei der Unterscheidung zwischen verschiedenen Sprechern.
QA
- Welche Audioformate werden von Simple Subtitling unterstützt?
Derzeit werden nur Mono, 16kHz, PCM_16 Format WAV-Dateien unterstützt. Andere Formate müssen von FFmpeg konvertiert werden. - Wie kann ich die Genauigkeit bei der Erstellung von Untertiteln verbessern?
Sorgen Sie für klare Audioqualität und reduzieren Sie Hintergrundgeräusche. Imconfig.yaml
aktivieren.speaker_diarization
und verwenden Sie vorab trainierte Modelle. - Können Sie mit nicht-englischem Ton umgehen?
Die Modelle funktionieren am besten für englisches Audiomaterial, für andere Sprachen ist möglicherweise zusätzliches Training oder eine Modellanpassung erforderlich. - Wie kann ich die erzeugte Untertiteldatei bearbeiten?
SRT-Dateien können mit einem Texteditor (z. B. Notepad++) oder einer Software zur Bearbeitung von Untertiteln (z. B. Aegisub) geöffnet und bearbeitet werden. - Unterstützt das Projekt die Erzeugung von Untertiteln in Echtzeit?
Die aktuelle Version unterstützt keine Echtzeitverarbeitung, sondern nur Offline-Audiodateien. Die Echtzeitfunktionalität wird möglicherweise in einem zukünftigen Update hinzugefügt.