code: def prepare_feats(self) -> None:
          
  
          logger.debug("Preparing input features")
          self.feat_dir.mkdir(parents=True, exist_ok=True)
  
          should_extract_feats = False
          for path in self.wav_dir.iterdir():
              if not path.suffix == ".wav":
                  logger.info("Non wav file found in wav directory: %s", path)
                  continue
              prefix = os.path.basename(os.path.splitext(str(path))[0])
              mono16k_wav_path = self.feat_dir / "{}.wav".format(prefix)
              feat_path = self.feat_dir / "{}.{}.npy".format(prefix, self.feat_type)
              if not feat_path.is_file():
                  # Then we should extract feats
                  should_extract_feats = True
                  if not mono16k_wav_path.is_file():
                      feat_extract.convert_wav(path, mono16k_wav_path)
  
          # TODO Should be extracting feats on a per-file basis. Right now we
          # check if any feats files don't exist and then do all the feature
          # extraction.
          if should_extract_feats:
              feat_extract.from_dir(self.feat_dir, self.feat_type)
docs: Prepares input features