Wie man Whisper in Node.js Mit Wort-Level-Zeitstempel Ausführt
Lukas Schneider
DevOps Engineer · Leapcell

Um das Whisper-Modell von OpenAI für Spracherkennung mit Wort-Level-Zeitstempeln in einer Node.js-Umgebung zu nutzen, können Sie das Paket nodejs-whisper
verwenden. Dieses Paket bietet Node.js-Bindungen für das Whisper-Modell und unterstützt Wort-Level-Zeitstempel.
Key Takeaways
- Das Paket
nodejs-whisper
ermöglicht eine einfache Integration von Wort-Level-Zeitstempeln in Node.js. - Wort-Level-Zeitstempel verbessern die Transkriptionsgenauigkeit und die Timing-Präzision für Untertitel und Analysen.
- Whisper bietet flexible Modell- und Ausgabeoptionen, die auf unterschiedliche Projektanforderungen zugeschnitten sind.
Schritt-für-Schritt-Anleitung
-
Build-Tools installieren:
Stellen Sie sicher, dass auf Ihrem System die erforderlichen Build-Tools installiert sind. Unter Debian-basierten Systemen können Sie diese mit folgendem Befehl installieren:
sudo apt update sudo apt install build-essential
Für Windows-Benutzer wird die Installation von MinGW-w64 oder MSYS2 empfohlen. Stellen Sie nach der Installation sicher, dass
mingw32-make
odermake
im PATH Ihres Systems verfügbar ist. -
Das Paket
nodejs-whisper
installieren:Verwenden Sie npm, um das Paket zu installieren:
npm install nodejs-whisper
-
Das Whisper-Modell herunterladen:
Laden Sie nach der Installation des Pakets das gewünschte Whisper-Modell herunter:
npx nodejs-whisper download
Die verfügbaren Modelle sind:
tiny
tiny.en
base
base.en
small
small.en
medium
medium.en
large-v1
large
large-v3-turbo
Wählen Sie ein Modell, das Leistung und Genauigkeit entsprechend Ihren Anforderungen ausgleicht.
-
Audio mit Wort-Level-Zeitstempeln transkribieren:
Erstellen Sie eine JavaScript- oder TypeScript-Datei (z. B.
transcribe.js
) und fügen Sie den folgenden Code hinzu:const path = require('path'); const { nodewhisper } = require('nodejs-whisper'); // Geben Sie den genauen Pfad zu Ihrer Audiodatei an const filePath = path.resolve(__dirname, 'YourAudioFileName.wav'); (async () => { await nodewhisper(filePath, { modelName: 'base.en', // Geben Sie den Namen des heruntergeladenen Modells an autoDownloadModelName: 'base.en', // (Optional) Automatisches Herunterladen des Modells, falls nicht vorhanden removeWavFileAfterTranscription: false, // (Optional) WAV-Datei nach der Transkription entfernen withCuda: false, // (Optional) Verwenden Sie CUDA für eine schnellere Verarbeitung, falls verfügbar logger: console, // (Optional) Logging-Instanz, standardmäßig Konsole whisperOptions: { outputInCsv: false, // Ausgabe des Ergebnisses in einer CSV-Datei outputInJson: false, // Ausgabe des Ergebnisses in einer JSON-Datei outputInJsonFull: false, // Ausgabe des Ergebnisses in einer JSON-Datei mit detaillierten Informationen outputInLrc: false, // Ausgabe des Ergebnisses in einer LRC-Datei outputInSrt: true, // Ausgabe des Ergebnisses in einer SRT-Datei outputInText: false, // Ausgabe des Ergebnisses in einer TXT-Datei outputInVtt: false, // Ausgabe des Ergebnisses in einer VTT-Datei outputInWords: true, // Ausgabe des Ergebnisses in einer WTS-Datei für Karaoke translateToEnglish: false, // Übersetzung von der Ausgangssprache ins Englische wordTimestamps: true, // Aktivieren Sie Wort-Level-Zeitstempel timestamps_length: 20, // Menge des Dialogs pro Zeitstempelpaar splitOnWord: true, // Trennung nach Worten und nicht nach Token }, }); })();
Ersetzen Sie
'YourAudioFileName.wav'
durch den Pfad zu Ihrer Audiodatei. Dieses Skript verarbeitet das Audio und generiert eine SRT-Datei mit Wort-Level-Zeitstempeln.
Zusätzliche Hinweise
-
Audioformat: Das Paket
nodejs-whisper
konvertiert Audiodateien automatisch in das WAV-Format mit einer Frequenz von 16000 Hz, um das Whisper-Modell zu unterstützen. -
CUDA-Unterstützung: Wenn Sie eine kompatible NVIDIA-GPU und CUDA installiert haben, können Sie
withCuda: true
für eine schnellere Verarbeitung einstellen. -
Ausgabeformate: Mit den
whisperOptions
können Sie verschiedene Ausgabeformate angeben, darunter CSV, JSON, LRC, SRT, TXT, VTT und WTS. Passen Sie diese Optionen basierend auf Ihren Bedürfnissen an.
FAQs
Setzen Sie wordTimestamps: true
in der whisperOptions
-Konfiguration.
Sie bieten eine präzise Zeitangabe für jedes Wort, ideal für detaillierte Transkriptionen und Untertitelanpassung.
Ja, die Aktivierung von Wort-Level-Zeitstempeln kann die Verarbeitungszeit aufgrund der höheren Präzision leicht erhöhen.
Fazit
Indem Sie diese Schritte befolgen, können Sie mit dem Whisper-Modell in einer Node.js-Umgebung effektiv Spracherkennung mit Wort-Level-Zeitstempeln durchführen.
Wir sind Leapcell, Ihre erste Wahl für das Hosting von Node.js-Projekten.
Leapcell ist die Serverless-Plattform der nächsten Generation für Webhosting, asynchrone Aufgaben und Redis:
Multi-Language-Unterstützung
- Entwickeln Sie mit Node.js, Python, Go oder Rust.
Unbegrenzte Projekte kostenlos bereitstellen
- Zahlen Sie nur für die Nutzung – keine Anfragen, keine Gebühren.
Unschlagbare Kosteneffizienz
- Pay-as-you-go ohne Leerlaufgebühren.
- Beispiel: 25 USD unterstützen 6,94 Mio. Anfragen bei einer durchschnittlichen Antwortzeit von 60 ms.
Optimierte Entwicklererfahrung
- Intuitive Benutzeroberfläche für mühelose Einrichtung.
- Vollautomatisierte CI/CD-Pipelines und GitOps-Integration.
- Echtzeitmetriken und -protokollierung für verwertbare Erkenntnisse.
Mühelose Skalierbarkeit und hohe Leistung
- Automatische Skalierung zur einfachen Bewältigung hoher Parallelität.
- Kein operativer Overhead – konzentrieren Sie sich einfach auf das Erstellen.
Erfahren Sie mehr in der Dokumentation!
Folgen Sie uns auf X: @LeapcellHQ