def ensure_overlap_ratio(self, required_ratio=0.5):
        """
        Ensure that every adjacent pair of frequency bands meets the overlap
        ratio criteria.  This can be helpful in scenarios where a scale is
        being used in an invertible transform, and something like the `constant
        overlap add constraint
        <https://ccrma.stanford.edu/~jos/sasp/Constant_Overlap_Add_COLA_Cases.html>`_
        must be met in order to not introduce artifacts in the reconstruction.

        Args:
            required_ratio (float): The required overlap ratio between all
                adjacent frequency band pairs

        Raises:
            AssertionError: when the overlap ratio for one or more adjacent
                frequency band pairs is not met
        """

        msg = \
            'band {i}: ratio must be at least {required_ratio} but was {ratio}'

        for i in range(0, len(self) - 1):
            b1 = self[i]
            b2 = self[i + 1]

            try:
                ratio = b1.intersection_ratio(b2)
            except ValueError:
                ratio = 0

            if ratio < required_ratio:
                raise AssertionError(msg.format(**locals()))