code: def _voxcel_x(root_path, meta_file, voxcel_idx):
      assert voxcel_idx in ["1", "2"]
      expected_count = 148_000 if voxcel_idx == "1" else 1_000_000
      voxceleb_path = Path(root_path)
      cache_to = voxceleb_path / f"metafile_voxceleb{voxcel_idx}.csv"
      cache_to.parent.mkdir(exist_ok=True)
  
      # if not exists meta file, crawl recursively for 'wav' files
      if meta_file is not None:
          with open(str(meta_file), "r", encoding="utf-8") as f:
              return [x.strip().split("|") for x in f.readlines()]
  
      elif not cache_to.exists():
          cnt = 0
          meta_data = []
          wav_files = voxceleb_path.rglob("**/*.wav")
          for path in tqdm(
              wav_files,
              desc=f"Building VoxCeleb {voxcel_idx} Meta file ... this needs to be done only once.",
              total=expected_count,
          ):
              speaker_id = str(Path(path).parent.parent.stem)
              assert speaker_id.startswith("id")
              text = None  # VoxCel does not provide transciptions, and they are not needed for training the SE
              meta_data.append(
                  f"{text}|{path}|voxcel{voxcel_idx}_{speaker_id}\n"
              )
              cnt += 1
          with open(str(cache_to), "w", encoding="utf-8") as f:
              f.write("".join(meta_data))
          if cnt < expected_count:
              raise ValueError(
                  f"Found too few instances for Voxceleb. Should be around {expected_count}, is: {cnt}"
              )
  
      with open(str(cache_to), "r", encoding="utf-8") as f:
          return [x.strip().split("|") for x in f.readlines()]
  
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 25 for calling a global function with example usage: _voxcel_x(root_path, meta_file, voxcel_idx) and returns: unknown, unknown