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.

Platforms & - bakstykker

Motor Plattformene Maskinvareakselerasjon
ONNX Runtime (SPEECH_CORE_WITH_ONNX)Linux, macOS, Windows, AndroidNAPI 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 arm64CPU i dag

Aktiver enten backend, både eller heller ikke - orkesterkjernen bygger uten ML-kjøringstid i det hele tatt.

Støttede modeller

Modell OppgaveONNXLiteRT
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 v3Tale-til-tekst (flerspråklig Whisper v3)✓—
Whisper Medium v3Tale-til-tekst (flerspråklig Whisper v3)✓—
Whisper Stor v3Tale-til-tekst (flerspråklig Whisper v3)✓—
Whisper Large-v3 TurboTale-til-tekst (flerspråklig Whisper v3)✓—
Omnilingual ASR CTC (300M)Tale-til-tekst (flerspråklig)—✓
FunctionGemma 270MOn-device LLM - strukturert funksjon / verktøysamtaler (LiteRT-LM; CoreML på Apple)—✓
Pyannote Segmentering 3.0Diarisering (segmentering)—✓
WeSpeaker ResNet34-LM Høyttalerinnbygging—✓
VoxCPM2 (2B) Tekst-til-speech (48 kHz, stemmekloning)—✓
Kokoro 82M Tekst-til-speech✓—
Pocket TTS 100MStreaming tekst-til-speech (engelsk, fast Alba stemme)✓—
DeepFilterNet3Taleforbedring✓—
PersonaPlex 7BFull-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
Embedded & bil Linux

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.

Bygging for Android eller Apple?

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

Tilbakemelding

Åpne et problem på github.com/soniqo/speech-core/utsteder, eller bli med i Disord.