by Markus Winkler (pexels)
|

Transskripte aus Audio-Dateien auf dem Mac lokal erstellen

In Anlehnung an den Artikel zum Durchsuchen eurer Transskripte hatte ich versprochen noch zu erklären, wie ich sie auf meinem Mac lokal erstellt habe, als Grundlage für die Transskript-Suche in eurem Podcast.

Hinter der Transkription stecken vier freie, quelloffene Bausteine:

Die 4 Werkzeuge

ffmpeg

Das Schweizer Taschenmesser für Audio. Bringt jede Aufnahme (MP3, M4A, WAV, FLAC …) ins Format, das die Spracherkennung lesen kann.

whisper-cli

Die Spracherkennung (whisper.cpp). Wandelt Gesprochenes in Text um.

large-v3-turbo

Das Sprachmodell, das „Gehirn“ dahinter (≈ 1,5 GB). Kommt auch mit Fachbegriffen, Dialekt und Nebengeräuschen gut zurecht.

Silero VAD

Ein Pausen-Erkenner (≈ 1 MB). Sorgt dafür, dass die Zeitmarken auch bei längeren Sprechpausen genau bleiben.

Die Installation

Voraussetzung ist Homebrew, der Paketmanager für den Mac. Falls noch nicht vorhanden, richtet ihn diese eine Zeile ein:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

ffmpeg und whisper installieren

$ brew install ffmpeg whisper-cpp

Die beiden KI-Modelle als Bestandteil von whisper

# Zielordner anlegen
MODELS="$HOME/Library/Application Support/whisper-cpp/models"
mkdir -p "$MODELS"

# Werkzeug 3 — Sprachmodell large-v3-turbo (~1,5 GB)
curl -L -o "$MODELS/ggml-large-v3-turbo.bin" \
  https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo.bin

# Werkzeug 4 — Pausen-Modell Silero VAD (~1 MB)
curl -L -o "$MODELS/ggml-silero-v5.1.2.bin" \
  https://huggingface.co/ggml-org/whisper-vad/resolve/main/ggml-silero-v5.1.2.bin

Erstellung der vtt Dateien

Audio umwandeln. whisper.cpp liest nur 16-kHz-Mono-WAV. ffmpeg macht das aus jeder Aufnahme:

$ ffmpeg -i interview.mp3 -ar 16000 -ac 1 -c:a pcm_s16le interview.wav

-i interview.mp3

Eingabedatei (MP3, M4A, FLAC … egal)

-ar 16000

Abtastrate auf 16 kHz setzen

-ac 1

auf einen Kanal (mono) mischen

-c:a pcm_s16le

als unkomprimiertes WAV speichern

Transkribieren und als VTT ausgeben: Jetzt schreibt Whisper die WAV-Datei auf — und legt die WebVTT-Datei direkt daneben:

MODELS="$HOME/Library/Application Support/whisper-cpp/models"

whisper-cli \
  -m "$MODELS/ggml-large-v3-turbo.bin" \
  -l de \
  --vad -vm "$MODELS/ggml-silero-v5.1.2.bin" \
  -f interview.wav \
  -ovtt -otxt -osrt \
  -of interview

-m

…das Sprachmodell (Werkzeug 3)

-l de

esprochene Sprache Deutsch (auto = selbst erkennen)

–vad -vm …

…Pausen-Erkennung an, mit dem VAD-Modell (Werkzeug 4) — für stimmige Zeitmarken

-f interview.wav

die WAV-Datei aus Schritt 1

-ovtt -otxt -osrt

gewünschte Ausgaben: VTT, Text und SRT (nur VTT? die anderen weglassen)

-of
interview

Basisname der Ausgabedateien, ohne Endung

Ergebnis

Neben der Aufnahme liegen anschließend drei Dateien mit demselben Namen — je nach Verwendungszweck:

.txt

reiner Lesetext

.srt

Untertitel — für Video-Programme und YouTube

.vtt

Web-Untertitel — z. B. für den Podcast-Player auf der Website

Mindestens die VTT Datei wirst du zu deinen Audio-Dateien in deinem Podcast-Verzeichnis, dass du bei Podlove eingestellt hast. Und dann sollte der Indexioerung nichts mehr im Wege stehen.

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert