class_docstr: Get latent variable from MFCCs, loudness, and pitch.
code: def compute_z(self, *inputs):
      if self.compute_mfccs:
          audio_idx = self.input_keys.index("audio")
          audio = inputs.pop(audio_idx)
          n_t = inputs[0].shape[1]
  
          mfccs = spectral_ops.compute_mfcc(
              audio,
              lo_hz=20.0,
              hi_hz=8000.0,
              fft_size=self.fft_size,
              mel_bins=self.mel_bins,
              mfcc_bins=self.mfcc_bins,
          )
          mfccs_scaled = self.norm_mfcc(mfccs)
          mfccs_scaled = ddsp.core.resample(mfccs_scaled, n_t)
          inputs.append(mfccs_scaled)
  
      x = tf.concat(inputs, axis=-1)
      z = self.net(x)
      z = self.norm(z)
      z = self.dense_out(z)
  
      if self.pool_time:
          z = tf.reduce_mean(z, axis=1, keepdims=True)
  
      return z
  
imports: import ddsp
  from ddsp import spectral_ops
  from ddsp.training import nn
  import gin
  import tensorflow.compat.v2
label_desc: Use image node_id 2 for calling the ExpressionEncoder obj's underlying member method code with example usage: obj.compute_z() and returns: z