code: def main():
      parser = get_parser()
      args = parser.parse_args()
  
      # logging info
      logfmt = "%(asctime)s (%(module)s:%(lineno)d) %(levelname)s: %(message)s"
      if args.verbose > 0:
          logging.basicConfig(level=logging.INFO, format=logfmt)
      else:
          logging.basicConfig(level=logging.WARN, format=logfmt)
      logging.info(get_commandline_args())
  
      if args.preprocess_conf is not None:
          preprocessing = Transformation(args.preprocess_conf)
          logging.info("Apply preprocessing: {}".format(preprocessing))
      else:
          preprocessing = None
  
      # There are no necessary for matrix without preprocessing,
      # so change to file_reader_helper to return shape.
      # This make sense only with filetype="hdf5".
      for utt, mat in file_reader_helper(
          args.rspecifier,
          args.filetype,
          return_shape=preprocessing is None,
      ):
          if preprocessing is not None:
              if is_scipy_wav_style(mat):
                  # If data is sound file, then got as Tuple[int, ndarray]
                  rate, mat = mat
              mat = preprocessing(mat, uttid_list=utt)
              shape_str = ",".join(map(str, mat.shape))
          else:
              if len(mat) == 2 and isinstance(mat[1], tuple):
                  # If data is sound file, Tuple[int, Tuple[int, ...]]
                  rate, mat = mat
              shape_str = ",".join(map(str, mat))
          args.out.write("{} {}\n".format(utt, shape_str))
  
file_path: espnet/egs2/must_c_v2/asr1/pyscripts/feats/feat-to-shape.py
imports: import argparse
  import logging
  import sys
  from espnet.transform.transformation import Transformation
  from espnet.utils.cli_readers import file_reader_helper
  from espnet.utils.cli_utils import get_commandline_args, is_scipy_wav_style
label_desc: Use image node_id 2 for calling a global function with example usage: main() without return types