import tensorflow as tf

            dtype=tf.float32,
            shape=[len(vocab), size_layers],
            initializer=tf.truncated_normal_initializer(mean=0.0, stddev=0.01),
        )
        lookup_table = tf.concat((tf.zeros(shape=[1, size_layers]), lookup_table[1:, :]), 0)
        forward = tf.nn.embedding_lookup(lookup_table, self.X)
        self.Y = tf.placeholder(tf.float32, (None, None, n_mels * resampled))
        self.decoder_inputs = tf.concat((tf.zeros_like(self.Y[:, :1, :]), self.Y[:, :-1, :]), 1)
        self.decoder_inputs = self.decoder_inputs[:, :, -n_mels:]
        self.Z = tf.placeholder(tf.float32, (None, None, fourier_window_size // 2 + 1))

        batch_size = tf.shape(self.X)[0]
