Maskinoversettelse · Engelsk original
Speech Core
Open-source C++17 talemotor for talemidler - deteksjon av taleaktivitet, batch og sanntidsstreaming tale-til-tekst, høyttaler-diarisering og tekst-til-speech, alle kjører on-device på Linux, Windows, og Android. Apache 2.0.
Hva det er
Tale Core er en liten orkesterkjerne - tilstandsmaskin, slå deteksjon, avbruddshåndtering, lydverktøy, med null ML avhengighet - pluss et sett av abstrakte grensesnitt for talemodeller. Inferens kjører lokalt på CPU; lyden forlater aldri maskinen, og det er ingen Python på intens tid. Modelinferensen er opt-in gjennom to utskiftbare motorer du kan aktivere uavhengig, eller du kan bringe dine egne implementeringer av grensesnittene.
- Voice-agent-orkester —
VoicePipelinebestår VAD, streaming STT, en LLM, og TTS i en fulldupleks agent-sløyfe med grille-in, dreie deteksjon og en verktøy-kall-sløyf. Se docs/pipeline.md og voice agents oversikt. - Speaker diarisering i ren C++ —
DiarizationPipelinebestår av en segmenter og en innebygd i høyttalermerkede segmenter, uten ML-drift avhengighet av egen. - Styrker resten av stabelen — speech-android er en Kotlin SDK + JNI bro over talekjerne, og Speech Studio bruker LiteRT VoxCPM2-motoren på Windows og Linux. På Apple-plattformene er søskenbiblioteket speech-swift.
Platforms & - bakstykker
| Motor | Plattformene | Maskinvareakselerasjon |
|---|---|---|
ONNX Runtime (SPEECH_CORE_WITH_ONNX) | Linux, macOS, Windows, Android | NAPI på Android, QNN på Qualcomm Linux, valgfri NVIDIA CUDA / TensorRT (-DSPEECH_CORE_WITH_CUDA=ON) |
LiteRT (SPEECH_CORE_WITH_LITERT) | Linux x86_64, Windows x86_64, Android, macOS arm64 | CPU i dag |
Aktiver enten backend, både eller heller ikke - orkesterkjernen bygger uten ML-kjøringstid i det hele tatt.
Støttede modeller
| Modell | Oppgave | ONNX | LiteRT |
|---|---|---|---|
| Silero VAD v5 | Deteksjon av stemmeaktivitet | ✓ | ✓ |
| Smart Turn v3.2 | Deteksjon av slutt på turn (23 språk) | ✓ | — |
| Parakeet TDT v3 (0,6B) | Tale-til-tekst (114 språk) | ✓ | ✓ |
| Nemotron Talestrømming (0.6B) | Streaming tale-til-tekst (engelsk) | ✓ | ✓ |
| Nemotron-3.5 ASR Strømming Flerspråklig (0,6B) | Streaming tale-til-tekst (fleirtyding, hurtigkvalifisert) | ✓ | ✓ |
| Whisper Liten v3 | Tale-til-tekst (flerspråklig Whisper v3) | ✓ | — |
| Whisper Medium v3 | Tale-til-tekst (flerspråklig Whisper v3) | ✓ | — |
| Whisper Stor v3 | Tale-til-tekst (flerspråklig Whisper v3) | ✓ | — |
| Whisper Large-v3 Turbo | Tale-til-tekst (flerspråklig Whisper v3) | ✓ | — |
| Omnilingual ASR CTC (300M) | Tale-til-tekst (flerspråklig) | — | ✓ |
| FunctionGemma 270M | On-device LLM - strukturert funksjon / verktøysamtaler (LiteRT-LM; CoreML på Apple) | — | ✓ |
| Pyannote Segmentering 3.0 | Diarisering (segmentering) | — | ✓ |
| WeSpeaker ResNet34-LM | Høyttalerinnbygging | — | ✓ |
| VoxCPM2 (2B) | Tekst-til-speech (48 kHz, stemmekloning) | — | ✓ |
| Kokoro 82M | Tekst-til-speech | ✓ | — |
| Pocket TTS 100M | Streaming tekst-til-speech (engelsk, fast Alba stemme) | ✓ | — |
| DeepFilterNet3 | Taleforbedring | ✓ | — |
| PersonaPlex 7B | Full-duplex tale-til-speech (CUDA) | ✓ | — |
Rask start
Bygg kjernen pluss LiteRT-bakstykket (kjøretidsbiblioteket ekstraheres fra ai-edge-litert-hjulet - ingen TensorFlow-bygg):
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
Deretter koble de målene du trenger:
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
Å transkribere en lydbuffer er et par linjer:
#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
En referanse Linux-bygging - libspeech.so med en liten C ABI, en ALSA demo CLI, og transskriber/synthesize/phonomize verktøy - liv på eksempler/linux. Den mål innebygd ARM64 (Yocto, Qualcomm SA8295P / SA8255P) og enhver Linux dev-boks. Linux kommer i gang guide.
På Android, bruk speech-android — en Kotlin SDK som pakker Tale Core bak en JNI bro (implementation("audio.soniqo:speech:0.0.9")). På macOS og iOS, bruk speech-swift, som kjører modellene på CoreML, MLX og Apple Neural Engine.
Dokumentasjon
- docs/ — full dokumentasjon i repo
- docs/pipeline.md —
VoicePipelinetilstandsmaskin, AEC integrasjon og verktøy-samtale sløyfe - docs/models.md - full modell inventar
- Soniqo ONNX samling — Whisper, Kokoro, DeepFilterNet3, PersonaPlex, og andre ONNX bunter
- huggingface.co/soniqo - konverterte modellvekter (ONNX, LiteRT)
Tilbakemelding
Åpne et problem på github.com/soniqo/speech-core/utsteder, eller bli med i Disord.