Speech Core

Ses ajanları için açık kaynak C++17 konuşma motoru — ses etkinliği algılama, toplu ve gerçek zamanlı akışlı konuşmadan metne, konuşmacı ayrıştırma ve metinden konuşmaya; tamamı Linux, Windows ve Android üzerinde cihaz üstü çalışır. Apache 2.0.

Nedir

Speech Core, küçük bir orkestrasyon çekirdeği — durum makinesi, söz sırası algılama, kesinti yönetimi, ses yardımcı araçları, sıfır ML bağımlılığı — ve buna ek olarak konuşma modelleri için bir dizi soyut arayüzdür. Çıkarım, CPU üzerinde yerel olarak çalışır; ses asla makineden çıkmaz ve çıkarım sırasında Python yoktur. Model çıkarımı, birbirinden bağımsız etkinleştirebileceğiniz iki değiştirilebilir backend üzerinden isteğe bağlıdır; dilerseniz arayüzlerin kendi gerçekleştirimlerinizi de kullanabilirsiniz.

Platformlar ve backend'ler

BackendPlatformlarDonanım hızlandırma
ONNX Runtime (SPEECH_CORE_WITH_ONNX)Linux, macOS, Windows, AndroidAndroid'de NNAPI, Qualcomm Linux'ta QNN, isteğe bağlı NVIDIA CUDA / TensorRT (-DSPEECH_CORE_WITH_CUDA=ON)
LiteRT (SPEECH_CORE_WITH_LITERT)Linux x86_64, Windows x86_64, Android, macOS arm64Şimdilik CPU

Backend'lerden birini, ikisini veya hiçbirini etkinleştirin — orkestrasyon çekirdeği hiçbir ML çalışma zamanı olmadan da derlenir.

Desteklenen modeller

ModelGörevONNXLiteRT
Silero VAD v5Ses etkinliği algılama✓✓
Smart Turn v3.2Konuşma sırası sonu algılama (23 dil)✓—
Parakeet TDT v3 (0.6B)Konuşmadan metne (114 dil)✓✓
Nemotron Speech Streaming (0.6B)Akışlı konuşmadan metne (İngilizce)✓✓
Nemotron-3.5 ASR Streaming Multilingual (0.6B)Akışlı konuşmadan metne (çok dilli, prompt ile koşullandırılmış)✓✓
Whisper Small v3konuşmadan metne (çok dilli Whisper v3)✓—
Whisper Medium v3konuşmadan metne (çok dilli Whisper v3)✓—
Whisper Large v3konuşmadan metne (çok dilli Whisper v3)✓—
Whisper Large-v3 Turbokonuşmadan metne (çok dilli Whisper v3)✓—
Omnilingual ASR CTC (300M)Konuşmadan metne (çok dilli)—✓
Pyannote Segmentation 3.0Konuşmacı ayrıştırma (bölütleme)—✓
WeSpeaker ResNet34-LMKonuşmacı gömmesi—✓
VoxCPM2 (2B)Metinden konuşmaya (48 kHz, ses klonlama)—✓
Kokoro 82MMetinden konuşmaya✓—
Pocket TTS 100MAkışlı metinden konuşmaya (İngilizce, sabit Alba sesi)✓—
DeepFilterNet3Konuşma iyileştirme✓—
PersonaPlex 7BTam çift yönlü konuşmadan konuşmaya (CUDA)✓—

Hızlı başlangıç

Çekirdeği LiteRT backend'i ile birlikte derleyin (çalışma zamanı kütüphanesi ai-edge-litert wheel'inden çıkarılır — TensorFlow derlemesi gerekmez):

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

Ardından ihtiyacınız olan hedefleri bağlayın:

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

Bir ses arabelleğini metne dönüştürmek birkaç satırdan ibaret:

#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
Gömülü ve otomotiv Linux

Referans bir Linux yapısı — küçük bir C ABI'ına sahip libspeech.so, bir ALSA demo CLI'ı ve transcribe/synthesize/phonemize araçları — examples/linux altında bulunur. Gömülü ARM64'ü (Yocto, Qualcomm SA8295P / SA8255P) ve herhangi bir Linux geliştirme makinesini hedefler. Kurulum adımları Linux başlangıç kılavuzunda yer alır.

Android veya Apple için mi geliştiriyorsunuz?

Android'de speech-android'i kullanın — Speech Core'u bir JNI köprüsünün arkasında paketleyen bir Kotlin SDK (implementation("audio.soniqo:speech:0.0.9")). macOS ve iOS'ta ise modelleri CoreML, MLX ve Apple Neural Engine üzerinde çalıştıran speech-swift'i kullanın.

Belgeler

Geri Bildirim

github.com/soniqo/speech-core/issues üzerinden issue açın veya Discord'a katılın.