Anleitung

Was tatsächlich passiert, wenn Ihr Mac Audio auf dem Gerät transkribiert

„KI auf dem Gerät" ist ein Marketingbegriff, der an einem bestimmten und recht interessanten Stück Technik hängt. Hier ist die gesamte Pipeline, von der Datei bis zum Text.

Inzwischen sagt jede App, sie erledige Dinge „auf dem Gerät". Es lohnt sich zu wissen, was das tatsächlich umfasst, teils weil es erklärt, warum lokale Transkription so schnell gut wurde, teils weil darin der Unterschied zwischen einer überprüfbaren und einer nicht überprüfbaren Behauptung liegt.

Das ist die Pipeline, der Reihe nach.

Schritt 1: Alles wird zu 16-kHz-Mono #

Whisper, das Spracherkennungsmodell, das fast alle dieser Apps verwenden, nimmt genau eine Art von Eingabe: 16.000 Samples pro Sekunde, ein Kanal, als Fließkommazahlen zwischen -1 und 1.

Das Erste, was jedes Transkriptionswerkzeug tut, ist also, den größten Teil Ihres Audios wegzuwerfen. Ihre 48-kHz-Stereoaufnahme wird auf Mono gemischt und heruntergetastet. Bei Videodateien wird die Audiospur extrahiert und das Bild verworfen.

Das klingt zerstörerisch und ist es größtenteils nicht: Menschliche Sprache liegt unter 8 kHz, und nach der Nyquist-Grenze erfasst eine Abtastrate von 16 kHz sie vollständig. Was Sie verlieren, ist Musikqualität, nicht Verständlichkeit.

Die praktische Folge: Ihre teure 96-kHz-Aufnahme bringt Ihnen an dieser Stelle nichts, und eine schlecht komprimierte Datei lässt sich dadurch ebenso wenig retten.

Schritt 2: Sprachaktivitätserkennung entscheidet, was transkribiert zu werden lohnt #

Ein zweites, viel kleineres Modell läuft zuerst und markiert, welche Teile des Audios menschliche Sprache enthalten.

Das gebräuchliche Modell ist Silero VAD — unter einem Megabyte, und es beantwortet eine Frage: Sprache oder nicht Sprache, auf einem feinen Zeitraster.

Das gibt es aus zwei Gründen. Es macht die Sache schneller, weil das Dekodieren von Stille verschwendete Arbeit ist. Wichtiger noch: Es verhindert den Fehlerfall, in dem Whisper, dem Audio ohne Sprache übergeben wurde, trotzdem Text erzeugt und in eine Schleife gerät. VAD ist der Grund, warum moderne lokale Transkription aufgehört hat, seitenweise wiederholte Sätze zu produzieren.

Schritt 3: Audio wird zu einem Bild #

Whisper verarbeitet keine Wellenformen. Es verarbeitet ein log-Mel-Spektrogramm: ein 2D-Bild, in dem die waagerechte Achse die Zeit ist, die senkrechte Achse die Frequenz auf einer Skala, die dem menschlichen Gehör entspricht, und die Helligkeit die Energie.

Das ist der eigentliche gedankliche Sprung in der modernen Spracherkennung. Sobald Audio ein Bild ist, können Sie die für Computer Vision gebaute Maschinerie darauf anwenden — und genau das passiert als Nächstes.

Schritt 4: Der Encoder läuft, idealerweise auf der Neural Engine #

Whisper ist ein Transformer mit zwei Hälften. Der Encoder liest das Spektrogramm und verwandelt es in eine dichte numerische Darstellung dessen, was gesagt wurde. Das ist die teure Hälfte — schwere, regelmäßige Matrixmultiplikation über eine Eingabe fester Größe.

Und genau dafür ist Apples Neural Engine gebaut: ein eigener Block auf dem Chip, der eine eng umrissene Art von Arithmetik extrem schnell und sehr stromsparend ausführt. Er ist nicht universell — beliebigen Code können Sie darauf nicht ausführen — aber ein Transformer-Encoder hat genau seine Form.

Den Encoder darauf zu bekommen erfordert, das Modell vorab in das Format von Core ML (.mlmodelc) zu kompilieren. Apps, die das tun, liefern einen Core-ML-Encoder zusammen mit den Modellgewichten aus, und das ist der größte einzelne Geschwindigkeitsunterschied zwischen einer schnellen und einer langsamen lokalen Transkriptions-App auf derselben Hardware.

Schritt 5: Der Decoder läuft auf der GPU #

Der Decoder erzeugt den eigentlichen Text, ein Token nach dem anderen, jedes bedingt durch alles davor.

Diese Hälfte ist sequenziell und passt daher nicht zum stapelorientierten Aufbau der Neural Engine. Sie läuft stattdessen über Metal auf der GPU. Auf Apple Silicon teilt sich diese GPU den Speicher mit der CPU, die Gewichte des Modells müssen also nicht über einen Bus kopiert werden — ein wesentlicher Grund, warum Apple Silicon bei lokaler Inferenz über seiner Gewichtsklasse schlägt.

Schritt 6: Zeitstempel entstehen im selben Vorgang #

Whisper gibt spezielle Zeitstempel-Token zwischen den Wörtern aus. So bekommen Sie eine SRT mit sinnvollen Zeitangaben statt einer Textwand — die Zeitinformation fällt im selben Dekodierdurchgang an, nicht in einem getrennten Ausrichtungsschritt.

Wenn VAD Stille übersprungen hat, müssen die Zeitangaben auf die ursprüngliche Aufnahme zurückgerechnet werden, sonst wäre jeder Zeitstempel nach der ersten Lücke falsch.

Das Modell, und warum es kleiner ist, als es klingt #

Whispers Base-Modell hat 74 Millionen Parameter. Bei voller Präzision sind das etwa 140 MB, von denen das meiste für diesen Zweck überflüssig ist.

Quantisierung speichert jedes Gewicht mit weniger Bits. In einem q5_1-Modell sind Gewichte 5 Bit plus ein kleiner Skalierungs- und Versatzwert pro Block — grob 6 Bit pro Gewicht statt 16. Das Ergebnis liegt bei rund 60 MB, mit Genauigkeitsunterschieden, die bei gewöhnlicher Sprache schwer zu erkennen sind.

Das zählt auf einem Telefon, wo ein 140-MB-Download und der passende Arbeitsspeicher echte Kosten sind. Es ist auch der Grund, warum die ehrliche Antwort auf „Welches Modell soll ich nehmen?" meist ein kleineres ist, als die meisten annehmen.

Lange Dateien, und warum der Arbeitsspeicher der schwierige Teil ist #

Whispers API nimmt einen zusammenhängenden Puffer von Samples. Zwei Stunden bei 16 kHz sind etwa 470 MB an Floats, plus ein Spektrogramm vergleichbarer Größe.

Auf einem Mac ist das kein Problem. Auf einem iPhone reicht das, um eine App vom System beenden zu lassen — weshalb manche mobilen Transkriptions-Apps die Dateilänge stillschweigend begrenzen.

Die Lösung ist, in Fenstern zu transkribieren: Das dekodierte Audio auf der Festplatte belassen, jeweils einen Abschnitt einblenden, ihn transkribieren, wieder freigeben. Der Speicherbedarf hängt dann vom Fenster ab statt von der Datei. Die Feinheit ist, wo geschnitten wird — schneiden Sie mitten im Wort, bekommen Sie an jeder Grenze einen verstümmelten Satz, eine vernünftige Umsetzung schneidet also an der leisesten Stelle innerhalb eines Überlappungsbereichs und verschiebt die Zeitstempel jedes Fensters zurück in die ursprüngliche Zeitachse.

Warum irgendetwas davon für Sie zählt #

Aus der obigen Pipeline folgen drei Dinge, die keine Marketingbehauptungen sind:

Es funktioniert ohne Netzwerk. Kein Schritt oben erfordert eines. Das lässt sich in dreißig Sekunden prüfen — wir haben aufgeschrieben, wie, einschließlich Tests, die kein Vertrauen in uns voraussetzen.

Ihre Aufnahme sind niemandes Trainingsdaten. Es ist nicht so, dass eine lokale App verspricht, nicht mit Ihrem Audio zu trainieren. Es ist so, dass Ihr Audio nie irgendwo war, wo das möglich wäre.

Die Geschwindigkeit hängt von Ihrer Hardware ab, nicht von jemandes Warteschlange. Eine lokale Transkription läuft auf Apple Silicon um ein Mehrfaches schneller als Echtzeit, gleichbleibend, um 3 Uhr morgens an einem Sonntag, ohne Ratenbegrenzung.

Die Kurzfassung #

Audio wird auf 16-kHz-Mono heruntergetastet, die Spracherkennung entfernt die Teile ohne Sprache, der Rest wird zu einem Spektrogramm, ein Transformer-Encoder verarbeitet es auf der Neural Engine, ein Decoder erzeugt auf der GPU Text mit eingestreuten Zeitstempeln, und Quantisierung macht das Modell klein genug, dass all das auf ein Telefon passt.

Nichts davon braucht einen Server, und darum geht es.

Offline Transcription herunterladen

Transkribieren Sie Audio und Video vollständig auf Ihrem eigenen Mac. Nichts wird hochgeladen, es gibt kein Konto und keine Abrechnung pro Minute.

macOS 13.0 or higher · iOS 16.4 or higher