code: def cli():
      """Commandline interface."""
      parser = argparse.ArgumentParser(
          formatter_class=argparse.ArgumentDefaultsHelpFormatter
      )
      parser.add_argument(
          "--text", type=str, help="text to be turned into audio"
      )
      parser.add_argument(
          "--output_filename",
          type=str,
          default="bark_generation.wav",
          help="output audio file name",
      )
      parser.add_argument(
          "--output_dir",
          type=str,
          default=".",
          help="directory to save the outputs",
      )
      parser.add_argument(
          "--history_prompt",
          type=str,
          default=None,
          help="history choice for audio cloning, be path to the .npz file.",
      )
      parser.add_argument(
          "--text_temp",
          default=0.7,
          type=float,
          help="generation temperature (1.0 more diverse, 0.0 more conservative)",
      )
      parser.add_argument(
          "--waveform_temp",
          default=0.7,
          type=float,
          help="generation temperature (1.0 more diverse, 0.0 more conservative)",
      )
      parser.add_argument(
          "--silent",
          default=False,
          type=bool,
          help="disable progress bar",
      )
      parser.add_argument(
          "--output_full",
          default=False,
          type=bool,
          help="return full generation to be used as a history prompt",
      )
  
      args = vars(parser.parse_args())
      input_text: str = args.get("text")
      output_filename: str = args.get("output_filename")
      output_dir: str = args.get("output_dir")
      history_prompt: str = args.get("history_prompt")
      text_temp: float = args.get("text_temp")
      waveform_temp: float = args.get("waveform_temp")
      silent: bool = args.get("silent")
      output_full: bool = args.get("output_full")
  
      try:
          os.makedirs(output_dir, exist_ok=True)
          generated_audio = generate_audio(
              input_text,
              history_prompt=history_prompt,
              text_temp=text_temp,
              waveform_temp=waveform_temp,
              silent=silent,
              output_full=output_full,
          )
          output_file_path = os.path.join(output_dir, output_filename)
          write_wav(output_file_path, SAMPLE_RATE, generated_audio)
          print(
              f"Done! Output audio file is saved at: '{output_file_path}'"
          )
      except Exception as e:
          print(f"Oops, an error occurred: {e}")
  
imports: import argparse
  from typing import Dict, Optional, Union
  import os
  from scipy.io.wavfile import write
  from .api import generate_audio
  from .generation import SAMPLE_RATE
label_desc: Use image node_id 1 for calling a global function with example usage: cli() without return types