code: def from_tsv(
      cls,
      root: str,
      cfg: S2TJointDataConfig,
      splits: str,
      tgt_dict,
      src_dict,
      pre_tokenizer,
      bpe_tokenizer,
      src_pre_tokenizer,
      src_bpe_tokenizer,
      is_train_split: bool,
      epoch: int,
      seed: int,
      append_eos: Optional[bool] = True,
      use_src_lang_id: Optional[int] = 0,
  ) -> SpeechToTextJointDataset:
      datasets = [
          cls._from_tsv(
              root,
              cfg,
              split,
              tgt_dict,
              src_dict,
              is_train_split,
              pre_tokenizer,
              bpe_tokenizer,
              src_pre_tokenizer,
              src_bpe_tokenizer,
              append_eos=append_eos,
              use_src_lang_id=use_src_lang_id,
          )
          for split in splits.split(",")
      ]
  
      if (
          is_train_split
          and len(datasets) > 1
          and cfg.sampling_alpha != 1.0
      ):
          # temperature-based sampling
          size_ratios = cls.get_size_ratios(
              datasets, alpha=cfg.sampling_alpha
          )
          datasets = [
              ResamplingDataset(
                  d,
                  size_ratio=r,
                  seed=seed,
                  epoch=epoch,
                  replace=(r >= 1.0),
              )
              for r, d in zip(size_ratios, datasets)
          ]
  
      return (
          ConcatDataset(datasets) if len(datasets) > 1 else datasets[0]
      )
  
imports: import logging
  from pathlib import Path
  from typing import Dict, List, NamedTuple, Optional
  import torch
  from fairseq.data import ConcatDataset, Dictionary, ResamplingDataset
  from fairseq.data import data_utils
  from fairseq.data.audio.speech_to_text_dataset import S2TDataConfig, SpeechToTextDataset, SpeechToTextDatasetCreator
label_desc: Use image node_id 3 for calling the SpeechToTextJointDatasetCreator obj's underlying member method code with example usage: obj.from_tsv(cls, root, cfg, splits, tgt_dict, src_dict, pre_tokenizer, bpe_tokenizer, src_pre_tokenizer, src_bpe_tokenizer, is_train_split, epoch, seed, append_eos, use_src_lang_id) and returns: unknown