Spaces:
Running
on
Zero
Running
on
Zero
File size: 635 Bytes
a602628 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import torchaudio
def load_audio_stereo(audio_path: str, target_sample_rate: int, max_duration: float):
"""Load audio, resample, convert to stereo, and truncate."""
audio, sr = torchaudio.load(audio_path)
if sr != target_sample_rate:
resampler = torchaudio.transforms.Resample(sr, target_sample_rate)
audio = resampler(audio)
if audio.shape[0] == 1:
audio = audio.repeat(2, 1)
elif audio.shape[0] > 2:
audio = audio[:2, :]
max_samples = int(max_duration * target_sample_rate)
if audio.shape[1] > max_samples:
audio = audio[:, :max_samples]
return audio, sr
|