class_docstr: Joint denoising training task for speech and text.
class_docstr_tok: ["Joint","denoising","training","task","for","speech","and","text","."]
code: def resolve_data_type(cls, split, use_sup_speech_ctc):
      if len(split.split("_")) == 1:
          # default case, train or valid
          is_train = split
          dtype = "text"
      else:
          is_train, dtype = split.split("_", 1)
      is_train = True if is_train == "train" else False
      if dtype == "sup_speech":
          dtype = (
              "sup_speech_ctc"
              if use_sup_speech_ctc
              else "sup_speech_ali"
          )
      assert dtype in (
          "text",
          "bitext",
          "sup_speech_ali",
          "sup_speech_s2s",
          "unsup_speech",
          "sup_speech_ctc",
      ), f"failed resolving {split} (it resulted into: {dtype} ; is_train={is_train})"
      return is_train, dtype
  
imports: import logging
  import os
  import re
  from argparse import Namespace
  from pathlib import Path
  from fairseq.data import ConcatDataset, Dictionary, encoders
  from fairseq.data.audio.multi_modality_dataset import FileAudioDatasetWrapper, ModalityDatasetItem, MultiModalityDataset
  from fairseq.data.audio.speech_to_text_joint_dataset import S2TJointDataConfig, SpeechToTextJointDatasetCreator
  from fairseq.data.iterators import GroupedEpochBatchIterator
  from fairseq.tasks import register_task
  from .pair_denoising import PairedDenoisingTask
label_desc: Use image node_id 7 for calling the SpeechTextJointDenoisingPreTask obj's underlying member method code with example usage: obj.resolve_data_type(cls, split, use_sup_speech_ctc) and returns: is_train,  dtype