Skip to main content

Speaker diarization for Python — who spoke when. Rust + ONNX, no Python runtime overhead. K-means/AHC clustering, overlap detection.

Project description

polyvoice

CI PyPI License: MIT

Speaker diarization for Python — who spoke when.

Rust-powered, ONNX-based speaker diarization that runs on CPU, fits in 30 MB, and requires zero Python runtime overhead. Pipeline v2 with K-means auto-k clustering and overlap detection.

Install

pip install polyvoice

Requires Python 3.9+.

Quick start

import polyvoice

# Models auto-download on first run (~30 MB)
pipeline = polyvoice.Pipeline.balanced()

result = pipeline.run(samples, sample_rate=16000)

print(f"Speakers: {result['num_speakers']}")
for turn in result["turns"]:
    print(f"Speaker {turn['speaker']}: {turn['start']:.1f}s - {turn['end']:.1f}s")

API

  • polyvoice.Pipeline.balanced(models_cache=None) — balanced accuracy / speed.
  • polyvoice.Pipeline.mobile(models_cache=None) — smaller, faster model.
  • pipeline.run(samples, sample_rate)dict with num_speakers and turns.

Performance

Pipeline VoxConverse DER Model size
Hybrid + K-means 14.12% ~30 MB

See the full repository for Rust / C / CLI APIs, benchmarks, and development docs.

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 Distributions

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

polyvoice-0.8.0-cp312-cp312-win_amd64.whl (8.4 MB view details)

Uploaded CPython 3.12Windows x86-64

polyvoice-0.8.0-cp312-cp312-manylinux_2_38_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.38+ x86-64

polyvoice-0.8.0-cp312-cp312-macosx_11_0_arm64.whl (9.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file polyvoice-0.8.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: polyvoice-0.8.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 8.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for polyvoice-0.8.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1bb1e5e1e3b26c5dc8470515b87491df24c9e4ff3b7f4b67b99cf7cf262dd779
MD5 82769827bca5c203047f4ccdaff92613
BLAKE2b-256 7c604c744d69194e21736a30a73c7eb457a5ab89f6fce49132563d6640ed8492

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyvoice-0.8.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on ekhodzitsky/polyvoice

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polyvoice-0.8.0-cp312-cp312-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for polyvoice-0.8.0-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 3190c486a527faf36554a681881abab22fefe31c0423ca5cfe424e0ba7c173e5
MD5 a90989c9ebf9e36d2891ec7d7d370152
BLAKE2b-256 457274d9353c7f904e2da3f7297a5ae48e79818dd387a7650db1b28dace4d9c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyvoice-0.8.0-cp312-cp312-manylinux_2_38_x86_64.whl:

Publisher: release.yml on ekhodzitsky/polyvoice

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polyvoice-0.8.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for polyvoice-0.8.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5464e5f7ec574d54642395d43a1a4f0f006050e6176dfdc9ae291e896f7e59d9
MD5 5f4360b3571b55b628ef0e3194126836
BLAKE2b-256 03c4186080c2e75c60eb261c720a4b9288b1a72206926e887931844a4711de83

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyvoice-0.8.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on ekhodzitsky/polyvoice

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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