Spaces:
Runtime error
Runtime error
| import torch | |
| from torchaudio.transforms import Resample | |
| from torchvision.transforms import RandomCrop | |
| class Transform(torch.nn.Module): | |
| def __init__( | |
| self, | |
| input_sample_rate, | |
| sample_rate, | |
| max_seconds, | |
| normalize, | |
| *args, | |
| **kwargs | |
| ): | |
| super().__init__() | |
| self.input_sample_rate = input_sample_rate | |
| self.sample_rate = sample_rate | |
| self.resample = Resample(orig_freq=input_sample_rate, new_freq=sample_rate) | |
| self.random_crop = RandomCrop((1, int(max_seconds * sample_rate)), pad_if_needed=True) | |
| self.normalize = normalize | |
| def forward(self, waveform: torch.Tensor) -> torch.Tensor: | |
| if self.input_sample_rate != self.sample_rate: | |
| waveform = self.resample(waveform) | |
| if self.normalize: | |
| waveform = waveform / torch.std(waveform) | |
| cropped = self.random_crop(waveform) | |
| return cropped | |