code: def test_SoundScpWriter_multi_columns(tmp_path: Path):
      audio1 = np.random.randint(-100, 100, [16, 2], dtype=np.int16)
      audio2 = np.random.randint(-100, 100, [16, 3], dtype=np.int16)
      with SoundScpWriter(
          tmp_path, tmp_path / "wav.scp", multi_columns=True
      ) as writer:
          writer["abc"] = 16, audio1
          writer["def"] = 16, audio2
  
      target = SoundScpReader(
          tmp_path / "wav.scp", multi_columns=True, dtype=np.int16
      )
      desired = {"abc": (16, audio1), "def": (16, audio2)}
  
      for k in desired:
          rate1, t = target[k]
          rate2, d = desired[k]
          assert rate1 == rate2
          np.testing.assert_array_equal(t, d)
  
      assert writer.get_path("abc") == [
          str(tmp_path / "abc-CH0.wav"),
          str(tmp_path / "abc-CH1.wav"),
      ]
      assert writer.get_path("def") == [
          str(tmp_path / "def-CH0.wav"),
          str(tmp_path / "def-CH1.wav"),
          str(tmp_path / "def-CH2.wav"),
      ]
  
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 5 for calling a global function with example usage: test_SoundScpWriter_multi_columns(tmp_path) without return types