Skip to main content

Akiki

Akiki is a lightweight Python package for streaming voice activity detection. It identifies speech in audio and returns a speech probability, a speech/silence decision, and timestamps for each 16 ms frame.

The model is included in the package. Processing runs locally, without a model download, network connection, or external service.

Install

Requires Python 3.10 or later.

pip install akiki

Or add it to a uv project:

uv add akiki

The base installation uses the bundled Rust engine on supported hosts. On other platforms, install an alternate engine with pip install 'akiki[onnx]' or pip install 'akiki[pytorch]'.

Python usage

Akiki accepts mono audio sampled at 16,000 Hz.

import soundfile as sf
from akiki import VAD

audio, sample_rate = sf.read("recording.wav", dtype="float32")

with VAD() as vad:
    for frame in vad.push(audio, sample_rate=sample_rate):
        print(frame.start_seconds, frame.end_seconds,
              frame.probability, frame.speech)

For live audio, call vad.push() repeatedly with successive audio buffers. Buffers can have any length; incomplete frames are retained for the next call. Call vad.reset() before starting a new recording. A final incomplete frame is not padded or scored.

Use VAD(threshold=0.6) to set the speech decision threshold. Every frame still includes its probability, regardless of the threshold.

Command line

akiki recording.wav
akiki recording.wav --threshold 0.6

The command prints one JSON object per complete frame, containing its timestamps, speech probability, and speech decision.

Inference engines

Linux x86_64 wheels include the compiled Rust engine for systems with glibc 2.34 or later. Pip and uv select the compatible wheel automatically; no Rust toolchain is needed to install it.

Akiki selects the Rust engine when a compatible native library is available, then tries ONNX Runtime and PyTorch if they are installed. Both are optional; the base package requires neither runtime.

To use ONNX Runtime:

pip install 'akiki[onnx]'
# or: uv add 'akiki[onnx]'

To use PyTorch:

pip install 'akiki[pytorch]'
# or: uv add 'akiki[pytorch]'

The PyTorch extra does not install ONNX Runtime. Install akiki[onnx,pytorch] if you want both alternatives. If no engine is available, Akiki raises an error with installation instructions.

Choose an engine with VAD(engine="rust"), VAD(engine="onnx"), or VAD(engine="pytorch"). The command-line equivalent is --engine rust, --engine onnx, or --engine pytorch. An explicitly selected engine raises an error if it is unavailable. Check vad.engine to see the active engine.

All engines use the same bundled model and streaming API.

License

The package and bundled Akiki model weights are licensed under Apache-2.0.

Metadata

Release files for akiki 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for akiki 0.0.4
File Size Uploaded Provenance
akiki-0.0.4.tar.gz 2.9 MB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for akiki 0.0.4
File Interpreter ABI Platform
akiki-0.0.4-py3-none-manylinux_2_34_x86_64.whl Python 3 none Linux glibc 2.34+ x86-64 Details
akiki-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 9.5 MB

Release files / akiki-0.0.4.tar.gz

Download URL akiki-0.0.4.tar.gz
Size 2.9 MB
Tags Source
SHA-256 checksum
How to use checksums
f83a17d9c9f9cf419c124facd2b10196c6584c325c4a48b06cf8b108d698e804
BLAKE2b-256 checksum
How to use checksums
833a24b0c5f23f047f6a3351a423a5a4027e3c7e60ee3f9dbf8fbfe0987ee71b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / akiki-0.0.4-py3-none-manylinux_2_34_x86_64.whl

Download URL akiki-0.0.4-py3-none-manylinux_2_34_x86_64.whl
Size 3.7 MB
Tags Linux glibc 2.34+ x86-64 Python 3
SHA-256 checksum
How to use checksums
86d536287ba3871cb0de63e5d3318256f3f38fb35a53672a66c32a36831c2aa9
BLAKE2b-256 checksum
How to use checksums
dddf6efcd965f749bc6c5f667e5e12b4ffadc925d27e3a98ba423ef18f527232
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / akiki-0.0.4-py3-none-any.whl

Download URL akiki-0.0.4-py3-none-any.whl
Size 2.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
18b980c09b1edd09142bf0c990276b21ffcec4ec4e2d053079bc38d4176cfde2
BLAKE2b-256 checksum
How to use checksums
928b8ed00b4be906c3fc6014a654c2570a21d4641d9d40942c37165c1bd9053a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for akiki 0.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page