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
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ış)
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
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.