(self, asr, F0_curve, N, s)
| 599 | ) |
| 600 | |
| 601 | def forward(self, asr, F0_curve, N, s): |
| 602 | F0 = self.F0_conv(F0_curve.unsqueeze(1)) |
| 603 | N = self.N_conv(N.unsqueeze(1)) |
| 604 | |
| 605 | x = torch.cat([asr, F0, N], axis=1) |
| 606 | x = self.encode(x, s) |
| 607 | |
| 608 | asr_res = self.asr_res(asr) |
| 609 | |
| 610 | res = True |
| 611 | for block in self.decode: |
| 612 | if res: |
| 613 | x = torch.cat([x, asr_res, F0, N], axis=1) |
| 614 | x = block(x, s) |
| 615 | if block.upsample_type != "none": |
| 616 | res = False |
| 617 | |
| 618 | x = self.generator(x, s, F0_curve) |
| 619 | return x |