code: def run_cmd(self, argvs: List[str]) -> str:
      self.parser = argparse.ArgumentParser(
          description="Run the {} module.".format(self.name),
          prog="hub run {}".format(self.name),
          usage="%(prog)s",
          add_help=True,
      )
      self.parser.add_argument(
          "--input_type",
          type=str,
          choices=["word", "phoneme"],
          required=True,
          help='input type in ["word", "phoneme"].',
      )
      args = self.parser.parse_args(argvs[:2])
      if args.input_type == "word":
          self.arg_input_group = self.parser.add_argument_group(
              title="Input options (type: word).",
              description="Input options (type: word).",
          )
          self.arg_input_group.add_argument(
              "--text", type=str, required=True, help="input text."
          )
          self.arg_input_group.add_argument(
              "--notes", type=str, required=True, help="input notes."
          )
          self.arg_input_group.add_argument(
              "--notes_duration",
              type=str,
              required=True,
              help="input notes duration.",
          )
      elif args.input_type == "phoneme":
          self.arg_input_group = self.parser.add_argument_group(
              title="Input options (type: phoneme).",
              description="Input options (type: phoneme).",
          )
          self.arg_input_group.add_argument(
              "--text", type=str, required=True, help="input text."
          )
          self.arg_input_group.add_argument(
              "--ph_seq",
              type=str,
              required=True,
              help="input phoneme seq.",
          )
          self.arg_input_group.add_argument(
              "--note_seq",
              type=str,
              required=True,
              help="input note seq.",
          )
          self.arg_input_group.add_argument(
              "--note_dur_seq",
              type=str,
              required=True,
              help="input note duration seq.",
          )
          self.arg_input_group.add_argument(
              "--is_slur_seq",
              type=str,
              required=True,
              help="input if note is slur seq.",
          )
      else:
          raise ValueError(
              'Input type (--input_type) should be in ["word", "phoneme"]'
          )
      self.parser.add_argument(
          "--sample_num",
          type=int,
          default=1,
          help="sample audios num, default=1",
      )
      self.parser.add_argument(
          "--save_dir",
          type=str,
          default="outputs",
          help='sample audios save_dir, default="outputs"',
      )
      args = self.parser.parse_args(argvs)
      kwargs = vars(args).copy()
      kwargs.pop("sample_num")
      kwargs.pop("save_dir")
      self.singing_voice_synthesis(
          kwargs,
          sample_num=args.sample_num,
          save_dir=args.save_dir,
          save_audio=True,
      )
      return "Audios are saved in %s" % args.save_dir
  
file_path: PaddleHub/modules/audio/svs/diffsinger/module.py
imports: import argparse
  import os
  import time
  from typing import Dict
  from typing import List
  from typing import Union
  from .infer import Infer
  from .utils.audio import save_wav
  from .utils.hparams import hparams
  from .utils.hparams import set_hparams
  from paddlehub.module.module import moduleinfo
  from paddlehub.module.module import runnable
  from paddlehub.module.module import serving
label_desc: Use image node_id 3 for calling the DiffSinger obj's underlying member method code with example usage: obj.run_cmd(argvs) and returns: unknown