Der Blogbeitrag stellt Whistle vor, ein von Cactus Compute entwickeltes Open-Source-Spracherkennungsmodell mit einer Dateigröße von lediglich 16,9 MB, das für ressourcenbeschränkte Umgebungen wie Mobilgeräte, Wearables, Roboter und Mikrocontroller optimiert wurde. Whistle läuft ohne externe Abhängigkeiten auf derselben C++-Engine wie das Needle-Modell, teilt sich denselben Container sowie die Quantisierung und ermöglicht On-Device-Transkriptionen in sieben Sprachen, präzise Wortzeitstempel sowie Spracheinbettungen.
Wichtigste Punkte
Extrem geringe Modellgröße: Whistle beansprucht nur 16,9 MB Speicherplatz. Zum Vergleich benötigt Whisper base 145,3 MB und Moonshine tiny v2 41,9 MB.
Hervorragende Latenz und Geschwindigkeit: Auf einem Apple M4 Pro CPU erreicht Whistle eine Zeit bis zum ersten Token von 11,1 ms (bei 10 Sekunden Audio) und eine Dekodierleistung von 1.319 Token/s, während Whisper base lediglich 73,2 ms und 266 Token/s liefert.
Leistungsstarke Benchmarks: Whistle übertrifft etablierte Modelle wie Whisper base und Moonshine tiny v2 auf Evaluationsdatensätzen wie LibriSpeech (test-clean und test-other), SPGISpeech, Earnings-22 und dem FLEURS-Durchschnitt.
Drei Kernfunktionen auf dem Gerät: Whistle übernimmt drei Hauptaufgaben vollständig offline: Transkription von bis zu 30 Sekunden 16-kHz-Mono-Audio in sieben Sprachen (Englisch, Deutsch, Französisch, Spanisch, Italienisch, Niederländisch, Polnisch), Wortzeitstempel via Decoder-Aufmerksamkeit sowie Spracheinbettungen als Encoder-Ausgabe (eine Zeile pro 80-ms-Frame).
Architektur des Encoders: Der Encoder besteht aus acht nicht-kausalen Simple Attention-Blöcken (geteilt mit Needle) mit vier mHC-Residualspuren und einem Monarch Hadamard MLP anstelle traditioneller Feed-Forward-Netzwerke, vorgefiltert durch einen Convolutional Stem mit drei Halbierungen auf 375 Frames.
Architektur des Decoders: Der Decoder nutzt acht gestaffelte Laddered Simple Attention-Blöcke (Breite 512, Verhältnis von 8 Query- zu 2 KV-Köpfen) mit Gated Cross Attention zur Anbindung an den Encoder sowie Engram-Lookups an den Layern 3 und 7.
Dekodierung und Keyword-Biasing: Die Suche erfolgt über eine Beam Search (5 Beams) mit längennormierter Log-Wahrscheinlichkeit. Schlüsselwörter werden dynamisch über einen Aho-Corasick-Automaten verstärkt. Das Vokabular umfasst 8.192 Textfragmente und 7 Sprachtoken.
Stille-Erkennung (Silence Detection): Vor dem Start der Dekodierung misst das System den Loudness Range des Audioclips; unterschreitet dieser den Grenzwert, wird sofort ein leeres Transkript zurückgegeben, ohne Rechenleistung für die Beam Search aufzuwenden.
Unified Engine (.cact): Die Engine kann über eine einheitliche Ladefunktion (needle_load) Sprach- und Textmodelle kombinieren, wodurch Audiosignale direkt in strukturierte Tool-Aufrufe (z. B. JSON-Funktionsaufrufe) übersetzt werden.
Plattformübergreifende Deployment-Optionen: Die Software ist für 17 Zielplattformen vorkompiziert verfügbar, darunter macOS, Linux, Android, iOS, watchOS, Windows auf ARM, RISC-V, MIPS, Web-Browser sowie als WASI-Komponente.
Glossar
Quantisierung (Quantisation): Ein Verfahren zur Reduzierung der numerischen Präzision von Modellgewichten (z. B. Reduktion von 32-Bit-Gleitkommazahlen auf kleinere Formate), um den Speicherbedarf und die Rechenzeit drastisch zu verringern.
Log-Mel-Filterbank (Log-Mel Bins): Eine mathematische Filterung von Audiosignalen, die das menschliche Hörvermögen durch logarithmisch verteilte Frequenzbänder nachbildet.
Encoder / Decoder: Encoder wandeln rohe Eingabedaten (wie Audiosignale) in eine verdichtete mathematische Repräsentation um; Decoder generieren daraus das Ausgaberesultat (wie Text).
Monarch Hadamard MLP: Eine optimierte neuronale Netzwerkarchitektur (Multi-Layer Perceptron) mit strukturierten Matrizen zur effizienten Mustererkennung bei geringem Rechenaufwand.
Gated Cross Attention: Ein Aufmerksamkeitsmechanismus in neuronalen Netzen, der steuert, wie stark und dynamisch Informationen aus dem Audio-Encoder in den Text-Decoder einfließen.
Beam Search: Ein Suchalgorithmus in der Sprach- und Textverarbeitung, der parallel mehrere wahrscheinlichste Teilsequenzen verfolgt, um die bestmögliche Gesamtübersetzung zu finden.
Aho-Corasick-Automat: Ein hocheffizienter Suchalgorithmus, der nach mehreren Begriffen oder Mustern gleichzeitig in Textdaten suchen kann (hier zur dynamischen Bevorzugung bestimmter Schlüsselwörter genutzt).
Loudness Range: Ein quantitatives Maß für die Dynamik und den Amplitudenbereich der Lautstärke eines Audiosignals über die Zeit.
WASI (WebAssembly System Interface): Eine standardisierte Systemschnittstelle, die es WebAssembly-Anwendungen ermöglicht, sicher und unabhängig vom Browser auf Betriebssystemressourcen zuzugreifen.