Speech Core

Open-Source-C++17-Sprach-Engine für Sprachagenten — Sprachaktivitätserkennung, Sprache-zu-Text im Batch- und Echtzeit-Streaming-Betrieb, Sprecherdiarisierung und Text-zu-Sprache, alles lokal auf Linux, Windows und Android. Apache 2.0.

Was es ist

Speech Core ist ein kleiner Orchestrierungskern — State Machine, Turn-Erkennung, Unterbrechungsbehandlung, Audio-Utilities, ganz ohne ML-Abhängigkeiten — plus ein Satz abstrakter Interfaces für Sprachmodelle. Die Inferenz läuft lokal auf der CPU; Audio verlässt nie den Rechner, und zur Inferenzzeit gibt es kein Python. Modell-Inferenz ist optional zuschaltbar über zwei austauschbare Backends, die sich unabhängig voneinander aktivieren lassen — oder du bringst eigene Implementierungen der Interfaces mit.

Plattformen & Backends

BackendPlattformenHardware-Beschleunigung
ONNX Runtime (SPEECH_CORE_WITH_ONNX)Linux, macOS, Windows, AndroidNNAPI unter Android, QNN auf Qualcomm-Linux, optional NVIDIA CUDA / TensorRT (-DSPEECH_CORE_WITH_CUDA=ON)
LiteRT (SPEECH_CORE_WITH_LITERT)Linux x86_64, Windows x86_64, Android, macOS arm64Derzeit CPU

Aktiviere eines der Backends, beide oder keines — der Orchestrierungskern baut auch ganz ohne ML-Runtime.

Unterstützte Modelle

ModellAufgabeONNXLiteRT
Silero VAD v5Sprachaktivitätserkennung
Parakeet TDT v3 (0.6B)Sprache-zu-Text (114 Sprachen)
Nemotron Speech Streaming (0.6B)Streaming-Sprache-zu-Text (Englisch)
Nemotron-3.5 ASR Streaming Multilingual (0.6B)Streaming-Sprache-zu-Text (mehrsprachig, prompt-konditioniert)
Omnilingual ASR CTC (300M)Sprache-zu-Text (mehrsprachig)
Pyannote Segmentation 3.0Diarisierung (Segmentierung)
WeSpeaker ResNet34-LMSprechereinbettung
VoxCPM2 (2B)Text-zu-Sprache (48 kHz, Stimmklonen)
Kokoro 82MText-zu-Sprache
DeepFilterNet3Sprachverbesserung
PersonaPlex 7BVollduplex-Sprache-zu-Sprache (CUDA)

Schnellstart

Baue den Kern plus das LiteRT-Backend (die Runtime-Bibliothek wird aus dem ai-edge-litert-Wheel extrahiert — kein TensorFlow-Build):

git clone https://github.com/soniqo/speech-core && cd speech-core
scripts/fetch_litert.sh build/litert
cmake -B build -DCMAKE_BUILD_TYPE=Release \
    -DSPEECH_CORE_WITH_LITERT=ON -DLITERT_DIR=$PWD/build/litert
cmake --build build

Dann verlinke die Targets, die du brauchst:

target_link_libraries(my_app PRIVATE speech_core)                            # orchestration only
target_link_libraries(my_app PRIVATE speech_core speech_core_models)         # + ONNX models
target_link_libraries(my_app PRIVATE speech_core speech_core_models_litert)  # + LiteRT models

Einen Audio-Puffer zu transkribieren ist eine Sache weniger Zeilen:

#include <speech_core/models/litert_parakeet_stt.h>

speech_core::LiteRTParakeetStt stt(
    "parakeet-encoder.tflite", "parakeet-decoder-joint.tflite", "vocab.json");

auto r = stt.transcribe(audio, n_samples, 16000);   // r.text / r.language / r.confidence
Embedded- & Automotive-Linux

Ein Referenz-Linux-Build — libspeech.so mit kleiner C-ABI, eine ALSA-Demo-CLI und Werkzeuge zum Transkribieren/Synthetisieren/Phonemisieren — liegt unter examples/linux. Er zielt auf embedded ARM64 (Yocto, Qualcomm SA8295P / SA8255P) und jede Linux-Entwicklungsmaschine. Die Einrichtungsschritte stehen in der Anleitung Erste Schritte — Linux.

Du entwickelst für Android oder Apple?

Unter Android nutzt du speech-android — ein Kotlin-SDK, das Speech Core hinter einer JNI-Brücke verpackt (implementation("audio.soniqo:speech:0.0.9")). Unter macOS und iOS nutzt du speech-swift, das die Modelle auf CoreML, MLX und der Apple Neural Engine ausführt.

Dokumentation

Feedback

Issue eröffnen unter github.com/soniqo/speech-core/issues — oder tritt dem Discord bei.