FlashSR_One-step_Versatile_Audio_Super-resolution / TorchJaekwon /Model /AudioModule /Resample /DownSample1d.py
Download TorchJaekwon/Model/AudioModule/Resample/DownSample1d.py from laion/FlashSR_One-step_Versatile_Audio_Super-resolution: direct link, hf CLI and curl.
- Browser
- Download file 649 Bytes
-
https://huggingface.co/laion/FlashSR_One-step_Versatile_Audio_Super-resolution/resolve/main/TorchJaekwon/Model/AudioModule/Resample/DownSample1d.py
- Command line
-
hf download hf://laion/FlashSR_One-step_Versatile_Audio_Super-resolution/TorchJaekwon/Model/AudioModule/Resample/DownSample1d.py
-
curl -L -o DownSample1d.py https://huggingface.co/laion/FlashSR_One-step_Versatile_Audio_Super-resolution/resolve/main/TorchJaekwon/Model/AudioModule/Resample/DownSample1d.py
649 Bytes
| import torch.nn as nn | |
| from TorchJaekwon.Model.AudioModule.Filter.LowPassFilter1d import LowPassFilter1d | |
| class DownSample1d(nn.Module): | |
| def __init__(self, ratio=2, kernel_size=None): | |
| super().__init__() | |
| self.ratio = ratio | |
| self.kernel_size = int(6 * ratio // 2) * 2 if kernel_size is None else kernel_size | |
| self.lowpass = LowPassFilter1d(cutoff=0.5 / ratio, | |
| half_width=0.6 / ratio, | |
| stride=ratio, | |
| kernel_size=self.kernel_size) | |
| def forward(self, x): | |
| xx = self.lowpass(x) | |
| return xx |