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.9.0-cp312-cp312-win_amd64.whl (8.4 MB view details)

Uploaded CPython 3.12Windows x86-64

polyvoice-0.9.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.9.0-cp312-cp312-macosx_11_0_arm64.whl (9.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: polyvoice-0.9.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.9.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c5877dc040eb8da921d125a6a3971d81e2e656e3a86c0dd0acb5aadfa8f51ec7
MD5 07fed501c9de7f41359c8dfea3fccac7
BLAKE2b-256 12fadab3ade4f9947b1db96b842192c63afcab3ab9b012dea87054e37cd0458a

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyvoice-0.9.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.9.0-cp312-cp312-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for polyvoice-0.9.0-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 8947e9c463bcfe488ce65bc18aff4e6b210d9b320ce9161ae3a1472ca9fd8694
MD5 e01b1dbc8c59af99e53f7fc40f5d728c
BLAKE2b-256 1eebb1c086dc44552273c2781e8a0e4747d9a6af9ff37453759bdea33a2e56b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyvoice-0.9.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.9.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for polyvoice-0.9.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3695f6b440d42ccfb66bc845e86b5037ede189844650c8ac111d6c8a1368dcd3
MD5 85cb4c93abfe88e728c90f2d134c1b93
BLAKE2b-256 765fcfa4f7af6979a3b727c76dad6720103368eecabadae8ee61209be1957c02

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyvoice-0.9.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