class_docstr: Create a Dataset for wsj0-mix.
  
  Args:
      root (str or Path): Path to the directory where the dataset is found.
      num_speakers (int): The number of speakers, which determines the directories
          to traverse. The Dataset will traverse ``s1`` to ``sN`` directories to collect
          N source audios.
      sample_rate (int): Expected sample rate of audio files. If any of the audio has a
          different sample rate, raises ``ValueError``.
      audio_ext (str, optional): The extension of audio files to find. (default: ".wav")
code: def __init__(
      self,
      root: Union[str, Path],
      num_speakers: int,
      sample_rate: int,
      audio_ext: str = ".wav",
  ):
      self.root = Path(root)
      self.sample_rate = sample_rate
      self.mix_dir = (self.root / "mix").resolve()
      self.src_dirs = [
          (self.root / f"s{i+1}").resolve() for i in range(num_speakers)
      ]
  
      self.files = [p.name for p in self.mix_dir.glob(f"*{audio_ext}")]
      self.files.sort()
  
file_path: audio/examples/source_separation/utils/dataset/wsj0mix.py
imports: from pathlib import Path
  from typing import List, Tuple, Union
  import torch
  import torchaudio
  from torch.utils.data import Dataset
label_desc: Use image node_id 1 to create a new WSJ0Mix object from inherited base classes: Dataset with example: obj = WSJ0Mix(root, num_speakers, sample_rate, audio_ext)