code: def synpaflex(
      root_path, metafiles=None, **kwargs
  ):  # pylint: disable=unused-argument
      items = []
      speaker_name = "synpaflex"
      root_path = os.path.join(root_path, "")
      wav_files = glob(f"{root_path}**/*.wav", recursive=True)
      for wav_file in wav_files:
          if os.sep + "wav" + os.sep in wav_file:
              txt_file = wav_file.replace("wav", "txt")
          else:
              txt_file = os.path.join(
                  os.path.dirname(wav_file),
                  "txt",
                  os.path.basename(wav_file).replace(".wav", ".txt"),
              )
          if os.path.exists(txt_file) and os.path.exists(wav_file):
              with open(txt_file, "r", encoding="utf-8") as file_text:
                  text = file_text.readlines()[0]
              items.append(
                  {
                      "text": text,
                      "audio_file": wav_file,
                      "speaker_name": speaker_name,
                      "root_path": root_path,
                  }
              )
      return items
  
imports: import os
  import re
  import xml.etree.ElementTree
  from glob import glob
  from pathlib import Path
  from typing import List
  import pandas
  from tqdm import tqdm
label_desc: Use image node_id 20 for calling a global function with example usage: synpaflex(root_path, metafiles) and returns: items