code: def main():
      parser = get_parser()
      args = parser.parse_args()
  
      sil_prob = args.sil_prob
      surround = args.surround
      sil = "<SIL>"
  
      wrd_to_phn = {}
  
      with open(args.lexicon, "r") as lf:
          for line in lf:
              items = line.rstrip().split()
              assert len(items) > 1, line
              assert items[0] not in wrd_to_phn, items
              wrd_to_phn[items[0]] = items[1:]
  
      for line in sys.stdin:
          words = line.strip().split()
  
          if not all(w in wrd_to_phn for w in words):
              continue
  
          phones = []
          if surround:
              phones.append(sil)
  
          sample_sil_probs = None
          if sil_prob > 0 and len(words) > 1:
              sample_sil_probs = np.random.random(len(words) - 1)
  
          for i, w in enumerate(words):
              phones.extend(wrd_to_phn[w])
              if (
                  sample_sil_probs is not None
                  and i < len(sample_sil_probs)
                  and sample_sil_probs[i] < sil_prob
              ):
                  phones.append(sil)
  
          if surround:
              phones.append(sil)
          print(" ".join(phones))
  
imports: import argparse
  import numpy
  import sys
label_desc: Use image node_id 2 for calling a global function with example usage: main() without return types