code: def process_line(wav_file, text_dict) -> LSRow:
      snt_id = wav_file.split("/")[-1].replace(".flac", "")
      spk_id = "-".join(snt_id.split("-")[0:2])
      wrds = text_dict[snt_id]
      wrds = " ".join(wrds.split("_"))
  
      info = read_audio_info(wav_file)
      duration = info.num_frames / info.sample_rate
  
      return LSRow(
          snt_id=snt_id,
          spk_id=spk_id,
          duration=duration,
          file_path=wav_file,
          words=wrds,
      )
  
file_path: speechbrain/recipes/LibriSpeech/ASR/transducer/librispeech_prepare.py
imports: import os
  import csv
  import random
  from collections import Counter
  from dataclasses import dataclass
  import functools
  import logging
  from speechbrain.utils.data_utils import download_file, get_all_files
  from speechbrain.dataio.dataio import load_pkl, save_pkl, merge_csvs, read_audio_info
  from speechbrain.utils.parallel import parallel_map
label_desc: Use image node_id 4 for calling a global function with example usage: process_line(wav_file, text_dict) and returns: LSRow