class_docstr: Impulse response filtering
code: def deform_times(annotation, state):
      # Deform time values for all annotations.
  
      # Extend the observation duration by the estimated delay
      if annotation.duration is not None:
          annotation.duration += state["ir_groupdelay"]
  
      # Shift all observations forward in time
      for obs in annotation.pop_data():
          annotation.append(
              time=obs.time + state["ir_groupdelay"],
              duration=obs.duration,
              value=obs.value,
              confidence=obs.confidence,
          )
  
file_path: muda/muda/deformers/ir.py
imports: import six
  import numpy
  import pandas
  import scipy
  import soundfile
  import librosa
  import jams
  from ..base import BaseTransformer
label_desc: Use image node_id 3 for calling the IRConvolution obj's underlying member method code with example usage: obj.deform_times(annotation, state) without return types