code: def museval(inargs=None):
      
      parser = argparse.ArgumentParser()
  
      parser.add_argument(
          'estimates_dir',
          type=str
      )
  
      parser.add_argument('-o', help='output_dir')
  
      parser.add_argument('--cpu', type=int, help='number of cpus', default=4)
  
      parser.add_argument(
          '-p', help='enable multiprocessing',
          action='store_true',
      )
  
      parser.add_argument(
          '--musdb',
          help='path to musdb',
          type=str
      )
  
      parser.add_argument(
          '--iswav', help='Read musdb wav instead of stems',
          action='store_true',
      )
  
      parser.add_argument(
          '--version', '-v',
          action='version',
          version='%%(prog)s %s' % util.__version__
      )
  
      args = parser.parse_args(inargs)
      mus = musdb.DB(root_dir=args.musdb, is_wav=args.iswav)
  
      if not args.o:
          output_dir = args.estimates_dir
      else:
          output_dir = args.o
  
      # evaluate an existing estimate folder with wav files
      eval_mus_dir(
          dataset=mus,  # instance of musdb
          estimates_dir=args.estimates_dir,  # path to estiamte folder
          output_dir=output_dir,  # set a folder to write eval json files
          parallel=args.p,
          cpus=args.cpu
      )
docs: Commandline interface for museval evaluation tools