Apply the adjust function to each boundary point
        falling inside (extrema included) of a nonspeech interval.

        The adjust function is not applied to a boundary index
        if there are two or more boundary indices falling
        inside the same nonspeech interval.

        The adjust function is not applied to the last boundary index
        to avoid anticipating the end of the audio file.

        The ``adjust function`` takes
        the nonspeech interval as its only argument.

def _adjust_on_nonspeech(self, real_wave_mfcc, adjust_function):
        """
        Apply the adjust function to each boundary point
        falling inside (extrema included) of a nonspeech interval.

        The adjust function is not applied to a boundary index
        if there are two or more boundary indices falling
        inside the same nonspeech interval.

        The adjust function is not applied to the last boundary index
        to avoid anticipating the end of the audio file.

        The ``adjust function`` takes
        the nonspeech interval as its only argument.
        """
        self.log(u"Called _adjust_on_nonspeech")
        self.log(u"  Getting nonspeech intervals...")
        nonspeech_intervals = real_wave_mfcc.intervals(speech=False, time=True)
        self.log(u"  Getting nonspeech intervals... done")

        self.log(u"  First pass: find pairs of adjacent fragments transitioning inside nonspeech")
        tolerance = self.rconf[RuntimeConfiguration.ABA_NONSPEECH_TOLERANCE]
        self.log([u"    Tolerance: %.3f", tolerance])
        pairs = self.smflist.fragments_ending_inside_nonspeech_intervals(nonspeech_intervals, tolerance)
        self.log(u"  First pass: done")

        self.log(u"  Second pass: move end point of good pairs")
        for nsi, frag_index, in pairs:
            new_value = adjust_function(nsi)
            self.log([u"    Current interval: %s", self.smflist[frag_index].interval])
            self.log([u"    New value:        %.3f", new_value])
            self.smflist.move_transition_point(frag_index, new_value)
            self.log([u"    New interval:     %s", self.smflist[frag_index].interval])
            self.log(u"")
        self.log(u"  Second pass: done")