code: def main():
      parser = argparse.ArgumentParser()
      parser.add_argument(
          "--lang_tag",
          type=str,
          default=None,
          nargs="?",
          help="language tag (can be used for multi lingual case)",
      )
      parser.add_argument("--spk_tag", type=str, help="speaker tag")
      parser.add_argument(
          "transcription", type=str, help="transcription filename"
      )
      parser.add_argument("out", type=str, help="output filename")
      parser.add_argument(
          "trans_type",
          type=str,
          default="char",
          help="transcription type (char or phn)",
      )
      args = parser.parse_args()
  
      dirname = os.path.dirname(args.out)
      if len(dirname) != 0 and not os.path.exists(dirname):
          os.makedirs(dirname)
  
      with codecs.open(args.out, "w", encoding="utf-8") as out:
          with codecs.open(
              args.transcription, "r", encoding="utf-8"
          ) as f:
              for line in f.read().splitlines():
                  path, _, content, _ = line.split("|")
                  uid = (
                      args.spk_tag
                      + "_"
                      + os.path.basename(path).replace(".wav", "")
                  )
                  text = custom_finnish_cleaners(content.rstrip())
                  if args.lang_tag is None:
                      line = "%s %s\n" % (uid, text)
                  else:
                      line = "%s <%s> %s\n" % (uid, args.lang_tag, text)
                  out.write(line)
  
imports: import argparse
  import codecs
  import os
  import nltk
  from tacotron_cleaner.cleaners import collapse_whitespace, expand_abbreviations, expand_numbers, expand_symbols, lowercase, remove_unnecessary_symbols, uppercase
label_desc: Use image node_id 2 for calling a global function with example usage: main() without return types