class_docstr: This encoder maps directly from audio to synthesizer parameters.
  
  EXPERIMENTAL
  
  It is equivalent of a base Encoder and Decoder together.
docstr: Updates conditioning with z and (optionally) f0.
docstr_tok: ["Updates","conditioning","with","z","and","(","optionally",")","f0","."]
code: def call(self, audio):
      """Updates conditioning with z and (optionally) f0."""
      outputs = {}
  
      # [batch, 64000, 1]
      mag = self.spectral_fn(audio)
  
      # [batch, 125, 229]
      mag = mag[:, :, :, tf.newaxis]
      x = self.resnet(mag)
  
      # [batch, 125, 8, 1024]
      # # Collapse the frequency dimension.
      x = tf.reshape(x, [int(x.shape[0]), int(x.shape[1]), -1])
  
      # [batch, 125, 8192]
      for layer, key in zip(self.dense_outs, self.output_keys):
          outputs[key] = layer(x)
  
      return outputs
  
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 ResnetSinusoidalEncoder obj's underlying member method code with example usage: obj.call(audio) and returns: outputs