Awtomatikong salin · Orihinal sa Ingles
Uso sa Pagsasalita
Open-source C++17 speech engine para sa mga ahente ng boses – voice activity detection detection, port at real-time stream speech-to-text, speaker diarization, at text-to-speech, lahat ay tumatakbo on-device on Linux, Windows at Android. Apache 2.0.
Kung ano ito
Ang Speak Core ay isang maliit na extension core — state machine, turnction, handing, audio utilities, na may sero ML dependencies — at isang set ng abstraktong interface para sa mga modelo sa pagsasalita.Ang inference ay tumatakbo sa lokal sa CPU; ang audio ay hindi kailanman umaalis ng makina, at walang Python sa oras.Ang model configence ay pinipili-in sa pamamagitan ng dalawang reverseable backs na magagawa mo nang independiyente, o kaya mong dalhin ang iyong mga pagpapatupad ng interfaces.
- Boses-agent na orkestra —
VoicePipelineAng VAD, dinadaglat na STT, isang LLM at TTS ay naging isang full-duplex agent loop na may gabarang-in, palikong pagtutop, at isang kagamitan-calcal loop. Tingnan ang isang staop. docs/pipeline.md at ang mga ahente ng boses Ipaliwanag. - Speaker diarization sa purong C++ —
DiarizationPipelineKumakatha ng isang segmenter at isang embedder upang maging speaker-labelled parts, na walang sariling ML-runtime dependency. - Binibitiwan ang natitirang bahagi ng salansan — speech-android ay isang tulay ng Kotlin SDK + JNI sa ibabaw ng Speech Core, at ang Speech Studio gumagamit ng LiteRT VoxCPM2 engine nito sa Windows at Linux. Sa mga platapormang Apple, ang aklatan ng magkakapatid ay ang mga platapormang pangkapatid na pang-aklatan. speech-swift.
Plataforms & mga backends
| Likod | Mga Plataporma | Bilis ng hardware |
|---|---|---|
ONNX Runtime (SPEECH_CORE_WITH_ONNX) | Linux, macOS, Windows, Android | NNAPI sa Android, QNN on Qualcomm Linux. opsyonal NVIDIA CUDA / TensorRT (UnsorRT)-DSPEECH_CORE_WITH_CUDA=ON) |
LiteRT (SPEECH_CORE_WITH_LITERT) | Linux x86_64, Windows x86_64, Android, macOS arm64 | CPU sa ngayon |
Kabi - kabila man, o hindi — ang pinaka - sentro ng orkestra ay nagtatayo na walang ML na runtime.
Suportadong mga modelo
| Huwaran | Task | ONNX | LiteRT |
|---|---|---|---|
| Silero VAD v5 | Pagtuklas sa galaw ng boses | ✓ | ✓ |
| Smart Turn v3.2 | End-of-turn detection (23 wika) | ✓ | — |
| Parakeet TDT v3 (0.6B) | Pagsasalita-to-text (114 na wika) | ✓ | ✓ |
| Nemotron Speak Streaming (0.6B) | Nakapagpapasiglang pananalita-to-text (Ingles) | ✓ | ✓ |
| Nemotron-3.5 ASR Streaming Multilingual (0.6B) | Pampasiglang pagsasalita-to-text (sa pangkalahatan, mabilis-conditioned) | ✓ | ✓ |
| Whisper Small v3 | Pagsasalita-to-text (Ulit na Whisper v3) | ✓ | — |
| Whisper Medium v3 | Pagsasalita-to-text (Ulit na Whisper v3) | ✓ | — |
| Whisper Large v3 | Pagsasalita-to-text (Ulit na Whisper v3) | ✓ | — |
| Whisper Large-v3 Turbo | Pagsasalita-to-text (Ulit na Whisper v3) | ✓ | — |
| Omnilingual ASR CTC (300M) | Pagsasalita-to-ext (malaganap) | — | ✓ |
| FunctionGemma 270M | On-device LLM – naka-ayos na tungkulin / kasangkapang tawag (LiteRT-LM; CoreML sa Apple) | — | ✓ |
| Pyannote Segmentation 3.0 | Diarisasyon (pag - aatas) | — | ✓ |
| WeSpeaker ResNet34-LM | Pagdidiskarga ng Speaker | — | ✓ |
| VoxCPM2 (2B) | Text-to-speech (48 kHz, voice cloning) | — | ✓ |
| Kokoro 82M | Text-to-speech | ✓ | — |
| Pocket TTS 100M | Streaming text-to-speech (Ingles, nakapirmeng tinig ng Alba) | ✓ | — |
| DeepFilterNet3 | Nagdudulot ng Higit na kasiyahan sa pagsasalita | ✓ | — |
| PersonaPlex 7B | Full-duplex speech-to-speech (CUDA) | ✓ | — |
Mabilis na pagsisimula
Itayo ang pinaka - core pati na ang LiteRT backend (ang aklatan sa panahon ng pagtakbo ay kinuha mula sa ai-edge-litert wheel — walang TensorFlow na gusali):
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
Pagkatapos ay iugnay ang mga target na kailangan mo:
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
Ang pag - iindorso ng isang audio neutralation ay ilang linya:
#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
Isang reperensiyang gusali ng Linux — libspeech.so na may maliit na C ABI, isang demo CLI ng ALSA, at ang transcribe/synthesize/phonemoze na mga kasangkapan — ay nabubuhay sa mga halimbawa/linux. Pinupuntirya nito ang naka-inkrop na ARM64 (Yocto, Qualcomm SA8295P / SA8255P) at anumang Linux dev box. Setup steps ay nasa kahon. Linux geing-started guide.
Sa Android, gamitin speech-android — Isang Kotlin SDK na paketeng Speech Core sa likod ng isang tulay ng JNI (sa likod ng isang JNI bridge).implementation("audio.soniqo:speech:0.0.9")). Sa macOS at iOS, gamitin ang speech-swift, na nagpapatakbo ng mga modelo sa CoreML, MLX at sa Apple Neural Engine.
Dokumentasyon
- mga doc/ — Buong in-repo na dokumentasyon
- docs/pipeline.md — ang
VoicePipeline" state machine, " pagsasama - sama ng AEC, at" tool-cal loop " - docs/models.md — buong modelong imbentaryo
- Soniqo ONNX na koleksiyon — Whisper, Kokoro, DeepFilterNet3, PersonaPlex, at iba pa ONNX mga bungkos
- Pagyayap.co/soniqo — ginawang modelong mga pabigat (ONNX, LiteRT)
Pagpapakain
Buksan ang isang isyu sa github.com/soniqo/speech-core/ Mga Kontribusyon, o sumali sa Di - pagkakasuwato.