hhguo's picture
update
37ced70
raw
history blame
1.05 kB
import os
from pathlib import Path
import torch
import torch.nn as nn
import torch.nn.functional as F
import torchaudio
def load_audio(audiopath, sampling_rate):
"""_summary_
Args:
audiopath (_type_): audio_path
sampling_rate (_type_): sampling_rate
Returns:
_type_: _description_
"""
audio, lsr = torchaudio.load(audiopath)
# stereo to mono if needed
if audio.size(0) != 1:
audio = torch.mean(audio, dim=0, keepdim=True)
# resample
audio_resampled = torchaudio.functional.resample(audio, lsr, sampling_rate)
if torch.any(audio > 10) or not torch.any(audio < 0):
print(f"Error with {audiopath}. Max={audio.max()} min={audio.min()}")
if torch.any(audio_resampled > 10) or not torch.any(audio_resampled < 0):
print(
f"Error with {audiopath}. Max={audio_resampled.max()} min={audio_resampled.min()}"
)
# clip audio invalid values
audio.clip_(-1, 1)
audio_resampled.clip_(-1, 1)
return audio, lsr, audio_resampled