Spaces:
Building
Building
import scipy | |
import numpy as np | |
import torchaudio | |
import torch | |
from pathlib import Path | |
from typing import Tuple | |
def load_raw_audio(path: str) -> np.array: | |
assert path.exists(), f"Audio path {path} does not exist" | |
rate, signal = scipy.io.wavfile.read(path) | |
return rate, signal | |
def load_audio_tensor(path: Path, device=None) -> Tuple[torch.Tensor, int]: | |
assert path.exists(), f"Audio path {path} does not exist" | |
signal, rate = torchaudio.load(str(path)) | |
if device is not None: | |
signal = signal.to(device) | |
return signal, rate | |
def save_audio_tensor(path: Path, signal: torch.Tensor, sampling_rate: int): | |
torchaudio.save( | |
str(path), | |
signal.detach().cpu(), | |
sample_rate=sampling_rate, | |
channels_first=True | |
) | |