@staticmethod
    def deform_tonic(annotation, state):
        # First, figure out the tuning after deformation
        if -0.5 < (state['tuning'] + state['n_semitones']) <= 0.5:
            # If our tuning was off by more than the deformation,
            # then no label modification is necessary
            return

        for obs in annotation.data.value:
            obs['tonic'] = transpose(obs['tonic'], state['n_semitones'])
dataset/ETHPy150Open bmcfee/muda/muda/deformers/pitch.py/AbstractPitchShift.deform_tonic/original