Speech Core

Open-source речевой движок на C++17 для голосовых агентов — детекция голосовой активности, пакетное и потоковое распознавание речи в реальном времени, диаризация спикеров и синтез речи, и всё это работает на устройстве на Linux, Windows и Android. Apache 2.0.

Что это

Speech Core — это компактное оркестрационное ядро: конечный автомат, определение очерёдности реплик, обработка перебиваний, аудиоутилиты — без единой ML-зависимости — плюс набор абстрактных интерфейсов для речевых моделей. Инференс выполняется локально на CPU; аудио никогда не покидает машину, а на этапе инференса нет 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Пока CPU

Включайте любой из бэкендов, оба или ни одного — оркестрационное ядро собирается вообще без ML-рантайма.

Поддерживаемые модели

МодельЗадачаONNXLiteRT
Silero VAD v5Детекция голосовой активности
Parakeet TDT v3 (0.6B)Распознавание речи (114 языков)
Nemotron Speech Streaming (0.6B)Потоковое распознавание речи (английский)
Nemotron-3.5 ASR Streaming Multilingual (0.6B)Потоковое распознавание речи (многоязычное, управляется промптом)
Whisper Small v3распознавание речи (многоязычный Whisper v3)
Whisper Medium v3распознавание речи (многоязычный Whisper v3)
Whisper Large v3распознавание речи (многоязычный Whisper v3)
Whisper Large-v3 Turboраспознавание речи (многоязычный Whisper v3)
Omnilingual ASR CTC (300M)Распознавание речи (многоязычное)
Pyannote Segmentation 3.0Диаризация (сегментация)
WeSpeaker ResNet34-LMЭмбеддинги спикеров
VoxCPM2 (2B)Синтез речи (48 кГц, клонирование голоса)
Kokoro 82MСинтез речи
Pocket TTS 100MПотоковый синтез речи (английский, фиксированный голос Alba)
DeepFilterNet3Улучшение речи
PersonaPlex 7BПолнодуплексная речь в речь (CUDA)

Быстрый старт

Соберите ядро вместе с бэкендом LiteRT (библиотека рантайма извлекается из wheel-пакета ai-edge-litert — сборка 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 и инструментами transcribe/synthesize/phonemize — находится в examples/linux. Она ориентирована на встраиваемый ARM64 (Yocto, Qualcomm SA8295P / SA8255P) и любую Linux-машину разработчика. Шаги настройки — в руководстве по началу работы на Linux.

Разрабатываете под Android или Apple?

На Android используйте speech-android — Kotlin SDK, который упаковывает 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.