class_docstr: Task for joint training speech and text to text.
class_docstr_tok: ["Task","for","joint","training","speech","and","text","to","text","."]
docstr: Return the source :class:`~fairseq.data.Dictionary` (if applicable
  for this task).
docstr_tok: ["Return","the","source",":","class",":","`","~fairseq.data.Dictionary","`","(","if","applicable","for","this","task",")","."]
code: def source_dictionary(self):
      """Return the source :class:`~fairseq.data.Dictionary` (if applicable
      for this task)."""
      return None if self.speech_only else self.src_dict
  
imports: import logging
  import os
  from argparse import Namespace
  from pathlib import Path
  import torch
  from fairseq.data import encoders, Dictionary, ResamplingDataset, TransformEosLangPairDataset, ConcatDataset
  from fairseq.data.iterators import GroupedEpochBatchIterator
  from fairseq.data.audio.multi_modality_dataset import MultiModalityDataset, LangPairMaskDataset, ModalityDatasetItem
  from fairseq.data.audio.speech_to_text_dataset import SpeechToTextDataset, SpeechToTextDatasetCreator
  from fairseq.data.audio.speech_to_text_joint_dataset import S2TJointDataConfig, SpeechToTextJointDatasetCreator
  from fairseq.tasks import register_task
  from fairseq.tasks.speech_to_text import SpeechToTextTask
  from fairseq.tasks.translation import load_langpair_dataset
label_desc: Use image node_id 10 for calling the SpeechTextJointToTextTask obj's underlying member method code with example usage: obj.source_dictionary() and returns: unknown