Konekäännös · Englanninkielinen alkuperäinen
Puhe
Open-source C++17 puhekone ääniagenteille ... äänen aktiivisuustunnistus, erä ja reaaliaikainen suoratoisto puhe-teksti, kaiuttimen diarisointi ja teksti-puhe, kaikki käynnissä päällä-laite Linux, Windows ja Android. Apache 2.0.
Mitä se on?
Puheen ydin on pieni orkestraatio ydin ... tila kone, kääntötunnistus, keskeytyksen käsittely, audio apuohjelmat, nolla ML riippuvuudet . plus joukko abstrakteja rajapintoja puhemalleja. Päätelmä toimii paikallisesti CPU; audio koskaan poistua koneesta, ja ei ole Python inference hetkellä. Mallin johtopäätös on opt-in kautta kaksi vaihdettavissa taustakuvia voit mahdollistaa itsenäisesti, tai voit tuoda omia sovelluksia rajapintoja.
- Ääniagenttien orkesteri —
VoicePipelinesäveltää VAD:n, streaming STT:n, LLM- ja TTS -sarjan täyteen Duplex-agenttisilmukkaan proomulla, kääntönäytöllä ja työkalunvalintasilmukkaan. Katso docs/piperiini.md ja ääniagentit yleiskatsaus. - Kaiuttimen diarisaatio puhtaana C++ ...
DiarizationPipelinesäveltää segmentin ja upottimen kaiuttimella merkittyihin segmentteihin ilman omaa ML-runtimeen liittyvää riippuvuutta. - Powers loput pino — speech-android on Kotlin SDK + JNI-silta puhe Coren yllä ja Speech Studio käyttää LiteRT VoxCPM2 moottori Windows ja Linux. Apple alustoilla, sisaruskirjasto on speech-swift.
Alustat ja taustaosat
| Taustaosa | Alustat | Laitteiston kiihtyvyys |
|---|---|---|
ONNX Runtime (SPEECH_CORE_WITH_ONNX) | Linux, macOS, Windows, Android | NNAPI on Android, QNN on Qualcomm Linux, valinnainen NVIDIA CUDA / TensorRT (-DSPEECH_CORE_WITH_CUDA=ON) |
LiteRT (SPEECH_CORE_WITH_LITERT) | Linux x86_64, Windows x86_64, Android, macOS arm64 | CPU tänään |
Käytä joko backend, molemmat, tai kumpikaan ... orkestraatio ydin rakentaa ilman ML-ajoaikaa ollenkaan.
Tuetut mallit
| Malli | Tehtävä | ONNX | LiteRT |
|---|---|---|---|
| Silero VAD v5 | Äänen toiminnan havaitseminen | ✓ | ✓ |
| Smart Turn v3.2 | Käännöskatkon havaitseminen (23 kieltä) | ✓ | — |
| Parakeet TDT v3 (0,6B) | Puhe-to-text (114 kieltä) | ✓ | ✓ |
| Nemotron Puhestreaming (0,6B) | Streaming puhe-to-text (englanti) | ✓ | ✓ |
| Nemotron-3.5 ASR Virtaus Monikielinen (0,6B) | Puheenvireytys tekstien välillä (monikielinen, nopeasti ehdollistettu) | ✓ | ✓ |
| Whisper Pieni v3 | Puheesta toiseen (monikielinen Whisper v3) | ✓ | — |
| Whisper Medium v3 | Puheesta toiseen (monikielinen Whisper v3) | ✓ | — |
| Whisper Large v3 | Puheesta toiseen (monikielinen Whisper v3) | ✓ | — |
| Whisper Large-v3 Turbo | Puheesta toiseen (monikielinen Whisper v3) | ✓ | — |
| Omnilingual ASR CTC (300M) | Puhe-to-text (monikielinen) | — | ✓ |
| FunctionGemma 270M | On-device LLM ... strukturoitu toiminto / työkalupuhelut (LiteRT-LM; CoreML Applesta) | — | ✓ |
| Pyannote Segmentaatio 3.0 | Diarisaatio (segmentaatio) | — | ✓ |
| WeSpeaker ResNet34-LM | Kaiuttimen upotus | — | ✓ |
| VoxCPM2 (2B) | Tekstistä puheenaiheeseen (48 kHz, äänikloonaus) | — | ✓ |
| Kokoro 82M | Tekstipuheesta toiseen | ✓ | — |
| Pocket TTS 100M | Tekstinvirittäminen puhekieleen (englanti, kiinteä Alba ääni) | ✓ | — |
| DeepFilterNet3 | Puheen lisääminen | ✓ | — |
| PersonaPlex 7B | Täysi duplex puhepuhe (CUDA) | ✓ | — |
Nopea aloitus
Rakenna ydin ja LiteRT backend (runtime-kirjasto uutetaan ai-edge-litert pyörästä ... Ei TensorFlow-rakennusta):
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
Linkitä sitten tarvitsemasi kohteet:
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
Äänipuskurin merkitseminen on muutama rivi:
#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
Viite Linux rakentaa libspeech.so pienellä C ABI: llä, ALSA: n demo CLI: llä ja kirjoitetaan/yhtenäisytetään/puhelimitse työvälineitä esimerkit/linux . Se kohdistuu upotettuun ARM64 (Yocto, Qualcomm SA8295P SA8255P ) ja mihin tahansa Linux dev-laatikkoon. Asennusvaiheet ovat Linux
Android:n päällä, käytä speech-android Kotlin SDK, joka paketoi puheen ytimen JNI-sillan taakse (implementation("audio.soniqo:speech:0.0.9")). macOS ja iOS:ssä, käytä speech-swift, joka pyörittää malleja CoreML, MLX ja Apple Neural Engine.
Asiakirjat
- docs/ .
- docs/pipeline.md ...
VoicePipelinetilakone, AEC-integrointi ja työkalujen puhelusilmukka - docs/models.md ...
- Soniqo ONNX-kokoelma — Whisper, Kokoro, DeepFilterNet3, PersonaPlex, ja muut ONNX nippu
- halailuface.co/soniqo Mallin painot (ONNX, LiteRT)
Palaute
Avaa numerossa github.com/soniqo/speech-core/issues tai liity kohtaan discord .