class_docstr: The Groove MIDI Dataset (GMD) of drum performances.
class_docstr_tok: ["The","Groove","MIDI","Dataset","(","GMD",")","of","drum","performances","."]
code: def _info(self):
      features_dict = {
          "id": tf.string,
          "drummer": tfds.features.ClassLabel(
              names=["drummer%d" % i for i in range(1, 11)]
          ),
          "type": tfds.features.ClassLabel(names=["beat", "fill"]),
          "bpm": tf.int32,
          "time_signature": tfds.features.ClassLabel(
              names=_TIME_SIGNATURES
          ),
          "style": {
              "primary": tfds.features.ClassLabel(
                  names=_PRIMARY_STYLES
              ),
              "secondary": tf.string,
          },
          "midi": tf.string,
      }
      if self.builder_config.include_audio:
          features_dict["audio"] = tfds.features.Audio(
              dtype=np.float32,
              sample_rate=self.builder_config.audio_rate,
          )
      return self.dataset_info_from_configs(
          features=tfds.features.FeaturesDict(features_dict),
          homepage="https://g.co/magenta/groove-dataset",
      )
  
file_path: datasets/tensorflow_datasets/datasets/groove/groove_dataset_builder.py
imports: from __future__ import annotations
  import collections
  import copy
  import csv
  import io
  import os
  from absl import logging
  import numpy
  from tensorflow_datasets.core.utils.lazy_imports_utils import tensorflow
  import tensorflow_datasets.public_api
label_desc: Use image node_id 1 for calling the Builder obj's underlying member method code with example usage: obj._info() and returns: self