class_docstr: Create self-supervised control signal.
  
  EXPERIMENTAL
  
  Pass file_pattern to tfrecords created by `ddsp_generate_synthetic_data.py`.
class_docstr_tok: ["Create","self-supervised","control","signal",".","EXPERIMENTAL","Pass","file_pattern","to","tfrecords","created","by","`","ddsp_generate_synthetic_data.py","`","."]
docstr: Dictionary of features to read from dataset.
code: def features_dict(self):
      """Dictionary of features to read from dataset."""
      return {
          "f0_hz": tf.io.FixedLenFeature(
              [self.n_timesteps, 1], dtype=tf.float32
          ),
          "harm_amp": tf.io.FixedLenFeature(
              [self.n_timesteps, 1], dtype=tf.float32
          ),
          "harm_dist": tf.io.FixedLenFeature(
              [self.n_timesteps, self.n_harmonics], dtype=tf.float32
          ),
          "sin_amps": tf.io.FixedLenFeature(
              [self.n_timesteps, self.n_harmonics], dtype=tf.float32
          ),
          "sin_freqs": tf.io.FixedLenFeature(
              [self.n_timesteps, self.n_harmonics], dtype=tf.float32
          ),
          "noise_magnitudes": tf.io.FixedLenFeature(
              [self.n_timesteps, self.n_mags], dtype=tf.float32
          ),
      }
  
imports: import os
  from absl import logging
  from ddsp.spectral_ops import CREPE_FRAME_SIZE
  from ddsp.spectral_ops import CREPE_SAMPLE_RATE
  from ddsp.spectral_ops import get_framed_lengths
  import gin
  import tensorflow.compat.v2
  import tensorflow_datasets
label_desc: Use image node_id 2 for calling the SyntheticNotes obj's underlying member method code with example usage: obj.features_dict() and returns: dict