AppleHolic / source_separation

Deep learning based speech source separation using Pytorch
Apache License 2.0
311 stars 45 forks source link

ComplexConv1d #30

Closed HaHsu0 closed 2 years ago

HaHsu0 commented 3 years ago

It seems your implementation of complex convolution combining 'grouped convolution' differs from others. I don't quite understand your implementation about the 'forward' in 'class ComplexConv1d', especially 'weight_B = torch.cat([self.B[:spl].data * (-1), self.B[spl:].data]); idea_part = F.conv1d(x, weight_B, None, stride=self.stride, padding=0, dilation=self.dilation, groups=2)'. What is your mean of 'idea channels', 'idea_part'? It would be appreciated if you can give me some detailed explanation about them.

AppleHolic commented 2 years ago

That should be an "imaginary part" that you can more understand that part. These channels start from given phases.

AppleHolic commented 2 years ago

Close it.