code: def test_SoundScpReader_multi(tmp_path: Path):
      audio_path1 = tmp_path / "a1.wav"
      audio1 = np.random.randint(-100, 100, 16, dtype=np.int16)
      audio_path2 = tmp_path / "a2.wav"
      audio2 = np.random.randint(-100, 100, 16, dtype=np.int16)
      audio_path3 = tmp_path / "a3.wav"
      audio3 = np.random.randint(-100, 100, 16, dtype=np.int16)
  
      soundfile.write(audio_path1, audio1, 16)
      soundfile.write(audio_path2, audio2, 16)
      soundfile.write(audio_path3, audio3, 16)
  
      p = tmp_path / "dummy.scp"
      with p.open("w") as f:
          f.write(f"abc {audio_path1}\n")
          f.write(f"def {audio_path2} {audio_path3}\n")
  
      desired = {
          "abc": (16, audio1),
          "def": (
              16,
              np.concatenate(
                  [audio2[:, None], audio3[:, None]], axis=1
              ),
          ),
      }
      target = SoundScpReader(p, multi_columns=True, dtype=np.int16)
  
      for k in desired:
          rate1, t = target[k]
          rate2, d = desired[k]
          assert rate1 == rate2
          np.testing.assert_array_equal(t, d)
  
      assert len(target) == len(desired)
      assert "abc" in target
      assert "def" in target
      assert tuple(target.keys()) == tuple(desired)
      assert tuple(target) == tuple(desired)
      assert target.get_path("abc") == [str(audio_path1)]
      assert target.get_path("def") == [
          str(audio_path2),
          str(audio_path3),
      ]
  
file_path: espnet/test/espnet2/fileio/test_sound_scp.py
imports: from pathlib import Path
  import numpy
  import pytest
  import soundfile
  from espnet2.fileio.sound_scp import SoundScpReader, SoundScpWriter
label_desc: Use image node_id 2 for calling a global function with example usage: test_SoundScpReader_multi(tmp_path) without return types