speech-core
speech-core ist eine C++17 On-Device-Voice-Agent-Pipeline-Engine für VAD, Streaming- und Batch-Spracherkennung, Diarisierung und Text-to-Speech ohne Cloud-Inferenz.
Was ist speech-core?
speech-core ist eine C++17-Voice-Agent-Pipeline-Engine zum Erstellen von Sprachanwendungen auf dem Gerät für Linux, Windows, Android und über ein Swift-Schwestersystem für Apple-Plattformen. Sie kombiniert einen schlanken Orchestrierungs-Kern mit optionalen Modell-Backends für Voice Activity Detection, Streaming- und Batch-Spracherkennung, Sprecherdiarisierung, Text-to-Speech und verwandte Audioverarbeitungsaufgaben.
Das Projekt ist darauf ausgelegt, lokal auf der CPU zu laufen, ohne Daten in die Cloud zu senden und ohne Python zur Inferenzzeit zu benötigen. Seine Architektur trennt die Orchestrierungsschicht von der Modellausführung, sodass Entwickler die mitgelieferten ONNX-Runtime- oder LiteRT-Backends verwenden oder sie durch eigene Implementierungen hinter den bereitgestellten Schnittstellen ersetzen können.
Hauptfunktionen
- C++17-Orchestrierungskern für Zustandsverwaltung, Turn-Erkennung, Unterbrechungsbehandlung und Audio-Dienstprogramme, selbst ohne Abhängigkeit von einer ML-Runtime.
- Optionales ONNX-Runtime-Backend für Modelle wie Silero VAD, Parakeet STT, Nemotron Streaming STT, Kokoro TTS, DeepFilterNet3 und PersonaPlex 7B Speech-to-Speech.
- Optionales LiteRT-Backend auf Basis von Googles
ai-edge-litert, mit Silero VAD, Parakeet STT, Nemotron Streaming STT, Omnilingual STT, Pyannote-Diarisierung, WeSpeaker-Embeddings und VoxCPM2 TTS. - Unterstützung für Batch-Transkription und Echtzeit-Streaming-Transkription mit Teilergebnissen, einschließlich prompt-bedingter multilingualer Streaming-ASR im LiteRT-Pfad.
- In reinem C++ implementierte Sprecherdiarisierungs-Pipeline, die Segmentierer und Embedder zu sprecherbeschrifteten Segmenten kombiniert.
- Plattform- und Beschleunigungsunterstützung für Linux-, Windows-, Android- und macOS-Ziele, mit backend-spezifischen Hardwarebeschleunigungsoptionen wie Android NNAPI und ONNX-GPU-bezogenen Providern.
So verwenden Sie speech-core
Typischerweise beginnen Sie, indem Sie das Repository klonen, bei Bedarf die LiteRT-Runtime abrufen und das Projekt mit CMake sowie dem gewünschten Backend konfigurieren. Danach binden Sie entweder das reine Orchestrierungsziel oder eines der Modellziele in Ihre Anwendung ein.
Zur Laufzeit instanziieren Sie die benötigte Modellklasse, verweisen sie auf die relevanten Modelldateien und rufen die passenden Transkriptions- oder Streaming-Methoden für Audio-Puffer oder Mikrofon-Chunks auf. Dasselbe Grundmuster gilt, egal ob Sie VAD, STT, Diarisierung oder TTS verwenden.
Anwendungsfälle
- Aufbau eines lokalen Sprachassistenten, der Turn-Erkennung, Unterbrechungsbehandlung und Streaming-Transkription ohne Senden von Audio an einen Cloud-Dienst benötigt.
- Ergänzen einer Desktop- oder Mobil-App um Spracherkennung, wenn die Anwendung vollständig auf dem Gerät laufen und die Inferenz in C++ halten soll.
- Implementierung von Live-Untertiteln oder partiellen Transkript-Updates aus Mikrofoneingaben mit den Streaming-STT-Schnittstellen.
- Erstellen eines sprecherbewussten Transkriptions-Workflows, der Audio segmentiert und Sprecher für Meetings, Interviews oder Aufnahmen kennzeichnet.
- Zusammenstellen eines Voice-Agent-Stacks, der VAD, STT, TTS und Verbesserungs- oder Cloning-Modelle über dieselbe Orchestrierungsschicht kombiniert.
FAQ
Benötigt speech-core zur Inferenzzeit Python? Nein. Das Projekt ist so beschrieben, dass es lokal auf der CPU läuft und zur Inferenzzeit kein Python benötigt.
Welche Plattformen werden unterstützt? Das Repository nennt ausdrücklich Linux, Windows und Android und verweist für Apple-Unterstützung auf ein separates Swift-Schwestersystem. Die Plattformtabelle nennt außerdem macOS-Ziele für die Backends.
Kann ich nur die Orchestrierungsschicht ohne die eingebauten Modelle verwenden? Ja. Der Kern ist von den Modell-Backends getrennt, und Anwender können ONNX, LiteRT, beides oder keines von beiden aktivieren oder eigene Implementierungen hinter den Schnittstellen bereitstellen.
Unterstützt es sowohl Batch- als auch Streaming-Transkription? Ja. Die Quelle zeigt sowohl Batch-Transkription als auch Echtzeit-Streaming-Transkription mit Teilergebnissen.
Läuft es vollständig auf dem Gerät? Das ist das vorgesehene Design, das im Repository beschrieben wird. Die Dokumentation sagt, dass das System lokal auf der CPU läuft und keine Daten das Gerät verlassen.
Alternativen
- Eine benutzerdefinierte C++-Audio-Pipeline auf Basis getrennter VAD-, ASR-, Diarisierungs- und TTS-Bibliotheken. Das kann für Teams passen, die jede Komponente unabhängig austauschen wollen, erfordert aber mehr Integrationsaufwand als die gebündelte Orchestrierung von speech-core.
- Ein Speech-Stack mit Python-Fokus und gängigen ML-Inferenzbibliotheken. Dieser Ansatz kann für Experimente einfacher sein, erreicht aber nicht den C++17- und On-Device-Laufzeitfokus von speech-core.
- Eine Cloud-Speech-API oder ein gehosteter Voice-Assistant-Dienst. Diese reduzieren den Aufwand für die lokale Bereitstellung, verändern aber den Workflow, da Audio an einen externen Dienst gesendet wird, statt die Inferenz auf dem Gerät auszuführen.
- Ein plattformspezifisches natives Speech-Framework für Android, Windows oder Apple-Plattformen. Diese lassen sich gut in ein einzelnes Ökosystem integrieren, während speech-core als plattformübergreifender C++-Kern mit austauschbaren Backends positioniert ist.
Alternativen
Speech to Text Converter Online
Ein kostenloses Online-Tool, das Audio- und Videodateien in präzise Texttranskripte in über 45 Sprachen umwandelt. Es unterstützt zahlreiche Dateiformate und erfordert keine Downloads oder Anmeldungen.
Sanota
Sanota verwandelt deine Stimme in klare, schöne Texte – damit du Erinnerungen und Ideen einfach festhältst. Starte kostenlos.
Carbon Voice
Carbon Voice ist eine asynchrone Voice-Messaging-App für Teams, die Menschen und KI-Agenten an einem Ort vereint. Nachrichten auf Desktop, Mobilgerät und Watch.
OpenAI Realtime API
Erstelle Low-Latency, multimodale Voice- und Realtime-Audio-Erlebnisse mit der OpenAI Realtime API – inkl. Browser-Voice-Agents und Realtime-Transkription.
Pewbeam
Pewbeam hört beim Predigen zu, erkennt Bibelverse in Echtzeit und zeigt sie sofort auf dem Bildschirm – für Pastoren & Projektionsteams, ohne Tippen.
MiniCPM-o 4.5
MiniCPM-o 4.5 ist ein äußerst leistungsfähiges multimodales KI-Modell, das für Vision, Sprache und voll-duplex Live-Streaming entwickelt wurde. Es bietet fortschrittliches visuelles Verständnis, Sprachsynthese und Echtzeit-Interaktivitätsfähigkeiten in einer kompakten Architektur mit 9 Milliarden Parametern.