Tłumaczenie automatyczne · Oryginał angielski

Rdzeń przemowy

Open- source C + + 17 silnik mowy dla środków głosowych - wykrywanie aktywności głosu, transmisja wiadomości w czasie rzeczywistym i w czasie rzeczywistym - tekst, diaryzacja głośników, i text- to- mowy, wszystkie uruchomione na-urządzeniu Linux, Windows i Android. Apache 2.0.

Co to jest?

Mowa Core jest małym rdzeniem orkiestracyjnym - maszyną stanową, wykrywaniem skrętu, obsługą przerywaną, narzędziami audio, z zależnościami od 0 ML - oraz zestawem abstrakcyjnych interfejsów dla modeli mowy. Prośba działa lokalnie na CPU; audio nigdy nie opuszcza maszyny, a nie ma Python w czasie wnioskowania. Model jest opt- w ciągu dwóch wymiennych oparć można włączyć niezależnie, lub można przynieść własne implementacje interfejsów.

Platformy i oparcia

WsteczPlatformyPrzyspieszenie sprzętowe
ONNX Runtime (SPEECH_CORE_WITH_ONNX)Linux, macOS, Windows, AndroidNNAPI na Android, QNN na Qualcomm Linux; opcjonalne NVIDIA CUDA / TensorRT (-DSPEECH_CORE_WITH_CUDA=ON)
LiteRT (SPEECH_CORE_WITH_LITERT)Linux x86_64, Windows x86_64, Android, macOS arm64CPU dzisiaj

Włącz albo oparcie, albo żadne - rdzeń orkiestracji buduje się bez biegania ML.

Obsługiwane modele

WzórZadanieONNXLiteRT
Silero VAD v5Wykrywanie aktywności głosu✓✓
Smart Turn v3.2Wykrywanie zakrętów (23 języki)✓—
Parakeet TDT v3 (0.6B)Przemówienie do tekstu (114 języków)✓✓
Nemotron Speech Streaming (0.6B)Streaming speech- to- text (angielski)✓✓
Nemotron-3.5 ASR Streaming Multilingual (0.6B)Streaming przemówień-to- tekst (wielojęzyczny, prompt- uwarunkowany)✓✓
Whisper małe v3Tekst w języku polskim (wielojęzyczny Whisper v3)✓—
Whisper Średnia v3Tekst w języku polskim (wielojęzyczny Whisper v3)✓—
Whisper duży v3Tekst w języku polskim (wielojęzyczny Whisper v3)✓—
Whisper Large-v3 TurboTekst w języku polskim (wielojęzyczny Whisper v3)✓—
ASR CTC (300M)Przemówienie do tekstu (wielojęzyczny)—✓
FunctionGemma 270MOn- device LLM - ustrukturyzowane wywołania funkcji / narzędzi (LiteRT- LM; CoreML na Apple)—✓
Segmentacja Pyannote 3.0Diaryzacja (segmentacja)—✓
WeSpeaker ResNet34-LMWłączenie głośnika—✓
VoxCPM2 (2B)Text- to- mowy (48 kHz, klonowanie głosu)—✓
Kokoro 82MTest- to- przemówienie✓—
Pocket TTS 100MStreaming text- to- mowy (angielski, stały głos Alba)✓—
DeepFilterNet3Wzmocnienie mowy✓—
PersonaPlex 7BPełna przemowa duplex-to- przemówienie (CUDA)✓—

Szybki start

Zbuduj rdzeń plus oparcie LiteRT (biblioteka runtime jest pobierana z ai-edge-litert koło - bez budowy 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

Następnie połączyć cele, których potrzebujesz:

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

Transkrybowanie bufora audio to kilka linii:

#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
Wbudowane i samochodowe Linux

Linux build - libspeech.so z małym C ABI, ALSA demo CLI, i transkrypcji / syntezy / phonemize narzędzia - mieszka w przykłady / linux. Celuje osadzony ARM64 (Yocto, Qualcomm SA8295P / SA8255P) i wszelkie Linux dev box. Przewodnik po uruchomieniu Linux.

Budynek dla Android czy Apple?

Na Android należy użyć speech-android - Kotlin SDK, który pakuje Mowa za mostem JNI (implementation("audio.soniqo:speech:0.0.9")). Na macOS i iOS speech-swift, który obsługuje modele na CoreML, MLX i Apple Neural Engine.

Dokumentacja

Informacje zwrotne

Otwarcie problemu na github.com /soniqo/speech-core/ Kwestie, lub dołączyć do Niezgoda.