Load audio as waveform dict for pyannote (torchcodec unavailable on ROCm)

This commit is contained in:
2026-07-11 00:29:47 +02:00
parent 1b54e8ae5b
commit 36fc233d5c
+12 -1
View File
@@ -25,8 +25,19 @@ def get_diarization_pipeline() -> Pipeline:
def diarize(audio_path: str) -> list[dict]:
import torch
import soundfile as sf
pipeline = get_diarization_pipeline()
diarization = pipeline(audio_path)
waveform, sample_rate = sf.read(audio_path, dtype="float32")
if waveform.ndim > 1:
waveform = waveform.mean(axis=1)
audio_input = {
"waveform": torch.from_numpy(waveform).unsqueeze(0),
"sample_rate": sample_rate,
}
diarization = pipeline(audio_input)
segments = []
for turn, _, speaker in diarization.itertracks(yield_label=True):