Spaces:
Running
on
A10G
Running
on
A10G
# Copyright (c) 2023 Amphion. | |
# | |
# This source code is licensed under the MIT license found in the | |
# LICENSE file in the root directory of this source tree. | |
import torch.nn as nn | |
from .resample import * | |
# This code is adopted from BigVGAN under the MIT License | |
# https://github.com/NVIDIA/BigVGAN | |
class Activation1d(nn.Module): | |
def __init__( | |
self, | |
activation, | |
up_ratio: int = 2, | |
down_ratio: int = 2, | |
up_kernel_size: int = 12, | |
down_kernel_size: int = 12, | |
): | |
super().__init__() | |
self.up_ratio = up_ratio | |
self.down_ratio = down_ratio | |
self.act = activation | |
self.upsample = UpSample1d(up_ratio, up_kernel_size) | |
self.downsample = DownSample1d(down_ratio, down_kernel_size) | |
# x: [B,C,T] | |
def forward(self, x): | |
x = self.upsample(x) | |
x = self.act(x) | |
x = self.downsample(x) | |
return x | |