class_docstr: Encode an audio clip to WAV.
  
  This function is thread-safe and exhibits good parallel performance.
  
  Arguments:
    audio: A numpy array of shape `[samples, channels]`.
    samples_per_second: A positive `int`, in Hz.
  
  Returns:
    A bytestring with WAV-encoded data.
code: def run(
      self, audio, samples_per_second
  ):  # pylint: disable=arguments-differ
      if not isinstance(audio, np.ndarray):
          raise ValueError("'audio' must be a numpy array: %r" % audio)
      if not isinstance(samples_per_second, int):
          raise ValueError(
              "'samples_per_second' must be an int: %r"
              % samples_per_second
          )
      feed_dict = {
          self._audio_placeholder: audio,
          self._samples_per_second_placeholder: samples_per_second,
      }
      return self._encode_op.eval(feed_dict=feed_dict)
  
file_path: tensorboard/tensorboard/util/encoder.py
imports: import numpy
  from tensorboard.util import op_evaluator
label_desc: Use image node_id 3 for calling the _TensorFlowWavEncoder obj's underlying member method code with example usage: obj.run(audio, samples_per_second) and returns: self