Speech Core

محرك كلام C++17 مفتوح المصدر للوكلاء الصوتيين — كشف النشاط الصوتي، تفريغ الكلام دفعةً وبثّاً في الزمن الحقيقي، التقسيم حسب المتحدّث، وتحويل النص إلى كلام، كل ذلك يعمل على الجهاز على Linux وWindows وAndroid. Apache 2.0.

ما هو

Speech Core هو نواة تنسيق صغيرة — آلة حالات، كشف الأدوار في الحوار، معالجة المقاطعات، وأدوات صوتية، دون أي اعتماديات تعلّم آلي — إضافةً إلى مجموعة من الواجهات المجرّدة لنماذج الكلام. يجري الاستدلال محلياً على المعالج؛ لا يغادر الصوت الجهاز أبداً، ولا وجود لـ Python وقت الاستدلال. استدلال النماذج اختياري عبر خلفيتين قابلتين للتبديل يمكن تفعيل كلٍّ منهما على حدة، أو يمكنك تقديم تنفيذاتك الخاصة للواجهات.

المنصّات والخلفيات

الخلفيةالمنصّاتتسريع العتاد
ONNX Runtime (SPEECH_CORE_WITH_ONNX)Linux وmacOS وWindows وAndroidNNAPI على Android، وQNN على Qualcomm Linux، وNVIDIA CUDA / TensorRT اختياري (-DSPEECH_CORE_WITH_CUDA=ON)
LiteRT (SPEECH_CORE_WITH_LITERT)Linux x86_64 وWindows x86_64 وAndroid وmacOS arm64المعالج حالياً

فعّل أياً من الخلفيتين أو كلتيهما أو لا شيء منهما — نواة التنسيق تُبنى دون أي بيئة تشغيل تعلّم آلي على الإطلاق.

النماذج المدعومة

النموذجالمهمةONNXLiteRT
Silero VAD v5كشف النشاط الصوتي
Parakeet TDT v3 (0.6B)من الكلام إلى النص (114 لغة)
Nemotron Speech Streaming (0.6B)تفريغ كلام بثّي (الإنجليزية)
Nemotron-3.5 ASR Streaming Multilingual (0.6B)تفريغ كلام بثّي (متعدد اللغات، موجَّه بالـ prompt)
Omnilingual ASR CTC (300M)من الكلام إلى النص (متعدد اللغات)
Pyannote Segmentation 3.0تقسيم حسب المتحدّث (تجزئة)
WeSpeaker ResNet34-LMتضمين المتحدّث
VoxCPM2 (2B)من النص إلى الكلام (48 kHz، استنساخ الصوت)
Kokoro 82Mمن النص إلى الكلام
DeepFilterNet3تحسين الكلام
PersonaPlex 7Bكلام إلى كلام ثنائي الاتجاه كامل (CUDA)

البدء السريع

ابنِ النواة مع خلفية LiteRT (تُستخرج مكتبة بيئة التشغيل من حزمة ai-edge-litert wheel — دون بناء TensorFlow):

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

ثم اربط الأهداف التي تحتاجها:

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

تفريغ مخزن صوتي يستغرق بضعة أسطر فقط:

#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
Linux المضمّن وأنظمة السيارات

بناء Linux مرجعي — libspeech.so مع واجهة C ABI صغيرة، وCLI تجريبي لـ ALSA، وأدوات للتفريغ والتركيب والتحويل الصوتي — موجود في examples/linux. يستهدف ARM64 المضمّن (Yocto، وQualcomm SA8295P / SA8255P) وأي جهاز تطوير Linux. خطوات الإعداد في دليل البدء على Linux.

تبني لـ Android أو Apple؟

على Android، استخدم speech-android — SDK بلغة Kotlin يغلّف Speech Core خلف جسر JNI (implementation("audio.soniqo:speech:0.0.9")). على macOS وiOS، استخدم speech-swift الذي يشغّل النماذج على CoreML وMLX وApple Neural Engine.

التوثيق

الملاحظات

افتح issue على github.com/soniqo/speech-core/issues، أو انضم إلى Discord.