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.2% ~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.19.0-cp312-cp312-win_amd64.whl (8.6 MB view details)

Uploaded CPython 3.12Windows x86-64

polyvoice-0.19.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.19.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.19.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: polyvoice-0.19.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.19.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d5277b39ad2ff1e859a9ec9b1b27fd1a431c206915d55f630abcc6999c5a3a9f
MD5 fe9b513a048dfa425c607e144f522113
BLAKE2b-256 6864c12fb6fbec1cb230df033876e42238c14c1c0f2595390178bebb65d3ce0a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for polyvoice-0.19.0-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 9b89f5611a6159802ecf60917b9fc7980571399f634c6437c7e13dac3038a34d
MD5 f619d5970b3c422d68e5a1460215c648
BLAKE2b-256 f000d87fb213f45947fdbbca21b4fa190a63e9885ce39b2748859e6b98b7e981

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for polyvoice-0.19.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8348697868a26a701f82a3caa2f435cecf5edd58a2e67eb10a87dc960c4ebe5a
MD5 6671e27d7d80c9fafc143e2b91520564
BLAKE2b-256 27dd26237ea91e900cb9d215f7e00470be135dc9a366d4d93c4fe926eda11e41

See more details on using hashes here.

Provenance

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

This release

0.19.0 This release

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