code: def __iter__(self):
      with open(self.filepath, "r", encoding="utf-8") as f:
          for line in f:
              key, sound_file_path = line.rstrip().split(None, 1)
              # Assume PCM16
              array, rate = soundfile.read(
                  sound_file_path, dtype="int16"
              )
              # Change Tuple[ndarray, int] -> Tuple[int, ndarray]
              # (soundfile style -> scipy style)
              if self.return_shape:
                  array = array.shape
              yield key, (rate, array)
  
file_path: espnet/espnet/utils/cli_readers.py
imports: import io
  import logging
  import sys
  import h5py
  import kaldiio
  import soundfile
  from espnet.utils.io_utils import SoundHDF5File
label_desc: Use image node_id 2 for calling the SoundReader obj's underlying member method code with example usage: obj.__iter__() without return types