Sprachmemos lokal am Mac transkribieren mit Whisper
Sprachmemos, Interviews und Meetings am Mac mit whisper.cpp in Text umwandeln, komplett offline, ohne Abo und mit Untertiteln, optimiert für Apple Silicon.
Von Nathan Base
Ein einstündiges Interview abtippen dauert drei bis vier Stunden. Online-Dienste erledigen das in Minuten, kosten aber monatlich und verlangen, dass Du die Aufnahme hochlädst, bei vertraulichen Gesprächen, Arztterminen oder Kundengesprächen keine gute Idee. Seit OpenAI sein Spracherkennungsmodell Whisper frei veröffentlicht hat, geht das auch lokal, und auf Macs mit Apple Silicon sogar erstaunlich schnell.
Diese Anleitung nutzt whisper.cpp, eine schlanke Umsetzung von Whisper, die auf Apple Silicon über Metal die Grafikeinheit nutzt. Du installierst sie mit Homebrew, lädst ein Modell und wandelst Sprachmemos, Interviews oder Meeting-Aufnahmen in Text oder Untertitel um. Alles bleibt auf Deinem Mac. Stand ist whisper.cpp 1.9.5 unter macOS 27.2, Grundlage ist das offizielle Repository von whisper.cpp.
Was Du brauchst
- Einen Mac mit Apple Silicon. Auf Intel-Macs funktioniert es auch, aber deutlich langsamer.
- Homebrew. Wenn Du es noch nicht hast, hilft Homebrew auf dem Mac installieren: Anleitung für macOS 27.
- Rund 2 GB freien Speicher für das Modell.
Schritt 1: whisper.cpp und ffmpeg installieren
brew install whisper.cpp ffmpegwhisper.cpp bringt das Programm whisper-cli mit, ffmpeg brauchst Du zum Umwandeln der Aufnahmen. Prüfe mit whisper-cli -h, ob die Installation geklappt hat. Die Ausgabe listet alle Optionen.
Schritt 2: Ein Modell herunterladen
Whisper gibt es in mehreren Größen. Größere Modelle erkennen besser, brauchen aber mehr Zeit und Speicher:
| Modell | Größe | Einsatz |
|---|---|---|
| base | ca. 150 MB | schnelle Notizen, klare Aussprache |
| small | ca. 490 MB | guter Kompromiss für ältere Macs |
| large-v3-turbo | ca. 1,6 GB | beste Wahl für Deutsch auf Apple Silicon |
Für Deutsch empfiehlt sich large-v3-turbo. Es ist nahezu so genau wie das große Modell, aber mehrfach schneller. Lade es in einen eigenen Ordner:
mkdir -p ~/whisper-modelle
curl -L -o ~/whisper-modelle/ggml-large-v3-turbo.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo.binDer Download kommt von der offiziellen Modellseite des Projekts bei Hugging Face und dauert je nach Leitung einige Minuten.
Schritt 3: Die Aufnahme vorbereiten
whisper-cli verarbeitet laut Doku nur WAV-Dateien mit 16 Bit. Sprachmemos vom iPhone liegen dagegen als M4A vor. Hol die Aufnahme zuerst auf den Mac: In der Sprachmemos-App am Mac ziehst Du eine Aufnahme einfach aus der Liste auf den Schreibtisch. Vom iPhone schickst Du sie per AirDrop.
Dann wandelst Du sie mit ffmpeg in das passende Format um:
ffmpeg -i Aufnahme.m4a -ar 16000 -ac 1 -c:a pcm_s16le aufnahme.wav-ar 16000 setzt die Abtastrate auf 16 kHz, mit der Whisper arbeitet, -ac 1 macht daraus Mono, und -c:a pcm_s16le schreibt 16-Bit-WAV. Das funktioniert mit fast jedem Audio- und Videoformat, also auch mit MP3, einer Zoom-Aufnahme als MP4 oder einer Bildschirmaufnahme als MOV.
Schritt 4: Transkribieren
whisper-cli -m ~/whisper-modelle/ggml-large-v3-turbo.bin -l de -f aufnahme.wav -otxt -osrt -of aufnahmeDie Optionen im Einzelnen:
-mnennt das Modell.-l delegt Deutsch als Sprache fest. Ohne die Angabe versucht Whisper, die Sprache selbst zu erkennen, was bei kurzen Aufnahmen manchmal danebengeht.-fist die Eingabedatei.-otxtschreibt eine Textdatei,-osrtzusätzlich Untertitel mit Zeitstempeln.-of aufnahmelegt den Dateinamen ohne Endung fest.
Während der Verarbeitung siehst Du den erkannten Text mit Zeitstempeln im Terminal. Am Ende liegen aufnahme.txt und aufnahme.srt im Ordner. Auf einem Mac mit M-Chip ist eine Stunde Aufnahme mit dem Turbo-Modell typischerweise in wenigen Minuten erledigt, ältere oder kleinere Chips brauchen entsprechend länger.
Die SRT-Datei kannst Du direkt als Untertitel in Videoprogramme wie Final Cut Pro oder DaVinci Resolve laden, oder im Player VLC zu einem Video öffnen.
Schritt 5: Ein Befehl für alles
Damit Du nicht jedes Mal zwei Befehle tippen musst, legst Du in Deiner Shell-Konfiguration eine kleine Funktion an. Öffne die Datei mit nano ~/.zshrc und füge am Ende ein:
transkribiere() {
local name="${1%.*}"
ffmpeg -loglevel error -i "$1" -ar 16000 -ac 1 -c:a pcm_s16le "/tmp/${name:t}.wav"
whisper-cli -m ~/whisper-modelle/ggml-large-v3-turbo.bin -l de -f "/tmp/${name:t}.wav" -otxt -osrt -of "$name"
rm "/tmp/${name:t}.wav"
}Die Funktion wandelt die Datei in eine temporäre WAV-Datei um, transkribiert sie, legt Text und Untertitel neben die Originaldatei und räumt die temporäre Datei wieder weg. ${name:t} ist eine Besonderheit der zsh und liefert nur den Dateinamen ohne Pfad. Lade die Konfiguration mit source ~/.zshrc neu. Ab jetzt reicht:
transkribiere ~/Desktop/Interview.m4aBessere Ergebnisse bekommen
- Gute Aufnahme schlägt großes Modell. Ein Mikrofon nah am Sprecher und wenig Hall verbessern das Ergebnis stärker als jedes Modell.
- Fachbegriffe vorgeben. Mit
--prompt "Home Assistant, Zigbee, Proxmox"gibst Du Whisper Begriffe mit, die in der Aufnahme vorkommen. Es schreibt sie dann häufiger richtig. - Mehrere Sprecher. Whisper unterscheidet Sprecher nicht. Für Interviews hilft es, Fragen und Antworten später im Text von Hand zu markieren.
Typische Fehler
Der Text wiederholt denselben Satz immer wieder. Das passiert bei langen Pausen oder Stille am Ende. Schneide die Stille ab oder nutze die Option --max-context 0, die Whisper davon abhält, sich an vorherigem Text festzubeißen.
whisper-cli meldet, die Datei sei kein gültiges WAV. Die Datei wurde nicht mit ffmpeg umgewandelt, oder die Umwandlung ist fehlgeschlagen. Wiederhole den ffmpeg-Befehl und prüfe dessen Ausgabe.
Das Ergebnis ist auf Englisch übersetzt. Dann war die Option -tr für Übersetzung gesetzt, oder die Spracherkennung hat sich geirrt. Gib die Sprache mit -l de fest vor.
Fazit
Mit whisper.cpp und einem Modell von 1,6 GB hast Du eine Transkription, die mit bezahlten Diensten mithält, offline arbeitet und keine Aufnahme aus der Hand gibt. Die Funktion transkribiere macht daraus einen einzigen Befehl. Wenn Du nach Text und Untertiteln auch Zusammenfassungen lokal erstellen willst, passt dazu ein lokales Sprachmodell, wie es Ollama auf dem Mac: lokale KI mit MLX nutzen beschreibt.
Weiterlesen.
-
AIOllama auf dem Mac: lokale KI mit MLX nutzen
Ollama auf dem Mac: lokale Modelle nach Arbeitsspeicher wählen und mit OpenCode, Claude Code oder Codex, VS Code, Docker und GitHub programmieren.
Nathan Base -
Apple MacHomebrew auf dem Mac installieren: Anleitung für macOS 27
Homebrew auf dem Mac installieren, den Pfad in der zsh einrichten und die wichtigsten brew-Befehle nutzen. Für Apple-Chip und Intel, mit Fehlerhilfe.
Nathan Base -
Raspberry Pi & LinuxSprachsteuerung ohne Alexa: Home Assistant Assist lokal
Lokale Sprachsteuerung mit Home Assistant Assist: Speech-to-Phrase oder Whisper, Piper als Stimme und Voice PE als Lautsprecher, auf Deutsch.
Nathan Base -
AIn8n mit Ollama: KI-Automationen ohne API-Kosten
n8n mit einem lokalen Sprachmodell über Ollama verbinden: Docker-Adresse, Netzwerkfreigabe, Modellwahl für den AI Agent und ein fertiger Workflow.
Nathan Base -
AICrewAI: KI-Agenten als Team Aufgaben erledigen lassen
Mit dem Python-Framework CrewAI arbeiten mehrere KI-Agenten mit eigenen Rollen zusammen. Installation, erstes Projekt und sinnvolle Einsätze.
Nathan Base -
AIClaude Code automatisch ausführen: Headless mit launchd
Claude Code ohne Chatfenster: mit claude -p, festen Werkzeugrechten und launchd jeden Morgen einen Projektbericht erstellen und aufs Handy schicken.
Nathan Base