Perform in-place resampling during read_audio.

This commit is contained in:
Yair Lifshitz
2024-02-14 17:11:57 -05:00
parent a65732a393
commit bf18ea6b56

View File

@@ -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)