From bf18ea6b560a700565d77bcd8316981f4dcff97e Mon Sep 17 00:00:00 2001 From: Yair Lifshitz Date: Wed, 14 Feb 2024 17:11:57 -0500 Subject: [PATCH] Perform in-place resampling during read_audio. --- utils_vad.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/utils_vad.py b/utils_vad.py index 3d056b9..7ae152b 100644 --- a/utils_vad.py +++ b/utils_vad.py @@ -122,16 +122,12 @@ class Validator(): def read_audio(path: str, sampling_rate: int = 16000): - wav, sr = torchaudio.load(path) + effects = [ + ['channels', '1'], + ['rate', str(sampling_rate)] + ] - if wav.size(0) > 1: - wav = wav.mean(dim=0, keepdim=True) - - if sr != sampling_rate: - transform = torchaudio.transforms.Resample(orig_freq=sr, - new_freq=sampling_rate) - wav = transform(wav) - sr = sampling_rate + wav, sr = torchaudio.sox_effects.apply_effects_file(path, effects=effects) assert sr == sampling_rate return wav.squeeze(0)