Lalk
Real-time voice agents, built for natural conversation.
A Python SDK, server, and desktop workspace for real-time voice agents.
English | 简体中文
Overview
Lalk brings the complete real-time voice pipeline into one project: microphone capture, voice activity detection, turn detection, speech recognition, Agent execution, speech synthesis, interruption handling, observability, a local server, and a Tauri desktop application.
The Python SDK is modular, so each audio, ASR, VAD, Agent, TTS, and turn-detection component can be replaced independently. The desktop application packages the Python server as a local sidecar and keeps runtime traffic on localhost.
Core Capabilities
- Full-duplex voice sessions with natural user interruption.
- Native macOS VoiceProcessingIO audio with echo cancellation.
- Silero VAD, adaptive input gating, and Smart Turn semantic turn detection.
- Local ASR and interchangeable cloud speech recognition implementations.
- Bumblehive-powered Agent runtime with streaming events and tool execution.
- Streaming TTS with word-level playback marks.
- Conversation inactivity policies and proactive follow-up support.
Platform Support
Lalk currently targets Apple Silicon Macs (M-series) running macOS 14 or later.
Requirements
- Apple Silicon Mac
- macOS 14+
- Python 3.11+
- Node.js 22+
- pnpm 10.33.0
- Rust stable toolchain
- Xcode Command Line Tools
Quick Start
Install the Python SDK from PyPI:
python -m pip install lalk
For repository development, create and activate a Python environment:
conda create -n lalk_env python=3.11 -y
Install all project dependencies and verify the environment:
pnpm run setup
The setup command prepares the Python and Node.js dependencies required for development and desktop packaging.
If downloading from the default PyPI index is slow, use the Tsinghua PyPI mirror for this setup command only:
PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple pnpm run setup
Development
Start the local server on 127.0.0.1:17841:
pnpm dev:server
In another terminal, start the WebUI:
pnpm dev:web
Start the desktop application in development mode:
pnpm dev:desktop
Build the Desktop App
Create the Apple Silicon macOS application and DMG installer:
pnpm build:desktop
The installer is written to:
desktop/src-tauri/target/aarch64-apple-darwin/release/bundle/dmg/
The build pipeline automatically:
- Compiles the native VoiceProcessingIO library.
- Packages the Python server as the
lalk-serversidecar. - Builds the React WebUI.
- Bundles and signs the Tauri application locally.
- Creates the Apple Silicon DMG.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lalk-0.1.0.tar.gz.
File metadata
- Download URL: lalk-0.1.0.tar.gz
- Upload date:
- Size: 9.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5852a9c90f6357a340cf8422c5705e588e5e4ef28b059edcc96821172b95854b
|
|
| MD5 |
2b338d41727bfbc2128a6a29fa8b174f
|
|
| BLAKE2b-256 |
c4d301da55612f6ec1de3cbd49cb069026e204d5b8431ace906348960ab4d878
|
Provenance
The following attestation bundles were made for lalk-0.1.0.tar.gz:
Publisher:
sdk-release.yml on WithLing/lalk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lalk-0.1.0.tar.gz -
Subject digest:
5852a9c90f6357a340cf8422c5705e588e5e4ef28b059edcc96821172b95854b - Sigstore transparency entry: 2698229131
- Sigstore integration time:
-
Permalink:
WithLing/lalk@237d6cb469612c367c7ee84f661d4d1121997e6e -
Branch / Tag:
refs/tags/sdk-v0.1.0 - Owner: https://github.com/WithLing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
sdk-release.yml@237d6cb469612c367c7ee84f661d4d1121997e6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file lalk-0.1.0-py3-none-any.whl.
File metadata
- Download URL: lalk-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a2e3dc6ef9c4dde1c4e94468eef4a939c3ba82e9d0601061635c207ad151c24
|
|
| MD5 |
cfb33ff7a42255648460b1f2eb9ac90d
|
|
| BLAKE2b-256 |
826ca2225551d921b84c2225206e3dc59a3e7c8d0367f2d495b3d92e221d0b90
|
Provenance
The following attestation bundles were made for lalk-0.1.0-py3-none-any.whl:
Publisher:
sdk-release.yml on WithLing/lalk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lalk-0.1.0-py3-none-any.whl -
Subject digest:
5a2e3dc6ef9c4dde1c4e94468eef4a939c3ba82e9d0601061635c207ad151c24 - Sigstore transparency entry: 2698229150
- Sigstore integration time:
-
Permalink:
WithLing/lalk@237d6cb469612c367c7ee84f661d4d1121997e6e -
Branch / Tag:
refs/tags/sdk-v0.1.0 - Owner: https://github.com/WithLing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
sdk-release.yml@237d6cb469612c367c7ee84f661d4d1121997e6e -
Trigger Event:
push
-
Statement type: