Extract speaker embedding from fbank features. Args: x (Tensor): Input fbank features, shape (batch, time, feat_dim). Returns: Tensor: Speaker embedding, shape (batch, embedding_size) for segment level, or (batch, time, channels) for frame le
(self, x)
| 139 | torch.nn.init.zeros_(m.bias) |
| 140 | |
| 141 | def forward(self, x): |
| 142 | """Extract speaker embedding from fbank features. |
| 143 | |
| 144 | Args: |
| 145 | x (Tensor): Input fbank features, shape (batch, time, feat_dim). |
| 146 | |
| 147 | Returns: |
| 148 | Tensor: Speaker embedding, shape (batch, embedding_size) for segment level, |
| 149 | or (batch, time, channels) for frame level. |
| 150 | """ |
| 151 | x = x.permute(0, 2, 1) # (B,T,F) => (B,F,T) |
| 152 | x = self.head(x) |
| 153 | x = self.xvector(x) |
| 154 | if self.output_level == "frame": |
| 155 | x = x.transpose(1, 2) |
| 156 | return x |
| 157 | |
| 158 | def inference( |
| 159 | self, |