Terjemahan mesin · Versi asli bahasa Inggris
Pidato Inti
Open-source C + +17 mesin bicara untuk agen suara - deteksi aktivitas suara, batch dan real-time streaming speech-to- teks, dialog speaker, dan teks - to- speech, semua berjalan on-perangkat pada Linux, Windows dan Android. Apache 2.0.
Apa ini?
Speech Core adalah inti orkestra kecil - mesin negara, mengubah deteksi, penanganan interupsi, utilitas audio, dengan ketergantungan ML nol - ditambah satu set antarmuka abstrak untuk model bicara. Inerensi berjalan lokal di CPU; audio tidak pernah meninggalkan mesin, dan tidak ada Python pada waktu inference. Inferensi model adalah opps-in melalui dua latar belakang yang dapat diubah Anda dapat memungkinkan secara independen, atau Anda dapat membawa antarmuka sendiri.
- Suara - agen orchestration —
VoicePipelineMengkomposes VAD, streaming STT, sebuah LLM dan TTS menjadi sebuah loop penuh-duplex agen dengan penghambat-in, ubah deteksi, dan sebuah tool- call loop. Lihat. docs / pipeline.md dan agen suara overview. - Speaker diarisasi dalam murni C++ —
DiarizationPipelinemenyusun sebuah segmenter dan embedder ke speaker-label segmen, dengan tidak ada ketergantungan ML-runtime sendiri. - Powers sisa tumpukan — speech-android adalah jembatan Kotlin SDK + JNI di atas Speech Core, dan Speech Studio menggunakan LiteRT VoxCPM2 mesin pada Windows dan Linux. Pada platform Apple, perpustakaan bersaudara adalah speech-swift.
Platform & amp; backends
| Backend | Platform | Percepatan perangkat keras |
|---|---|---|
ONNX Runtime (SPEECH_CORE_WITH_ONNX) | Linux, macOS, Windows, Android | NNAPI pada Android, QNN pada Qualcomm Linux (pilihan NVIDIA CUDA / TensorRT)-DSPEECH_CORE_WITH_CUDA=ON) |
LiteRT (SPEECH_CORE_WITH_LITERT) | Linux x86_64, Windows x86_64, Android, macOS arm64 | CPU hari ini |
Aktifkan baik backend, baik, atau tidak - inti orkestra membangun dengan tidak ada waktu-waktu-jalan ML.
Model yang didukung
| Model | Tugas | ONNX | LiteRT |
|---|---|---|---|
| Silero VAD v5 | Deteksi aktivitas suara | ✓ | ✓ |
| Smart Turn v3.2 | End-of -turn deteksi (23 bahasa) | ✓ | — |
| Parakeet TDT v3 (0.6B) | Speech-to-text (114 bahasa) | ✓ | ✓ |
| Nemotron Speech Streaming (0.6B) | Streaming speech- to- teks (bahasa Inggris) | ✓ | ✓ |
| Nemotron-3.5 ASR Streaming Multibahasa (0.6B) | Streaming speech- to-text (multibahasa, prompt -conditioned) | ✓ | ✓ |
| Whisper Kecil v3 | Speech-to-text (multibahasa Whisper v3) | ✓ | — |
| Whisper Medium v3 | Speech-to-text (multibahasa Whisper v3) | ✓ | — |
| Whisper Large v3 | Speech-to-text (multibahasa Whisper v3) | ✓ | — |
| Whisper Large-v3 Turbo | Speech-to-text (multibahasa Whisper v3) | ✓ | — |
| Omnilingual ASR CTC (300M) | Speech-to-text (multibahasa) | — | ✓ |
| FunctionGemma 270M | On- perangkat LLM - terstruktur fungsi / alat panggilan (LiteRT- LM; CoreML pada Apple) | — | ✓ |
| Pyannote Segmentasi 3.0 | Diarisasi (segmentasi) | — | ✓ |
| WeSpeaker ResNet34-LM | Pembicara embedding | — | ✓ |
| VoxCPM2 (2B) | Teks - to- pidato (48 kHz, suara kloning) | — | ✓ |
| Kokoro 82M | Teks - to- pidato | ✓ | — |
| Pocket TTS 100M | Teks streaming - to- pidato (bahasa Inggris, suara Alba tetap) | ✓ | — |
| DeepFilterNet3 | Perbaikan pidato | ✓ | — |
| PersonaPlex 7B | Full-duplex speech-to-speech (CUDA) | ✓ | — |
Cepat mulai
Bangun inti ditambah backend LiteRT (perpustakaan waktu-jalan diekstrak dari ai-edge-litert wheel - no 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
Kemudian link target yang Anda butuhkan:
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
Mentranskripsi buffer audio adalah beberapa baris:
#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
Sebuah referensi Linux membangun - libspeech.so dengan C ABI kecil, demo CRI ALSA, dan transkripsi / synthesize / fonemitize alat-alat - tinggal di contoh / linuxTarget tertanam ARM64 (Yocto, Qualcomm SA8295P / SA8255P) dan apapun Linux dev box. Langkah setup berada di Linux getting-started guide.
Di Android, gunakan speech-android - Kotlin SDK bahwa paket Speech Core di belakang jembatan JNI (implementation("audio.soniqo:speech:0.0.9")Di macOS dan iOS, gunakan speech-swift, yang menjalankan model di CoreML, MLX dan Apple Neural Engine.
Dokumentasi
- docs / - penuh dokumentasi in- repo
- docs / pipeline.md - The
VoicePipelinestate machine, AEC integrasi, and tool- call loop - docs / models.md - Inventaris model lengkap
- Soniqo ONNX koleksi — Whisper, Kokoro, DeepFilterNet3, PersonaPlex, dan lainnya ONNX bundles
- Huggingface.co / soniqo - Bobot model yang dikonversi (ONNX, LiteRT)
Feedback
Membuka masalah di gitub.com /soniqo/speech-core/ masalah, atau bergabung dengan Discord.