    def forward(self, x, y, context=None):
        """
        Args:
            x: Noisy mel-spectrogram [B x ``n_mel`` x L]
            y: FILM embeddings with the shape of (B, ``base_channel``)
            context: Context with the shape of [B x ``d_context`` x L], default to None.
        """

        h = self.input(x)

        skip = None
        for i in range(self.n_res_block):
            h, skip_connection = self.residual_blocks[i](h, y, context)
            skip = skip_connection if skip is None else skip_connection + skip

        out = skip / math.sqrt(self.n_res_block)

        out = self.out_proj(out)

        return out
Args:
x: Noisy mel-spectrogram [B x ``n_mel`` x L]
y: FILM embeddings with the shape of (B, ``base_channel``)
context: Context with the shape of [B x ``d_context`` x L], default to None.
modules/diffusion/bidilconv/bidilated_conv.py