def __call__(self, x: mx.array, *args):
        """
        Args:
            x (mx.array): (batch_size, input_channels, length)

        Returns:
            x (mx.array): (batch_size, encode_channels, length)
        """

        x = self.encoder(x)

        for modules in self.downsample:
            for module in modules:
                x = x.transpose(0, 2, 1)
                x = module(x)

        x = self.project(x)
        return x.transpose(0, 2, 1)

        Args:
            x (mx.array): (batch_size, input_channels, length)

        Returns:
            x (mx.array): (batch_size, encode_channels, length)
        
mlx_audio/tts/models/spark/modules/encoder_decoder/feat_encoder.py