code: def _audio_response_for_run(self, tensor_events, run, tag, sample):
      
      response = []
      index = 0
      filtered_events = self._filter_by_sample(tensor_events, sample)
      content_type = self._get_mime_type(run, tag)
      for (index, tensor_event) in enumerate(filtered_events):
        data = tensor_util.make_ndarray(tensor_event.tensor_proto)
        label = data[sample, 1]
        response.append({
            'wall_time': tensor_event.wall_time,
            'step': tensor_event.step,
            'label': plugin_util.markdown_to_safe_html(label),
            'contentType': content_type,
            'query': self._query_for_individual_audio(run, tag, sample, index)
        })
      return response
docs: Builds a JSON-serializable object with information about audio.
  
      Args:
        tensor_events: A list of image event_accumulator.TensorEvent objects.
        run: The name of the run.
        tag: The name of the tag the audio entries all belong to.
        sample: The zero-indexed sample of the audio sample for which to
        retrieve information. For instance, setting `sample` to `2` will
          fetch information about only the third audio clip of each batch,
          and steps with fewer than three audio clips will be omitted from
          the results.
  
      Returns:
        A list of dictionaries containing the wall time, step, URL, width, and
        height for each audio entry.