Skip to main content

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 VBx 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, clusterer=None, vbx_plda_dir=None) — balanced accuracy / speed.
  • polyvoice.Pipeline.mobile(models_cache=None, clusterer=None, vbx_plda_dir=None) — smaller, faster model. clusterer is "vbx" (default, matching the CLI) or "ahc". VBx resolves its PLDA params via vbx_plda_dir, then the POLYVOICE_VBX_PLDA_DIR env var, then a registry download.
  • pipeline.run(samples, sample_rate)dict with num_speakers and turns.
  • pipeline.run_result(samples, sample_rate) → typed DiarizationResult with .to_json() / .to_rttm() / .to_srt() / .to_vtt() / .to_txt() projections.
  • polyvoice.DiarizationResult.from_json(json) — re-hydrate a saved result.

Performance

Pipeline VoxConverse-test DER (collar 0, overlap-scored) Model size
default (v2+VBx) 15.4% ~30 MB

Full protocol, collar/averaging disclosure, and competitor numbers: docs/BENCHMARKS.md.

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

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

Uploaded CPython 3.12Windows x86-64

polyvoice-0.14.0-cp312-cp312-manylinux_2_38_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.38+ x86-64

polyvoice-0.14.0-cp312-cp312-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: polyvoice-0.14.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 8.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for polyvoice-0.14.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4bb6bda4cfef2fc1fcf9a41b5ec9b58c3c3b1ca02584302c2ff49626c168fb68
MD5 e809e80af919660f769ca5ea4a7750ca
BLAKE2b-256 65d2581e1f0622cd061e8708de56304b5519a275141cb84231d22cba0224270b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for polyvoice-0.14.0-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 c8cf1fbea55b8779bf85ffb23c7aed3c620a8f7629bfafc1eea26b30f562a751
MD5 d69f09469a15e61121e4a4028d8d5b2f
BLAKE2b-256 8190bf9aafe3e10b16fad23dfdeaef2dced2b7385497eb762dd6ecaac5a0d94e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for polyvoice-0.14.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 06a16b2f43c9c499f118c012ea2cc280a9776ce0009944c225c8e9756bd96742
MD5 e026f4ba4d588b98d741b2593393a17a
BLAKE2b-256 624035774a59429ff29c2a35aafa113b9a5f273569863dc1acf58b13737673d0

See more details on using hashes here.

Provenance

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

Release history Release notifications | RSS feed

0.20.0

3 files

0.19.0

3 files

0.17.0

3 files

This release

0.14.0 This release

3 files

0.12.0

3 files

0.11.0

3 files

0.10.0

3 files

0.9.0

3 files

0.8.0

3 files

0.7.0

3 files

0.6.9

3 files

0.6.8

3 files

0.6.7

1 file

0.6.6

3 files

0.6.5

5 files

0.6.3

3 files

0.6.2

3 files

0.6.1

3 files

0.6.0

3 files

0.5.2

4 files

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