code: def open_bible(
      root_path,
      meta_files="train",
      ignore_digits_sentences=True,
      ignored_speakers=None,
  ):
      """ToDo: Refer the paper when available"""
      items = []
      split_dir = meta_files
      meta_files = glob(
          f"{os.path.join(root_path, split_dir)}/**/*.txt",
          recursive=True,
      )
      for meta_file in meta_files:
          _, speaker_id, txt_file = os.path.relpath(
              meta_file, root_path
          ).split(os.sep)
          file_id = txt_file.split(".")[0]
          # ignore speakers
          if isinstance(ignored_speakers, list):
              if speaker_id in ignored_speakers:
                  continue
          with open(meta_file, "r", encoding="utf-8") as file_text:
              text = file_text.readline().replace("\n", "")
          # ignore sentences that contains digits
          if ignore_digits_sentences and any(map(str.isdigit, text)):
              continue
          wav_file = os.path.join(
              root_path, split_dir, speaker_id, file_id + ".flac"
          )
          items.append(
              {
                  "text": text,
                  "audio_file": wav_file,
                  "speaker_name": "OB_" + speaker_id,
                  "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 21 for calling a global function with example usage: open_bible(root_path, meta_files, ignore_digits_sentences, ignored_speakers) and returns: items