Skip to main content

polyvoice

CI PyPI License: MIT

Speaker diarization for Python — who spoke when.

Rust-powered speaker diarization that runs on CPU, fits in ~8.4 MB INT8, and requires zero Python runtime overhead. The wheel still uses ONNX Runtime (the Rust CLI default since 0.18 is hand-written kernels). 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 (~8.4 MB INT8)
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, INT8) 15.0% ~8.4 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.20.0-cp312-cp312-win_amd64.whl (8.6 MB view details)

Uploaded CPython 3.12Windows x86-64

polyvoice-0.20.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.20.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.20.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: polyvoice-0.20.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.20.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 88d020765a5c64051d82937a560bac09f93ffe8b914386c9d22edc150c481f6c
MD5 c6977dc877a836e69631b02e77bf3526
BLAKE2b-256 1d2ac68abd1f12e3fb10393e5cffaeafae20f40921047745e00a2a6b0a05d8b7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for polyvoice-0.20.0-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 e8f72653715f038204fd74f41339f3ef90ff34c325cf3efa4835606ebe053a9b
MD5 490578608d214df5f79d45c110cc619c
BLAKE2b-256 b4ea9e34ad7f9ac403aee47f0b56c57e061784d1a2138e8930deec87f06f66a5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for polyvoice-0.20.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b80a7c14aae8fdd6410ddc97f8edf4224bed4bc2f6de1f2973e6bfe74226486d
MD5 2b2a521324523514498c9adf13919fc1
BLAKE2b-256 798a1daa3ef145d4ad2685dd97c5c002f8b437cd2d8055ecff7627b3f821517b

See more details on using hashes here.

Provenance

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

This release

0.20.0 This release

3 files

0.19.0

3 files

0.17.0

3 files

0.14.0

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