Automatische vertaling · Engels origineel
Spraakkern
Open-source C++17 spraakengine voor spraak-agenten, spraakactiviteit detectie, batch en real-time streaming spraak-naar-tekst, luidspreker diarization en tekst-naar-spraak, die allemaal op Linux, Windows, en Android. Apache 2.0.
Wat het is.
Speech Core is een kleine orkestratie core-staatsmachine, draaidetectie, onderbrekingsbehandeling, audio-hulpprogramma's, met nul ML afhankelijkheden en een verzameling abstracte interfaces voor spraakmodellen. Invloed wordt lokaal uitgevoerd op CPU; audio verlaat nooit de machine, en er is geen Python op het moment van de interferentie. Modelinferentie is opt-in via twee verwisselbare backends die je onafhankelijk kunt inschakelen, of je kunt je eigen implementaties van de interfaces meenemen.
- Stem-agent orkestratie —
VoicePipelinecomponeert VAD, streaming STT, een LLM en TTS tot een full-duplex agent loop met binnenschip-in, draai detectie en een tool-call loop. docs/pipeline.md en de spraakdragers overzicht. - Diaratie van de luidspreker in pure C++ —
DiarizationPipelinecomponeert een segmenter en een inbedder in speaker-gelabelde segmenten, zonder ML-runtime afhankelijkheid van zijn eigen. - Powers the rest of the stack speech-android is een Kotlin SDK + JNI-brug over spraakkern en Speech Studio gebruikt zijn LiteRT VoxCPM2 motor op Windows en Linux. Op Apple-platforms is de bibliotheek speech-swift.
Platforms en backends
| Backend | Platforms | Hardwareversnelling |
|---|---|---|
ONNX Runtime (SPEECH_CORE_WITH_ONNX) | Linux, macOS, Windows, Android | NNAPI op Android, QNN op Qualcomm Linux, optioneel NVIDIA CUDA / TensorRT (-DSPEECH_CORE_WITH_CUDA=ON) |
LiteRT (SPEECH_CORE_WITH_LITERT) | Linux x86_64, Windows x86_64, Android, macOS arm64 | CPU vandaag |
Schakel ofwel backend, beide, of geen van beide in de orkestratie kern bouwt zonder ML runtime helemaal.
Ondersteunde modellen
| Model | Taak | ONNX | LiteRT |
|---|---|---|---|
| Silero VAD v5 | Detectie van spraakactiviteit | ✓ | ✓ |
| Smart Turn v3.2 | Detectie aan het einde van de bocht (23 talen) | ✓ | — |
| Parakeet TDT v3 (0.6B) | Speech-to-text (114 talen) | ✓ | ✓ |
| Nemotron Speech Streaming (0.6B) | Streaming speech-to-text (Engels) | ✓ | ✓ |
| Nemotron-3.5 ASR Streaming Multilingual (0,6B) | Streaming speech-to-text (meertalig, prompt-conditioning) | ✓ | ✓ |
| Whisper Klein v3 | Speech-to-text (meertalig Whisper v3) | ✓ | — |
| Whisper Medium v3 | Speech-to-text (meertalig Whisper v3) | ✓ | — |
| Whisper Large v3 | Speech-to-text (meertalig Whisper v3) | ✓ | — |
| Whisper Large-v3 Turbo | Speech-to-text (meertalig Whisper v3) | ✓ | — |
| Omnilingual ASR CTC (300M) | Speech-to-text (meertalig) | — | ✓ |
| FunctionGemma 270M | On-device LLM Gestructureerde functie / tool calls (LiteRT-LM; CoreML op Apple) | — | ✓ |
| Pyannote Segmentatie 3,0 | Diarisatie (segmentatie) | — | ✓ |
| WeSpeaker ResNet34-LM | Inbedding van de luidspreker | — | ✓ |
| VoxCPM2 (2B) | Tekst-tot-spraak (48 kHz, stemklonen) | — | ✓ |
| Kokoro 82M | Tekst-tot-spraak | ✓ | — |
| Pocket TTS 100M | Streaming text-to-speech (Engels, vaste Alba-stem) | ✓ | — |
| DeepFilterNet3 | Spraakverbetering | ✓ | — |
| PersonaPlex 7B | Volledig duplex speech-to-speech (CUDA) | ✓ | — |
Snel starten
Bouw de kern plus het LiteRT backend (de runtime bibliotheek wordt uit het ai-edge-litert wiel gehaald ..geen 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
Koppel vervolgens de doelen die u nodig hebt:
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
Een audiobuffer is een paar regels:
#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
Een verwijzing naar Linux build libspeech.so met een kleine C ABI, een ALSA demo CLI, en transcribe/synthesize/phonemize tools leven op voorbeelden/linux. Het richt zich op ingebed ARM64 (Yocto, Qualcomm SA8295P / SA8255P) en elke Linux dev box. Linux handleiding voor het starten van een start.
Op Android, gebruik speech-android een Kotlin SDK die Speech Core achter een JNI-brug verpakt (implementation("audio.soniqo:speech:0.0.9")).Op macOS en iOS gebruik speech-swift, die de modellen draait op CoreML, MLX en de Apple Neural Engine.
Documentatie
- docs/ volledige in-repo documentatie
- docs/pipeline.md › de
VoicePipelinestate machine, AEC integratie, en gereedschap-aanroep loop - docs/models.md volledige modelinventaris
- Soniqo ONNX collectie — Whisper, Kokoro, DeepFilterNet3, PersonaPlex, andere ONNX bundels
- huggingface.co/soniqo andere modelgewichten (ONNX, LiteRT)
Terugkoppeling
Open een probleem op github.com/soniqo/speech-core/issues, of sluit je aan bij de Discord.