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.

Alustat ja taustaosat

TaustaosaAlustatLaitteiston kiihtyvyys
ONNX Runtime (SPEECH_CORE_WITH_ONNX)Linux, macOS, Windows, AndroidNNAPI 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 arm64CPU tänään

Käytä joko backend, molemmat, tai kumpikaan ... orkestraatio ydin rakentaa ilman ML-ajoaikaa ollenkaan.

Tuetut mallit

Malli TehtäväONNXLiteRT
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.0Diarisaatio (segmentaatio)—✓
WeSpeaker ResNet34-LMKaiuttimen 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
Upotettu & ajoneuvo Linux

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

Rakennus Android tai Apple?

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

Palaute

Avaa numerossa github.com/soniqo/speech-core/issues tai liity kohtaan discord .