code: def _get_speechcommands_metadata(
      filepath: str, path: str
  ) -> Tuple[str, int, str, str, int]:
      relpath = os.path.relpath(filepath, path)
      reldir, filename = os.path.split(relpath)
      _, label = os.path.split(reldir)
      # Besides the officially supported split method for datasets defined by "validation_list.txt"
      # and "testing_list.txt" over "speech_commands_v0.0x.tar.gz" archives, an alternative split
      # method referred to in paragraph 2-3 of Section 7.1, references 13 and 14 of the original
      # paper, and the checksums file from the tensorflow_datasets package [1] is also supported.
      # Some filenames in those "speech_commands_test_set_v0.0x.tar.gz" archives have the form
      # "xxx.wav.wav", so file extensions twice needs to be stripped twice.
      # [1] https://github.com/tensorflow/datasets/blob/master/tensorflow_datasets/url_checksums/speech_commands.txt
      speaker, _ = os.path.splitext(filename)
      speaker, _ = os.path.splitext(speaker)
  
      speaker_id, utterance_number = speaker.split(HASH_DIVIDER)
      utterance_number = int(utterance_number)
  
      return relpath, SAMPLE_RATE, label, speaker_id, utterance_number
  
file_path: audio/src/torchaudio/datasets/speechcommands.py
imports: import os
  from pathlib import Path
  from typing import Optional, Tuple, Union
  from torch import Tensor
  from torch.utils.data import Dataset
  from torchaudio._internal import download_url_to_file
  from torchaudio.datasets.utils import _extract_tar, _load_waveform
label_desc: Use image node_id 2 for calling a global function with example usage: _get_speechcommands_metadata(filepath, path) and returns: relpath,  SAMPLE_RATE,  label,  speaker_id,  utterance_number