docstr: Given a sequence emission over labels, get the best path string
  Args:
    emission (Tensor): Logit tensors. Shape `[num_seq, num_label]`.
  
  Returns:
    str: The resulting transcript
code: def forward(self, emission: torch.Tensor) -> str:
      """Given a sequence emission over labels, get the best path string
      Args:
        emission (Tensor): Logit tensors. Shape `[num_seq, num_label]`.
  
      Returns:
        str: The resulting transcript
      """
      indices = torch.argmax(emission, dim=-1)  # [num_seq,]
      indices = torch.unique_consecutive(indices, dim=-1)
      indices = [i for i in indices if i != self.blank]
      return "".join([self.labels[i] for i in indices])
  
file_path: audio/examples/tutorials/speech_recognition_pipeline_tutorial.py
imports: import torch
  import torchaudio
  import IPython
  import matplotlib.pyplot
  from torchaudio.utils import download_asset
label_desc: Use image node_id 2 for calling the GreedyCTCDecoder obj's underlying member method code with example usage: obj.forward(emission) and returns: str