Hii, after some tests, I found out that using a Linear layer to deal with audio signals is a bad ideia because it kinda loses the time reference? I don’t quite understand the mathematics behind, but all my tests and models points towards that.
I manage insert 2 middle layers that still reduces the size of the model, using 1 extra conv1D and 1 convTranspose1d.
I will leave my final model here for it might help other people facing the same issue.
Thank you for all the explanations!!
class Convautoenc(nn.Module):
    def __init__(self):
        super(Convautoenc, self).__init__()
        self.conv1=nn.Conv1d(in_channels=1, out_channels=16, kernel_size=1024, stride=1, padding=1023, bias=True)    
        self.conv2=nn.Conv1d(in_channels=16, out_channels=32, kernel_size=512, stride=8, padding=1, bias=True)
        self.synconv2=nn.ConvTranspose1d(in_channels=32, out_channels=16, kernel_size=512, stride=8, padding=1, bias=True)
        self.synconv1=nn.ConvTranspose1d(in_channels=16, out_channels=1, kernel_size=1023, stride=1, padding=1022, bias=True)


    def encoder(self, x):
        x = self.conv1(x)
        x = torch.tanh(x)
        x = self.conv2(x)
        return x
      
    def decoder(self, y):
        y = self.synconv2(y)
        y = self.synconv1(y)
        return y
      
    def forward(self, x):
        y=self.encoder(x)
        y=self.decoder(y)
        return y