code: def split_audio_file(
      audio_path,
      audio_format=DEFAULT_FORMAT,
      batch_size=1,
      aggressiveness=3,
      outlier_duration_ms=10000,
      outlier_batch_size=1,
      exception_box=None,
  ):
      def generate_values():
          frames = read_frames_from_file(audio_path)
          segments = vad_split(frames, aggressiveness=aggressiveness)
          for segment in segments:
              segment_buffer, time_start, time_end = segment
              samples = pcm_to_np(segment_buffer, audio_format)
              yield time_start, time_end, samples
  
      def to_mfccs(time_start, time_end, samples):
          features, features_len = audio_to_features(
              samples, audio_format.rate
          )
          return time_start, time_end, features, features_len
  
      def create_batch_set(bs, criteria):
          return (
              tf.data.Dataset.from_generator(
                  remember_exception(generate_values, exception_box),
                  output_types=(tf.int32, tf.int32, tf.float32),
              )
              .map(
                  to_mfccs,
                  num_parallel_calls=tf.data.experimental.AUTOTUNE,
              )
              .filter(criteria)
              .padded_batch(
                  bs, padded_shapes=([], [], [None, Config.n_input], [])
              )
          )
  
      nds = create_batch_set(
          batch_size,
          lambda start, end, f, fl: end - start
          <= int(outlier_duration_ms),
      )
      ods = create_batch_set(
          outlier_batch_size,
          lambda start, end, f, fl: end - start
          > int(outlier_duration_ms),
      )
      dataset = nds.concatenate(ods)
      dataset = dataset.prefetch(Config.num_devices)
      return dataset
  
file_path: DeepSpeech/training/deepspeech_training/util/feeding.py
imports: from __future__ import absolute_import, division, print_function
  from collections import Counter
  from functools import partial
  import numpy
  import tensorflow
  from tensorflow.python.ops import gen_audio_ops
  from .config import Config
  from .text import text_to_char_array
  from .flags import FLAGS
  from .augmentations import apply_sample_augmentations, apply_graph_augmentations
  from .audio import read_frames_from_file, vad_split, pcm_to_np, DEFAULT_FORMAT
  from .sample_collections import samples_from_sources
  from .helpers import remember_exception, MEGABYTE
label_desc: Use image node_id 6 for calling a global function with example usage: split_audio_file(audio_path, audio_format, batch_size, aggressiveness, outlier_duration_ms, outlier_batch_size, exception_box) and returns: dataset, time_start,  time_end,  features,  features_len, tf