Skip to content

v0.2.2

Choose a tag to compare

@roboalchemist roboalchemist released this 26 Mar 18:21
· 23 commits to main since this release

Fix diarization OOM on long audio files

Breaking change: None — drop-in fix.

What changed

  • diarize() now uses model.generate_stream() (chunked streaming) instead of model.generate() (full-file, O(n²) memory)
  • Added _merge_diarization_segments() for cross-chunk speaker segment merging
  • 9 new unit tests + 2 integration tests with 82-min public domain podcast

Before/After

  • Before: 48-min file → [metal::malloc] Attempting to allocate 83404284800 bytes (OOM)
  • After: 48-min file → 12.6s diarization (289 chunks, 712 segments, 4 speakers)

Other fixes

  • Fixed test_cli.py hardcoded version string
  • Updated CLAUDE.md with current line counts