Direkte Antwort — Wie automatisieren Sie die Dateitranskription auf einem Mac? Es gibt drei Wege. Sie verdrahten ein Shell-Skript rund um whisper.cpp und ffmpeg, verpacken es in einen Kurzbefehl und pflegen es selbst. Sie senden Dateien an eine Cloud-Transkriptions-API und nehmen in Kauf, dass die Audiodaten Ihren Mac verlassen. Oder Sie rufen eine lokale HTTP-API innerhalb einer Transkriptions-App auf, die jede Datei auf dem Rechner behält und keine Skriptpflege erfordert.
Wenn Sie die Transkription auf einem Mac automatisieren möchten, liegt die eigentliche Schwierigkeit selten in der Spracherkennung — lokale Modelle sind seit Jahren gut genug. Es ist die Verkabelung: der Auslöser, die Formatkonvertierung, die Warteschlange, der Export und das, was nach einem Homebrew-Upgrade kaputtgeht.
Dieser Leitfaden vergleicht die drei Wege — DIY-Skripte, macOS-Kurzbefehle und eine lokale Transkriptions-API auf Ihrem eigenen Rechner — mit dem Code, den Sie für jeden Weg tatsächlich ausführen würden.
Was bedeutet die Automatisierung der Transkription auf einem Mac konkret?
Drei Ebenen, und nur eine davon ist Spracherkennung. Dass man sie verwechselt, ist der Grund, warum die meisten Automatisierungsversuche auf halbem Weg steckenbleiben.
- Der Auslöser — eine Finder-Schnellaktion, ein überwachter Ordner, ein Cron-Job oder ein Knoten in einem Orchestrator.
- Die Engine — das Modell, das Audio in Text verwandelt, plus alle Vorbereitungsschritte, die es verlangt.
- Die Ausgabe — eine Datei, die Zwischenablage, ein Datenbankeintrag, eine Untertitelspur, eine Markdown-Notiz.
Eine Cloud-API fasst alle drei in einem einzigen HTTP-Aufruf zusammen — auf Kosten des Audio-Uploads. Ein DIY-Skript gibt Ihnen die volle Kontrolle und alle drei Ebenen zur Pflege. Eine lokale API behält Engine und Audio auf Ihrem Mac und fasst den Aufruf trotzdem in einer einzigen Zeile zusammen.
Können macOS-Kurzbefehle Dateien von sich aus transkribieren?
Nicht mit einer lokalen Engine, nein. Kurzbefehle sind hervorragend bei Auslösern und der Verkabelung — Apple beschreibt einen Kurzbefehl als „eine schnelle Möglichkeit, eine oder mehrere Aufgaben mit Ihren Apps zu erledigen” —, liefert aber keine allgemeine Offline-Transkriptionsaktion, die Sie auf eine beliebige MP4-Datei anwenden können.
Die Community-Projekte zeigen den Workaround. Die verbreiteten Mac-Kurzbefehle für Audiotranskription-Repositories funktionieren alle nach demselben Muster: Der Kurzbefehl liefert den Auslöser und den Dateipfad, dann übergibt eine „Shell-Skript ausführen”-Aktion die Arbeit an eine externe Engine.
Eines verpackt ein zsh-Skript um das MacWhisper-Kommandozeilenwerkzeug und weicht bei Bedarf auf whisper.cpp aus Homebrew aus. Ein anderes importiert eine .shortcut-Datei, die ein Shell-Skript aufruft, das whisper.cpp mit ffmpeg kombiniert. Beide machen denselben Punkt deutlich: Kurzbefehle sind der Auslöser, niemals die Engine.
Was bedeutet der DIY-Weg mit whisper.cpp?
Einrichtung und Pflege. Die Engine ist kostenlos und ausgezeichnet; die Wartung ist der Preis dafür, und der ist nicht null.
Eine minimale Einrichtung für ein Transkriptions-Automatisierungsskript auf dem Mac sieht so aus:
# 1. Install the engine and the converter
brew install ffmpeg
brew install whisper-cpp
# 2. Fetch a model file by hand (e.g. ggml-large-v3-turbo.bin)
# 3. Convert first — whisper.cpp's CLI reads 16-bit WAV only
ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav
# 4. Then transcribe
whisper-cli -m ~/.cache/whisper.cpp/models/ggml-large-v3-turbo.bin -f output.wav
Schritt 3 ist nicht optional. Das offizielle whisper.cpp-README stellt klar: „Das whisper-cli-Beispiel läuft derzeit nur mit 16-Bit-WAV-Dateien, stellen Sie also sicher, dass Sie Ihre Eingabe konvertieren, bevor Sie das Tool ausführen”, und veröffentlicht den obigen ffmpeg-Befehl.
Genau an dieser Einschränkung brechen die meisten whisper.cpp-Automatisierungsketten auf dem Mac: Jedes neue Format, jedes Stereo-Interview und jeder Video-Container muss zuerst konvertiert werden, und der Fehler bleibt stumm, bis Sie ein leeres Transkript vor sich haben.
Rechnen Sie die übrigen beweglichen Teile hinzu — umbenannte Modelldateien, ein Homebrew-Upgrade, keine Job-Warteschlange, kein Fortschritt, kein Verlauf —, und aus dem Skript eines Nachmittags wird ein kleines internes Tool, das jetzt Ihnen gehört. Unser Leitfaden zur whisper.cpp-Einrichtung behandelt diesen Weg im Detail.
Was ist eine lokale Transkriptions-API, und warum verändert sie den Workflow?
Eine lokale Transkriptions-API ist ein HTTP-Server, der innerhalb einer Desktop-App auf Ihrem eigenen Rechner läuft, sodass andere Programme ihr eine Datei senden und Text zurückbekommen können, ohne dass Audiodaten den Mac verlassen. Gleiche Anfragestruktur wie bei einer Cloud-API, nur ohne den Upload.
Weesper Transcribe liefert eine solche API als optionale Pro-Funktion mit. Sie bindet sich an die Loopback-Adresse 127.0.0.1 — aus Ihrem Netzwerk nicht erreichbar — auf einem konfigurierbaren Port (standardmäßig 8765), ist standardmäßig deaktiviert, und jeder Endpunkt außer dem Health-Check verlangt ein Authorization: Bearer-Token, das unter Einstellungen → Automatisierung angezeigt wird.
Zwei Design-Details sind für die Automatisierung wichtig:
- Der Aufrufer lädt die Audio-Bytes hoch, nicht einen Dateipfad. Der App-Store-Build ist sandboxed und kann keine beliebigen Pfade von einem anderen Prozess lesen, daher werden die Bytes über Loopback übertragen.
- Synchron und asynchron in einem Endpunkt. Ein kurzer Clip blockiert, bis er fertig ist; eine lange Aufnahme liefert sofort eine Job-ID zurück, und Sie fragen den Fortschritt per Polling ab.
Die Endpunkte
| Endpunkt | Auth | Was er macht |
|---|---|---|
GET /v1/health | Nein | Liveness-Check — Status und Version |
GET /v1/models | Ja | Listet Modell-IDs und deren Installationsstatus |
POST /v1/transcribe | Ja | Audio-Bytes senden, Text und zeitgestempelte Segmente erhalten |
GET /v1/jobs/<id> | Ja | Status, Fortschritt, danach Text und Exportpfad |
Optionen werden als Query-Parameter übergeben, und alles, was Sie weglassen, greift auf die gespeicherten Einstellungen der App zurück: model, language, task (transcribe oder translate), format, name, export, async.
Ein Aufruf, von Anfang bis Ende
TOKEN=… # copied from Settings → Automation
# Synchronous: transcribe and write an SRT into the auto-export folder
curl -s -X POST "http://127.0.0.1:8765/v1/transcribe?format=srt&name=meeting" \
-H "Authorization: Bearer $TOKEN" \
--data-binary @meeting.m4a | jq .text
# Asynchronous: long file, poll for the result
JOB=$(curl -s -X POST "http://127.0.0.1:8765/v1/transcribe?async=true&name=lecture" \
-H "Authorization: Bearer $TOKEN" --data-binary @lecture.mp4 | jq -r .job_id)
curl -s "http://127.0.0.1:8765/v1/jobs/$JOB" -H "Authorization: Bearer $TOKEN" | jq
Kein Konvertierungsschritt, keine Modellverwaltung, keine Warteschlange, die Sie selbst schreiben müssten. Die Antwort enthält Text und zeitgestempelte Segmente, und die App erzeugt eine Datei in dem gewünschten Format — eines von neun, darunter SRT und VTT, wenn Untertitel das gewünschte Ergebnis sind.
Wie schneiden die drei Wege im Vergleich ab?
Wählen Sie den Weg passend zu dem, worauf Sie optimieren: Kontrolle, Datenschutz oder die Anzahl beweglicher Teile, die Sie selbst verantworten wollen.
| Kriterium | DIY-Skripte (whisper.cpp) | Lokale API (Weesper Transcribe) | Cloud-Transkriptions-API |
|---|---|---|---|
| Audio verlässt Ihren Mac | ❌ Nie | ❌ Nie | ✅ Jede Datei wird hochgeladen |
| Einrichtungsaufwand | Hoch — Homebrew, Modelle, Konvertierung | Niedrig — aktivieren, Token kopieren | Niedrig — API-Schlüssel |
| Formatkonvertierung | Manuell (ffmpeg, 16-Bit-WAV) | Von der App übernommen | Vom Dienst übernommen |
| Job-Warteschlange und Fortschritt | Sie bauen sie selbst | Eingebaut, synchron oder asynchron | Eingebaut |
| Funktioniert offline | ✅ | ✅ | ❌ |
| Wiederkehrende Kosten | Keine | Einmaliges Pro-Upgrade | Pro Minute oder pro Sitzplatz |
| Wer es pflegt | Sie | Die App | Der Anbieter |
| Verlauf und Suche | Sie bauen sie selbst | Eingebaut, Stichwort- und semantische Suche | Beim Anbieter gehostet |
Kurz gesagt: DIY gewinnt bei der Kontrolle und kostet nur Ihre Zeit, Cloud gewinnt bei der Skalierung und verliert bei der Vertraulichkeit, und eine lokale API ist der Mittelweg, wenn das Audio den Rechner nicht verlassen darf.
Drei Automatisierungsrezepte, die sich zu übernehmen lohnen
Beginnen Sie mit dem Auslöser, den Sie bereits verwenden. Der Transkriptionsschritt ist in jedem Fall nur eine Zeile.
- Finder-Schnellaktion — erstellen Sie einen Kurzbefehl, der Dateien als Eingabe akzeptiert, fügen Sie eine „Shell-Skript ausführen”-Aktion mit dem obigen
curl-Aufruf und--data-binary @"$1"hinzu, und transkribieren Sie dann jede Aufnahme per Rechtsklick. Bewahren Sie das Token im Skript oder in einem Schlüsselbund-Eintrag auf, niemals in einem URL-Parameter. - Überwachter Ordner — richten Sie eine Ordneraktion oder eine kleine
fswatch-Schleife auf Ihr Aufnahmeverzeichnis und lösen Sie denselben Aufruf für jede neue Datei aus. Setzen Sieexport=true, und das Transkript landet in Ihrem Exportordner. - Orchestrator-Schritt — in n8n ruft ein Execute-Command-Knoten
curlper Shell auf. Die Dokumentation stellt ausdrücklich klar, dass der Knoten Befehle „auf dem Host-Rechner ausführt, auf dem n8n läuft”, „auf n8n Cloud nicht verfügbar ist” und ab n8n 2.0 standardmäßig deaktiviert ist. Ein lokaler n8n-Transkriptionsschritt braucht daher eine selbstgehostete Instanz auf demselben Mac — genau das ist der Sinn einer Loopback-API.
Für einen Workflow zur Stapel-Transkriptionsautomatisierung brauchen Sie unter Umständen überhaupt keinen Orchestrator: Reihen Sie einen Ordner innerhalb der App in die Warteschlange ein und nutzen Sie die API nur für das, was Ihr eigenes Tooling steuert.
Welchen Weg sollten Sie wählen?
Entscheiden Sie anhand der Einschränkung, die sich nicht verschieben lässt.
- Wählen Sie DIY-Skripte, wenn Sie die volle Kontrolle über das Modell wollen und es Ihnen nichts ausmacht, eine Konvertierungspipeline zu betreiben. Am günstigsten im Geldbeutel, am teuersten in Ihrer Aufmerksamkeit.
- Wählen Sie eine lokale API, wenn das Audio vertraulich ist — Kundeninterviews, medizinische Aufnahmen, unveröffentlichte Arbeiten — und Sie Automatisierung ohne Wartungsaufwand wollen.
- Wählen Sie eine Cloud-API, wenn Sie in einem Umfang transkribieren, den kein Laptop bewältigen kann, und das Material nicht sensibel ist.
Wägen Sie noch zwischen Apps statt zwischen Wegen ab? Unser Vergleich von TranscribeNext und Weesper Transcribe behandelt die Meeting-Erfassungs-Seite dieser Entscheidung.
Häufig gestellte Fragen
Wie automatisiere ich die Transkription auf einem Mac, ohne Skripte zu schreiben?
Nutzen Sie eine App, die eine lokale Transkriptions-API bereitstellt, und rufen Sie diese aus dem heraus auf, was bei Ihnen ohnehin schon läuft: ein Kurzbefehl, eine Ordneraktion, ein geplanter Job oder ein n8n-Workflow. Weesper Transcribe liefert einen optionalen HTTP-Server, der an 127.0.0.1 gebunden und durch ein Bearer-Token geschützt ist. Ein einziger curl-Aufruf sendet die Audio-Bytes und liefert den Text zurück, dazu eine gerenderte Datei in Ihrem Auto-Export-Ordner.
Können macOS-Kurzbefehle eine Audiodatei von sich aus transkribieren?
Nicht für beliebige Dateien mit einer lokalen Engine. Kurzbefehle sind sehr gut bei Auslöser und Verkabelung: eine Schnellaktion im Finder, eine Ordneraktion, ein Eintrag im Freigabe-Menü. Die Transkription selbst muss von irgendwoher kommen, weshalb die Community-Kurzbefehle auf GitHub eine „Shell-Skript ausführen”-Aktion um whisper.cpp oder ein Drittanbieter-Kommandozeilenwerkzeug herum verpacken.
Was kostet Sie der DIY-Weg mit whisper.cpp tatsächlich?
Einrichtung und Wartung statt Geld. Die veröffentlichten Community-Skripte installieren ffmpeg und whisper.cpp über Homebrew, laden Modelldateien manuell herunter und konvertieren jede Eingabe zuerst, weil das whisper.cpp-Kommandozeilenwerkzeug nur mit 16-Bit-WAV-Dateien läuft. Ein Homebrew-Upgrade, eine umbenannte Modelldatei oder ein nicht abgefangenes Eingabeformat bringt die Kette lautlos zum Reißen.
Ist es sicher, eine lokale Transkriptions-API dauerhaft eingeschaltet zu lassen?
Das hängt davon ab, wie sie gebunden und authentifiziert ist. Die API von Weesper Transcribe ist standardmäßig deaktiviert, lauscht nur auf 127.0.0.1 und ist daher aus Ihrem Netzwerk nicht erreichbar, und sie verlangt ein Bearer-Token bei jedem Endpunkt außer dem Health-Check. Anfragen mit einem Browser-Origin-Header werden abgelehnt, sodass eine Webseite sie nicht heimlich aufrufen kann.
Kann ich eine lokale Transkriptions-API von n8n oder einem anderen Automatisierungstool aus ansteuern?
Ja, wenn das Tool auf demselben Mac läuft. Die n8n-Dokumentation erklärt, dass der Execute-Command-Knoten Shell-Befehle auf dem Host-Rechner ausführt, auf dem n8n läuft, und auf n8n Cloud nicht verfügbar ist — eine selbstgehostete Instanz kann also curl per Shell aufrufen, während eine Cloud-Instanz 127.0.0.1 auf Ihrem Laptop nicht erreichen kann.
Fazit
Die Automatisierung der Transkription auf einem Mac ist seit Jahren möglich, aber nur über Skripte, die Sie selbst bauen und am Leben erhalten mussten. Die Community-Projekte belegen die Nachfrage und legen die Kosten offen: Homebrew-Abhängigkeiten, manuelle Modelldateien, ein Konvertierungsschritt vor jeder Datei.
Eine Loopback-API verlagert diese Arbeit in die App — derselbe Ein-Zeilen-Aufruf wie bei einem Cloud-Dienst, dieselbe Automatisierungsfläche für Kurzbefehle, Ordnerüberwachung und selbstgehostete Orchestratoren, und das Audio verlässt den Rechner nie.
Bereit, die Transkription zu einem Pipeline-Schritt zu machen? Erfahren Sie, wie Weesper Transcribe Stapelverarbeitung, Exporte und die lokale Automatisierungs-API handhabt, oder laden Sie die App aus dem Mac App Store herunter — kostenloser Download, macOS 13 oder neuer, einmaliges Pro-Upgrade, kein Abo. Fragen zur Einrichtung beantwortet die Support-Dokumentation.