codes: (B, 1+acoustic_dim, T) -> (B, semantic_dim+acoustic_dim, T)
(
self, codes: torch.Tensor, dtype: torch.dtype = torch.float32
)
| 1269 | self.acoustic_dim = config.acoustic_dim |
| 1270 | |
| 1271 | def decode( |
| 1272 | self, codes: torch.Tensor, dtype: torch.dtype = torch.float32 |
| 1273 | ) -> torch.Tensor: |
| 1274 | """codes: (B, 1+acoustic_dim, T) -> (B, semantic_dim+acoustic_dim, T)""" |
| 1275 | semantic_codes = codes[:, :1, :] |
| 1276 | acoustic_codes = codes[:, 1:, :] |
| 1277 | sem_emb = self.semantic_codebook.decode(semantic_codes).to(dtype) |
| 1278 | aco_emb = self.acoustic_codebook.decode(acoustic_codes, dtype) |
| 1279 | return torch.cat([sem_emb, aco_emb], dim=1) |
| 1280 | |
| 1281 | |
| 1282 | # --------------------------------------------------------------------------- |