class_docstr: Select a subsection (or "part") of the audio and repeat that part a number of times.
  This can be useful when simulating scenarios where a short audio snippet gets
  repeated, for example:
  
  * Repetitions of some musical note or sound in a rhythmical way
  * A person stutters or says the same word (with variations) multiple times on a row
  * A mechanical noise with periodic repetitions
  * A "skip in the record" or a "stuck needle" effect, reminiscent of vinyl records or
      CDs when they repeatedly play a short section due to a scratch or other
      imperfection.
  * Digital audio glitches, such as a buffer underrun in video games,
      where the current audio frame gets looped continuously due to system overloads
      or a software crash.
  
  Note that the length of inputs you give it must be compatible with the part
  duration range and crossfade duration. If you give it an input audio array that is
  too short, a `UserWarning` will be raised and no operation is applied to the signal.
class_docstr_tok: ["Select","a","subsection","(","or","``","part","''",")","of","the","audio","and","repeat","that","part","a","number","of","times",".","This","can","be","useful","when","simulating","scenarios","where","a","short","audio","snippet","gets","repeated",",","for","example",":","*","Repetitions","of","some","musical","note","or","sound","in","a","rhythmical","way","*","A","person","stutters","or","says","the","same","word","(","with","variations",")","multiple","times","on","a","row","*","A","mechanical","noise","with","periodic","repetitions","*","A","``","skip","in","the","record","''","or","a","``","stuck","needle","''","effect",",","reminiscent","of","vinyl","records","or","CDs","when","they","repeatedly","play","a","short","section","due","to","a","scratch","or","other","imperfection",".","*","Digital","audio","glitches",",","such","as","a","buffer","underrun","in","video","games",",","where","the","current","audio","frame","gets","looped","continuously","due","to","system","overloads","or","a","software","crash",".","Note","that","the","length","of","inputs","you","give","it","must","be","compatible","with","the","part","duration","range","and","crossfade","duration",".","If","you","give","it","an","input","audio","array","that","is","too","short",",","a","`","UserWarning","`","will","be","raised","and","no","operation","is","applied","to","the","signal","."]
code: def unfreeze_parameters(self):
      super().unfreeze_parameters()
      if hasattr(self.part_transform, "unfreeze_parameters"):
          self.part_transform.unfreeze_parameters()
  
file_path: audiomentations/audiomentations/augmentations/repeat_part.py
imports: import random
  import warnings
  from typing import Optional, Callable
  import numpy
  from numpy.typing import NDArray
  from audiomentations.core.transforms_interface import BaseWaveformTransform
  from audiomentations.core.utils import get_crossfade_mask_pair
label_desc: Use image node_id 6 for calling the RepeatPart obj's underlying member method code with example usage: obj.unfreeze_parameters() without return types