ref: 00580a63aa4d0f796bd9b11c7514fce7c09dcd94
parent: aad74fdfd6ffe7df1986cfb6f410f203c16ab094
author: Jan Buethe <jbuethe@amazon.de>
date: Fri Sep 22 07:39:22 EDT 2023
bugfix
--- a/dnn/torch/osce/models/lavoce.py
+++ b/dnn/torch/osce/models/lavoce.py
@@ -89,6 +89,7 @@
self.kernel_size = kernel_size
self.preemph = preemph
self.pulses = pulses
+ self.ftrans_k = ftrans_k
assert self.FEATURE_FRAME_SIZE % self.FRAME_SIZE == 0
self.upsamp_factor = self.FEATURE_FRAME_SIZE // self.FRAME_SIZE
@@ -145,7 +146,7 @@
f = (2.0 * torch.pi / periods[:, sframe]).unsqueeze(-1)
if self.pulses:
- alpha = torch.cos(f)
+ alpha = torch.cos(f).view(batch_size, 1, 1)
chunk_sin = torch.sin(f * progression + phase0).view(batch_size, 1, self.FRAME_SIZE)
pulse_a = torch.relu(chunk_sin - alpha) / (1 - alpha)
pulse_b = torch.relu(-chunk_sin - alpha) / (1 - alpha)
@@ -186,7 +187,7 @@
def feature_transform(self, f, layer):
f = f.permute(0, 2, 1)
- f = F.pad(f, [1, 0])
+ f = F.pad(f, [self.ftrans_k - 1, 0])
f = torch.tanh(layer(f))
return f.permute(0, 2, 1)
--- a/dnn/torch/osce/models/lavoce_400.py
+++ b/dnn/torch/osce/models/lavoce_400.py
@@ -130,7 +130,7 @@
f = (2.0 * torch.pi / periods[:, sframe]).unsqueeze(-1)
if self.pulses:
- alpha = torch.cos(f)
+ alpha = torch.cos(f).view(batch_size, 1, 1)
chunk_sin = torch.sin(f * progression + phase0).view(batch_size, 1, self.FRAME_SIZE)
pulse_a = torch.relu(chunk_sin - alpha) / (1 - alpha)
pulse_b = torch.relu(-chunk_sin - alpha) / (1 - alpha)
--
⑨