class_docstr: Clip made by composing several AudioClips.
  
  An audio clip made by putting together several audio clips.
  
  Parameters
  ----------
  
  clips
    List of audio clips, which may start playing at different times or
    together, depends on their ``start`` attributes. If all have their
    ``duration`` attribute set, the duration of the composite clip is
    computed automatically.
class_docstr_tok: ["Clip","made","by","composing","several","AudioClips",".","An","audio","clip","made","by","putting","together","several","audio","clips",".","Parameters","--","--","--","--","--","clips","List","of","audio","clips",",","which","may","start","playing","at","different","times","or","together",",","depends","on","their","``","start","``","attributes",".","If","all","have","their","``","duration","``","attribute","set",",","the","duration","of","the","composite","clip","is","computed","automatically","."]
docstr: Returns starting times for all clips in the composition.
docstr_tok: ["Returns","starting","times","for","all","clips","in","the","composition","."]
code: def starts(self):
      """Returns starting times for all clips in the composition."""
      return (clip.start for clip in self.clips)
  
imports: import numbers
  import os
  import numpy
  import proglog
  from moviepy.audio.io.ffmpeg_audiowriter import ffmpeg_audiowrite
  from moviepy.Clip import Clip
  from moviepy.decorators import convert_path_to_string, requires_duration
  from moviepy.tools import extensions_dict
label_desc: Use image node_id 2 for calling the CompositeAudioClip obj's underlying member method code with example usage: obj.starts() and returns: unknown