code: def _smooth_fragment_list(self, real_wave_mfcc_audio_length, ns_string):
          
          self.log(u"Called _smooth_fragment_list")
          self.smflist[0].begin = TimeValue("0.000")
          self.smflist[-1].end = real_wave_mfcc_audio_length
          if ns_string in [None, gc.PPV_TASK_ADJUST_BOUNDARY_NONSPEECH_REMOVE]:
              self.log(u"Remove all NONSPEECH fragments")
              self.smflist.remove_nonspeech_fragments(zero_length_only=False)
          else:
              self.log(u"Remove NONSPEECH fragments with zero length only")
              self.smflist.remove_nonspeech_fragments(zero_length_only=True)
docs: Remove NONSPEECH fragments from list if needed,
          and set HEAD/TAIL begin/end.