callcut.io.scan_recordings🔗

callcut.io.scan_recordings(recordings)[source]🔗

Scan recordings and return metadata for valid ones.

Filters recordings to only include those with:

  • An existing annotation file (*_annotations.csv)

  • Valid audio metadata (readable duration)

  • At least one valid annotation

Parameters:
recordingslist of Path | str

Paths to audio files.

Returns:
recording_infoslist of RecordingInfo

Metadata for valid recordings, sorted by audio path.

Examples

>>> from pathlib import Path
>>> from callcut.io import scan_recordings
>>>
>>> recordings = scan_recordings(list(Path("data/").glob("*.wav")))
>>> len(recordings)
42
>>> total_duration = sum(r.duration_s for r in recordings)
>>> total_annotations = sum(r.n_annotations for r in recordings)