Traduzione automatica · Originale inglese

Speech Core

Open-source C++17 motore vocale per gli agenti vocali — rilevamento delle attività vocali, batch e in tempo reale streaming vocale-to-text, diarizzazione dei diffusori e text-to-speech, tutto in esecuzione on-device su Linux, Windows e Android. Apache 2.0.

Che cosa è

Speech Core è un piccolo nucleo di orchestrazione — macchina statale, rilevamento di turno, gestione di interruzioni, utilità audio, con zero dipendenze ML — più un insieme di interfacce asatte per i modelli di discorso. L'inferenza funziona localmente su CPU; l'audio non lascia mai la macchina, e non c'è Python al tempo di inferenza.

Piattaforme e backend

IndietroPiattaformeAccelerazione hardware
ONNX Runtime (SPEECH_CORE_WITH_ONNX)Linux, macOS, Windows, AndroidNNAPI su Android, QNN su Qualcomm Linux opzionale NVIDIA CUDA / TensorRT (-DSPEECH_CORE_WITH_CUDA=ON)
LiteRT (SPEECH_CORE_WITH_LITERT)Linux x86_64, Windows x86_64, Android, macOS arm64CPU oggi

Abilitare sia backend, sia, o nemmeno — il nucleo di orchestrazione si costruisce senza runtime ML affatto.

Modelli supportati

ModelloCompitiONNXLiteRT
Silero VAD v5Rilevamento delle attività vocali✓✓
Smart Turn v3.2Rilevamento di fine turno (23 lingue)✓—
Parakeet TDT v3 (0.6B)Discorso-testo (114 lingue)✓✓
Nemotron Streaming vocale (0.6B)Streaming vocale-to-text (inglese)✓✓
Nemotron-3.5 ASR Streaming multilingue (0.6B)Streaming vocale-to-text (multilingue, prontamente condizionata)✓✓
Whisper Piccola v3Discussione-testo (multilingue Whisper v3✓—
Whisper Media v3Discussione-testo (multilingue Whisper v3✓—
Whisper grande v3Discussione-testo (multilingue Whisper v3✓—
Whisper Large-v3 TurboDiscussione-testo (multilingue Whisper v3✓—
Omnilingual ASR CTC (300M)Discorso-testo (multilingue)—✓
FunctionGemma 270MOn-device LLM — funzione strutturata / chiamate degli strumenti (LiteRT-LM; CoreML—✓
Pyannote Segmentazione 3.0Diarizzazione (segmentazione)—✓
WeSpeaker ResNet34-LMEmbedded del diffusore—✓
VoxCPM2 (2B)Text-to-speech (48 kHz, clonazione vocale)—✓
Kokoro 82Testo a segno✓—
Pocket TTS 100Streaming di testo-to-speech (Inglese, voce fissa Alba)✓—
DeepFilterNet3Miglioramento del discorso✓—
PersonaPlex 7Discorso-speech (CUDA)✓—

Avvio rapido

Costruisci il nucleo più il backend LiteRT (la libreria runtime viene estratta dalla ruota ai-edge-litert — no 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

Quindi collegare gli obiettivi di cui hai bisogno:

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

Transcribing un buffer audio è un paio di linee:

#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

Una costruzione di riferimento Linux — libspeech.so con un piccolo C ABI, un ALSA demo CLI, e strumenti di trascrizione/synthesize/phonemize — vive a esempi/linux. Si rivolge a ARM64 incorporato (Yocto, Qualcomm SA8295P / SA8255P) e qualsiasi Linux scatola di dev. Linux guida per l'avviamento.

Costruire per Android o Apple?

Su Android, utilizzare speech-android — un Kotlin SDK che imballa Speech Core dietro un ponte JNI (implementation("audio.soniqo:speech:0.0.9")). Su macOS e iOS, utilizzare speech-swift, che gestisce i modelli su CoreML, MLX e Apple Neural Engine.

Documentazione

Feedback

Aprire un problema github.com / soniqo/speech-core /problemi, o unisciti al Discordia.