Speech Core

Engine giọng nói C++17 mã nguồn mở cho tác nhân giọng nói — phát hiện hoạt động giọng nói, chuyển giọng nói thành văn bản theo lô và streaming thời gian thực, phân tách người nói và chuyển văn bản thành giọng nói, tất cả chạy trên thiết bị trên Linux, Windows và Android. Apache 2.0.

Speech Core là gì

Speech Core là một lõi điều phối nhỏ gọn — máy trạng thái, phát hiện lượt nói, xử lý ngắt lời, các tiện ích âm thanh, hoàn toàn không phụ thuộc ML — cùng một bộ interface trừu tượng cho các mô hình giọng nói. Suy luận chạy cục bộ trên CPU; âm thanh không bao giờ rời khỏi máy, và không có Python khi suy luận. Suy luận mô hình là tùy chọn (opt-in) thông qua hai backend hoán đổi được mà bạn có thể bật độc lập, hoặc bạn tự mang theo hiện thực của các interface này.

Nền tảng và backend

BackendNền tảngTăng tốc phần cứng
ONNX Runtime (SPEECH_CORE_WITH_ONNX)Linux, macOS, Windows, AndroidNNAPI trên Android, QNN trên Linux Qualcomm, tùy chọn NVIDIA CUDA / TensorRT (-DSPEECH_CORE_WITH_CUDA=ON)
LiteRT (SPEECH_CORE_WITH_LITERT)Linux x86_64, Windows x86_64, Android, macOS arm64Hiện tại: CPU

Bật một backend, cả hai, hoặc không backend nào — lõi điều phối biên dịch được mà không cần bất kỳ ML runtime nào.

Các mô hình được hỗ trợ

Mô hìnhTác vụONNXLiteRT
Silero VAD v5Phát hiện hoạt động giọng nói
Parakeet TDT v3 (0.6B)Chuyển giọng nói thành văn bản (114 ngôn ngữ)
Nemotron Speech Streaming (0.6B)Chuyển giọng nói thành văn bản streaming (tiếng Anh)
Nemotron-3.5 ASR Streaming Multilingual (0.6B)Chuyển giọng nói thành văn bản streaming (đa ngôn ngữ, điều kiện hoá theo prompt)
Omnilingual ASR CTC (300M)Chuyển giọng nói thành văn bản (đa ngôn ngữ)
Pyannote Segmentation 3.0Phân tách người nói (phân đoạn)
WeSpeaker ResNet34-LMEmbedding người nói
VoxCPM2 (2B)Chuyển văn bản thành giọng nói (48 kHz, nhân bản giọng nói)
Kokoro 82MChuyển văn bản thành giọng nói
DeepFilterNet3Nâng cao chất lượng giọng nói
PersonaPlex 7BGiọng nói tới giọng nói song công (CUDA)

Bắt đầu nhanh

Biên dịch lõi cùng backend LiteRT (thư viện runtime được trích xuất từ wheel ai-edge-litert — không phải build 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

Sau đó liên kết các target bạn cầ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

Chuyển một buffer âm thanh thành văn bản chỉ tốn vài dòng:

#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 nhúng và ô-tô

Một bản build Linux tham chiếu — libspeech.so với C ABI nhỏ gọn, một CLI demo ALSA, và các công cụ transcribe/synthesize/phonemize — nằm tại examples/linux. Nó nhắm tới ARM64 nhúng (Yocto, Qualcomm SA8295P / SA8255P) và bất kỳ máy dev Linux nào. Các bước thiết lập có trong hướng dẫn bắt đầu với Linux.

Xây dựng cho Android hoặc Apple?

Trên Android, dùng speech-android — một SDK Kotlin đóng gói Speech Core sau cầu nối JNI (implementation("audio.soniqo:speech:0.0.9")). Trên macOS và iOS, dùng speech-swift, chạy các mô hình trên CoreML, MLX và Apple Neural Engine.

Tài liệu

Phản hồi

Mở issue tại github.com/soniqo/speech-core/issues, hoặc tham gia Discord.