Skip to main content

Hardware-adaptive multilingual ASR library for the Lattice family. Pluggable engines (Parakeet, Whisper, Distil-Whisper), optional diarization, streaming.

Project description

lattice-asr

Hardware-adaptive multilingual ASR library for the Lattice family.

PyPI License

pip install lattice-asr==0.1.0

Status: v0.1 implementation in progress. W1 (foundation), W2 (Whisper + LID + Transcriber), W3.1 (ParakeetMlxEngine), W3.2 (ParakeetTdtEngine), W4 (RemoteEngine + lattice-asr-server), W5 (diarization), and W6.1 (perf-gate skeleton) are landed; W3-future (WhisperCppEngine for Apple Silicon multilingual) is deferred past v0.1; W6.2 (CI workflow), W6.3 (this rewrite), and v0.1.0 (tag + PyPI) are pending. All three v0.1 perf gates clear via the wrappers on canonical hosts: C1 RTF 45.43× on Switch (Apple M4 Pro, parakeet-mlx), C2 RTF 115.12× on Cypher (RTX 2070 Turing, parakeet-tdt), C3 RTF 3.35× on Switch (faster-whisper distil-large-v3 int8). 81 r_tier tests passing. See CHANGELOG.md for the unreleased detail and docs/performance-baseline.md for the canonical baselines.

What it is

A Lattice-layer library that lifts speech-to-text from per-consumer ad-hoc plumbing into a single pluggable surface. Consumers (lattice-meetbot for meeting transcription, lattice-dictate for push-to-talk dictation, WhatsApp voice-message decryption, future ambient capture) all transcribe through the same Transcriber interface.

What it solves

  • Hardware adaptivity — picks Parakeet-TDT (NeMo) on NVIDIA, parakeet-mlx on Apple Silicon, Distil-Whisper via faster-whisper on CPU-only (arm64 or x86_64 — non-GPU fallback path). Single API across all paths.
  • Multilingual — dual-engine load: English route uses Parakeet (fastest, English-only); non-English route uses Whisper-large-v3-turbo or Distil-Whisper. Routing via Silero LID on the first 1.5 s of audio.
  • Optional diarizationtranscribe(..., diarize=True) returns segments with speaker labels (pyannote.audio CPU/GPU, NVIDIA Sortformer GPU).
  • Streaming — VAD-segment-bounded partial results for ambient/meeting use.
  • Remote engineRemoteEngine adapter forwards transcription to a network endpoint speaking the lattice-asr wire protocol; lets a CPU-only laptop offload to a GPU host.
  • Telemetry-injected — every call records duration, engine, language, audio length to a consumer-supplied sink. No hidden coupling.

Non-goals (v0.1)

Speaker identification (deferred to a future lattice-voiceprint), on-device fine-tuning, sub-100 ms streaming partials, audio enhancement, translation, browser/mobile bindings.

Status

Phase State
Spec Locked — vault 02_Projects/Lattice/lattice-asr/Specifications/2026-04-27 lattice-asr v1 - Design Spec.md
Plan Ratified and in execution — vault 02_Projects/Lattice/lattice-asr/Plans/2026-05-08 lattice-asr v0.1 - Implementation Plan.md
W1 Foundation Landed (hardware probe, types, telemetry, config)
W2 Whisper + LID + Transcriber MVP Landed
W3.1 ParakeetMlxEngine (Apple Silicon EN, MLX runtime) Landed — verified Switch RTF 45.43× via wrapper
W3.2 ParakeetTdtEngine (NVIDIA EN, NeMo runtime) Landed — verified Cypher RTX 2070 RTF 115.12× via wrapper
W3-future WhisperCppEngine (Apple Silicon multilingual) Deferred past v0.1
W4 RemoteEngine + lattice-asr-server Landed
W5 Diarization Landed (pyannote + sortformer adapters + Transcriber wire-in; real-model exercise gated on HF_TOKEN / NeMo)
W6 Ship (perf, CI, release) Partial — W6.1 perf-gate skeleton landed and all three C1/C2/C3 gates pass via wrappers on canonical hosts; W6.2 CI workflow + W6.3 README rewrite + v0.1.0 tag pending. Canonical hosts: C1+C3 on Switch (Apple M4 Pro Mac mini), C2 on Cypher (Linux + RTX 2070).
First consumer lattice-dictate (planned)
Second consumer lattice-meetbot (refactored transcription path)

License

Apache-2.0 (Lattice default). See LICENSE.

Family

Part of the Lattice family. Sibling libraries: lattice-meetbot, lattice-meeting, lattice-watch, lattice-dictate (planned), lattice-recall (planned).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lattice_asr-0.1.1.tar.gz (33.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lattice_asr-0.1.1-py3-none-any.whl (32.9 kB view details)

Uploaded Python 3

File details

Details for the file lattice_asr-0.1.1.tar.gz.

File metadata

  • Download URL: lattice_asr-0.1.1.tar.gz
  • Upload date:
  • Size: 33.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for lattice_asr-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a379da22ad010f87607e845f504bc4a8721b3cab33ec231af5d2b94c631eaa85
MD5 42f58d5815fc6a2e0096e2063a5a8241
BLAKE2b-256 1d92450aa476cafcf75378a979beac2310d1fa830302beafc9316b39528bcf28

See more details on using hashes here.

File details

Details for the file lattice_asr-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: lattice_asr-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 32.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for lattice_asr-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 71d297e73665f16d8e4f25080bd9939d8a3c59eeb86537b5888717a6517c6e9f
MD5 42e5d89eabdfd96b606b3598301be1b7
BLAKE2b-256 2eb5df3358710ff95407a3385411ffe2d2745d4cf64165739e258725f4db9c2c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page