class_docstr: Audio segment abstraction.
  :param samples: Audio samples [num_samples x num_channels].
  :type samples: ndarray.float32
  :param sample_rate: Audio sample rate.
  :type sample_rate: int
  :raises TypeError: If the sample data type is not float or int.
docstr: Return human-readable representation of segment.
docstr_tok: ["Return","human-readable","representation","of","segment","."]
code: def __str__(self):
      """Return human-readable representation of segment."""
      if self.num_channels == 1:
          return (
              "%s: num_samples=%d, sample_rate=%d, duration=%.2fsec, rms=%.2fdB"
              % (
                  type(self),
                  self.num_samples,
                  self.sample_rate,
                  self.duration,
                  self.rms_db,
              )
          )
      else:
          rms_db_str = ", ".join(
              [f"{rms:.2f}dB" for rms in self.rms_db]
          )
          return (
              "%s: num_samples=%d, sample_rate=%d, duration=%.2fsec, num_channels=%d, rms=[%s]"
              % (
                  type(self),
                  self.num_samples,
                  self.sample_rate,
                  self.duration,
                  self.num_channels,
                  rms_db_str,
              )
          )
  
imports: import math
  import os
  import random
  from typing import Optional
  import librosa
  import numpy
  import soundfile
  from nemo.collections.asr.parts.utils.audio_utils import select_channels
  from nemo.utils import logging
label_desc: Use image node_id 4 for calling the AudioSegment obj's underlying member method code with example usage: obj.__str__() and returns: unknown, unknown