4.0.2

Zielon/INSTA4.0.2Nov 19, 2025by github-actions[bot]

AI Summary

This release focuses on bug fixes for PyTorch compatibility, updates to the pyannoteAI wrapper, and introduces new pipeline and CLI features including CUDA support and directory processing capabilities.

Key Highlights

  • Fixed segmentation faults by pinning torch, torchcodec, and torchaudio versions
  • Added `Pipeline.cuda()` convenience method for GPU acceleration
  • Added CLI option to apply pipeline on a directory of audio files
  • Updated pyannoteAI wrapper to return both regular and exclusive diarization

Breaking Changes

  • BREAKING: `Binarize.__call__` now returns `string` tracks instead of `int`

New Features

  • Added `preload` option to base `Pipeline.__call__`
  • Improved `permutate` utility speed using vectorized cost function
  • Added `Pipeline.cuda()` method

Full Release Notes

## What's Changed

- BREAKING(util): make `Binarize.__call__` return `string` tracks (instead of `int`) [@benniekiss](https://github.com/benniekiss/)
- fix(torch): pin `torch`, `torchcodec`, and `torchaudio` versions to [avoid segmentation fault](https://github.com/meta-pytorch/torchcodec/issues/995) 
- fix(pyannoteAI): update pyannoteAI wrapper to return both regular and exclusive diarization
- feat(pipeline): add `Pipeline.cuda()` convenience method [@tkanarsky](https://github.com/tkanarsky/)
- feat(pipeline): add `preload` option to base `Pipeline.__call__` to force preloading audio in memory ([@antoinelaurent](https://github.com/antoinelaurent/))
- feat(cli): add option to apply pipeline on a directory of audio files
- improve(util): make `permutate` faster thanks to vectorized cost function

## New Contributors
* @tkanarsky made their first contribution in https://github.com/pyannote/pyannote-audio/pull/1950

**Full Changelog**: https://github.com/pyannote/pyannote-audio/compare/4.0.1...4.0.2