code: def create_lexicon(lexicon_save_filepath):
      """
      Creates the lexicon object, downloading if it hasn't been done yet.
  
      Arguments
      ---------
      lexicon_save_filepath : str
          Path to save the lexicon when downloading
      """
      if not os.path.isfile(lexicon_save_filepath):
          download_file(LEXICON_URL, lexicon_save_filepath)
  
      # Iterate lexicon file and add the first pronunciation in the file for
      # each word to our lexicon dictionary
      lexicon = MISSING_LEXICON
      delayed_words = {}
      for line in open(lexicon_save_filepath):
          line = line.split()
          phns = " ".join(p.strip("012") for p in line[1:])
  
          # Don't add words with punctuation until we can be sure they won't
          # overwrite words without punctuation.
          clean_word = remove_punctuation(line[0])
          if clean_word != line[0] and clean_word not in delayed_words:
              delayed_words[clean_word] = phns
          elif clean_word == line[0] and clean_word not in lexicon:
              lexicon[clean_word] = phns
  
      # Add words with punctuation if they won't overwrite non-punctuated words
      for word, phns in delayed_words.items():
          if word not in lexicon:
              lexicon[word] = phns
  
      return lexicon
  
file_path: speechbrain/recipes/Voicebank/enhance/MetricGAN/voicebank_prepare.py
imports: import os
  import json
  import string
  import urllib
  import shutil
  import logging
  import tempfile
  import torchaudio
  from torchaudio.transforms import Resample
  from speechbrain.utils.data_utils import get_all_files, download_file
  from speechbrain.dataio.dataio import read_audio
label_desc: Use image node_id 4 for calling a global function with example usage: create_lexicon(lexicon_save_filepath) and returns: lexicon