polyvoice 0.6.5

Speaker diarization library for Rust — online and offline, ONNX-powered, ecosystem-agnostic
Documentation
# src/types

## Purpose

Core data types, configuration structs, and newtypes for polyvoice. This is
the type foundation that all other modules build on.

## Surfaces

- `SpeakerId`, `SpeakerIdRemap`
- `DiarizationConfig`, `ClusterConfig`, `WindowConfig`, `SpeechFilterConfig`
- `Profile`
- `SampleRate`, `Confidence`, `Seconds`
- `TimeRange`, `Segment`, `SpeakerTurn`, `WordAlignment`
- `DiarizationResult`
- `remap_segments`, `remap_turns`

## Dependencies

None (self-contained).

## Invariants

- SampleRate ∈ [8000, 192000].
- Confidence ∈ [0.0, 1.0].
- TimeRange.start ≤ TimeRange.end.

## Verification

```bash
cargo test --lib types
```

## Notes

- Newtypes use validated constructors to make invalid states unrepresentable.