Traducere automată · Originalul în engleză
Centrala discursului
Open-source C++17 motor de vorbire pentru agenții de voce Linux, Windows și Android. Apache 2.0.
Ce este?
Speech Core este un mic instrument de orchestrare de stat, de detectare a turnului, de manipulare întrerupere, utilităţi audio, cu zero ML dependenţe Details CPU; audio nu părăsește niciodată mașina, și nu există nici Python la ora de deducție. Inference model este opt-in prin două backend-uri interschimbabile puteți activa independent, sau puteți aduce propriile implementare a interfețelor.
- Voice-agent orchestration ا
VoicePipelinecompune VAD, streaming STT, an LLM și TTS într-o buclă de agent duplex complet cu barjă-in, detectarea turnului și o buclă de apel instrumental. A se vedea docs/pipeline.md și agenți de voce de ansamblu. - Diarizarea speakerului în pură C++
DiarizationPipelinecompune un segmenter și un încrucișator în segmente marcate cu difuzor, fără dependență de ML-runtime proprie. - Powers restul stack-ului — speech-android este un pod Kotlin SDK + JNI peste nucleul discursului; și Speech Studio folosește motorul LiteRT VoxCPM2 pe Windows și Linux. Pe platformele Apple, biblioteca frate este speech-swift.
Platforme & suporturi
| Platformă | Platforme | Accelerația hardware-ului |
|---|---|---|
ONNX Runtime (SPEECH_CORE_WITH_ONNX) | Linux, macOS, Windows, Android | NNAPI on Android, QNN on Qualcomm Linux, opțional NVIDIA CUDA / TensorRT (-DSPEECH_CORE_WITH_CUDA=ON) |
LiteRT (SPEECH_CORE_WITH_LITERT) | Linux x86_64, Windows x86_64, Android, macOS arm64 | CPU astăzi |
Activaţi fie suport, ambele, sau nici
Modele acceptate
| Model | Sarcina | ONNX | LiteRT |
|---|---|---|---|
| Silero VAD v5 | Detectarea activității vocale | ✓ | ✓ |
| Smart Turn v3.2 | Detectare finală (23 de limbi) | ✓ | — |
| Parakeet TDT v3 (0,6B) | Discurs-la-text (114 limbi) | ✓ | ✓ |
| Nemotron Streaming de vorbire (0,6B) | Streaming speech-to-text (English) | ✓ | ✓ |
| Nemotron-3.5 ASR Streaming Multilingual (0,6B) | Streaming speech-to-text (multilingual, prompt-conditioned) | ✓ | ✓ |
| Whisper Small v3 | Speech-to-text (multilingv Whisper v3) | ✓ | — |
| Whisper Mediu v3 | Speech-to-text (multilingv Whisper v3) | ✓ | — |
| Whisper Large v3 | Speech-to-text (multilingv Whisper v3) | ✓ | — |
| Whisper Large-v3 Turbo | Speech-to-text (multilingv Whisper v3) | ✓ | — |
| Omnilingv ASR CTC (300M) | Discurs-la-text (multilingv) | — | ✓ |
| FunctionGemma 270M | On-device LLM CoreML pe Apple) | — | ✓ |
| Pyannote segmentare 3.0 | Diarizare (segmentare) | — | ✓ |
| WeSpeaker ResNet34-LM | Încorporarea speakerului | — | ✓ |
| VoxCPM2 (2B) | Text-to- speech (48 kHz, clonarea vocii) | — | ✓ |
| Kokoro 82M | Text-to- speech | ✓ | — |
| Pocket TTS 100M | Streaming text-to-speech (English, fix voce Alba) | ✓ | — |
| DeepFilterNet3 | Îmbunătăţirea vorbirii | ✓ | — |
| PersonaPlex 7B | Discurs-la-discurs complet-duplex (CUDA) | ✓ | — |
Start rapid
Construiți nucleul plus suportul LiteRT (biblioteca runtime este extrasă din roata ai-edge-litert fără TensorFlow build):
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
Apoi leagă ţintele de care ai nevoie:
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
Transcrierea unui tampon audio este câteva 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
O referinţă Linux build libspeech.so cu un mic C ABI, un ALSA demo CLI, și transcrie/sintizează/telefonizează instrumente exemple/linux. Acesta vizează încorporat ARM64 (Yocto, Qualcomm SA8295P / SA8255P) și orice Linux dev caseta. Pașii de configurare sunt în Ghid de pornire Linux.
La Android, se utilizează speech-android a Kotlin SDK că pachetele Speech Core în spatele unui pod JNI (implementation("audio.soniqo:speech:0.0.9")). La macOS și iOS, utilizarea speech-swift, care rulează modelele la CoreML, MLX și Apple Neural Engine.
Documentație
- docs/
- docs/pipeline.md bază
VoicePipelinemașină de stat, integrarea AEC, și bucla de apel instrument - docs/models.md
- Colecţia Soniqo ONNX — Whisper, Kokoro, DeepFilterNet3, PersonaPlex, și altele ONNX Pachete
- Huggingface.co/soniqo În cazul în care nu se utilizează metoda de testare, se utilizează o metodă de testare pentru a verifica dacă se utilizează metoda descrisă la punctul 2 din prezenta anexă.ONNX, LiteRT)
Feedback
Deschide o emisiune la github.com/soniqo/speech-core/emissions, or join the Discord.