code: def play_collection():
      augmentations = parse_augmentations(CLI_ARGS.augment)
      if any(
          not isinstance(a, SampleAugmentation) for a in augmentations
      ):
          print(
              "Warning: Some of the augmentations cannot be simulated by this command."
          )
      samples = get_samples_in_play_order()
      samples = apply_sample_augmentations(
          samples,
          audio_type=AUDIO_TYPE_PCM,
          augmentations=augmentations,
          process_ahead=0,
          clock=CLI_ARGS.clock,
      )
      for sample in samples:
          if not CLI_ARGS.quiet:
              print(
                  'Sample "{}"'.format(sample.sample_id),
                  file=sys.stderr,
              )
              if isinstance(sample, LabeledSample):
                  print(
                      '  "{}"'.format(sample.transcript),
                      file=sys.stderr,
                  )
          if CLI_ARGS.pipe:
              sample.change_audio_type(AUDIO_TYPE_WAV)
              sys.stdout.buffer.write(sample.audio.getvalue())
              return
          wave_obj = simpleaudio.WaveObject(
              sample.audio,
              sample.audio_format.channels,
              sample.audio_format.width,
              sample.audio_format.rate,
          )
          play_obj = wave_obj.play()
          play_obj.wait_done()
  
file_path: DeepSpeech/bin/play.py
imports: import os
  import sys
  import random
  import argparse
  from deepspeech_training.util.audio import get_loadable_audio_type_from_extension, AUDIO_TYPE_PCM, AUDIO_TYPE_WAV
  from deepspeech_training.util.sample_collections import SampleList, LabeledSample, samples_from_source
  from deepspeech_training.util.augmentations import parse_augmentations, apply_sample_augmentations, SampleAugmentation
label_desc: Use image node_id 2 for calling a global function with example usage: play_collection() without return types