code: def split_pinyin(pinyin):
      # load pinyin dict from local/pinyin.dict
      pinyin = pinyin.lower()
  
      if not re.match(r"^[a-züv]+[1-5]?$", pinyin):
          return "Invalid Pinyin input."
      if pinyin not in PINYIN_DICT.keys():
          return [pinyin]
      else:
          a = pinyin
          a1, a2 = PINYIN_DICT[a]
      if a1 == "^":
          return [a2]
      if a2 == "^":
          return [a1]
      return [a1, a2]
  
imports: import argparse
  import glob
  import logging
  import os
  import re
  import shutil
  import subprocess
  import wave
  from typing import List, TextIO, Tuple
  import miditoolkit
  import numpy
  from local.pinyin_dict import PINYIN_DICT
  from tqdm import tqdm
  from espnet2.fileio.score_scp import SingingScoreWriter
label_desc: Use image node_id 8 for calling a global function with example usage: split_pinyin(pinyin) and returns: list, str, list, list, list