code: def test_SingingScoreReader(tmp_path: Path):
      dic = {}
      tempo = 100
      item_list = ["st", "et", "lyric", "midi", "phn"]
      notes_list = [
          [0.0, 1.0, "a", 20, "a"],
          [1.0, 2.2, "b_c", 22, "b_c"],
      ]
      dic.update(tempo=tempo, item_list=item_list, note=notes_list)
  
      score_path = tmp_path / "abc.json"
      with open(score_path, "w") as f:
          json.dump(dic, f, ensure_ascii=False, indent=2)
  
      p = tmp_path / "dummy1.scp"
      with p.open("w") as f:
          f.write(f"abc {score_path}\n")
  
      reader = SingingScoreReader(p)
      val = reader["abc"]
  
      assert val == dic
  
file_path: espnet/test/espnet2/fileio/test_score_scp.py
imports: import json
  from pathlib import Path
  import miditoolkit
  import miditoolkit.midi.containers
  import music21
  import numpy
  from espnet2.fileio.score_scp import NOTE, MIDReader, SingingScoreReader, SingingScoreWriter, XMLReader, XMLWriter
label_desc: Use image node_id 4 for calling a global function with example usage: test_SingingScoreReader(tmp_path) without return types