def overdrive(self, gain_db=<NUM_LIT>, colour=<NUM_LIT>):
if not is_number(gain_db):<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>if not is_number(colour):<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>effect_args = [<EOL>'<STR_LIT>',<EOL>'<STR_LIT>'.format(gain_db),<EOL>'<STR_LIT>'.format(colour)<EOL>]<EOL>self.effects.extend(effect_args)<EOL>self.effects_log.append('<STR_LIT>')<EOL>return self<EOL>
Apply non-linear distortion.

        Parameters
        ----------
        gain_db : float, default=20
            Controls the amount of distortion (dB).
        colour : float, default=20
            Controls the amount of even harmonic content in the output (dB).