Skip to main content

Pipecat for the edge — edge-native, local-first real-time voice conversation library

Project description

voxedge

Edge-native, local-first real-time voice conversation library — "Pipecat for the edge".

Status: Phase 1a — pure-Python foundation (additive scaffolding only).

voxedge is an edge-native library for low-latency, local-first real-time voice conversation. It was originally extracted as the open-core foundation of a production edge voice stack.

What's here (Phase 1a)

  • voxedge/backends/base.py — clean backend ABCs (ASRBackend/ASRStream, TTSBackend, VADBackend/VADSession, LLMBackend/LLMEvent) with no env / profile coupling — constructors take explicit params only.
  • voxedge/transport/base.pyTransport ABC + InProcessTransport (zero-IPC asyncio queues, the default) + WebSocketTransport (duck-typed ws adapter, no FastAPI dependency).
  • voxedge/engine/conversation.pyConversationEngine + Session, the VAD-segmentation / barge-in / multi-turn / sentence-buffer / ASR→(LLM)→TTS orchestration loop ported from app/main.py.
  • voxedge/backends/mock.py — Mock backends so the whole engine runs end-to-end on a laptop with no CUDA.
  • voxedge/tests/ — proves the architecture runs end-to-end on Mac.

Design constraints

  • Pure Python. No CUDA / torch / tensorrt in the core. Heavy adapters live behind optional extras (voxedge[trt], voxedge[rknn]) — placeholders for now.
  • No env reads in the library. All config is injected as explicit params.

Quickstart (Phase 1a, mock backends)

import asyncio
from voxedge.engine import ConversationEngine
from voxedge.transport import InProcessTransport
from voxedge.backends.mock import MockASR, MockTTS, MockVAD

engine = ConversationEngine(
    backends={"asr": MockASR(), "tts": MockTTS(), "vad": MockVAD()},
    multi_utterance=True,
)
transport = InProcessTransport()
asyncio.run(engine.run(transport))

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

voxedge-0.0.1a0-py3-none-any.whl (192.6 kB view details)

Uploaded Python 3

File details

Details for the file voxedge-0.0.1a0-py3-none-any.whl.

File metadata

  • Download URL: voxedge-0.0.1a0-py3-none-any.whl
  • Upload date:
  • Size: 192.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for voxedge-0.0.1a0-py3-none-any.whl
Algorithm Hash digest
SHA256 f01513f678525b0f522afeea35d5751220dc654960d0fc480d63f422b89ee5c7
MD5 1b2a11f89bfe8340a7876a94dd4b315f
BLAKE2b-256 24a03cc8ca7645e81ff0411c162bee46726a8596ca1b5a7cff9cb8584c473c0d

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