soundmentations.CenterPadToLength

class soundmentations.CenterPadToLength(pad_length: int, p: float = 1.0)[source]

Bases: BasePad

Pad or trim audio to exact target length using center operations.

  • If shorter: adds zeros symmetrically on both sides

  • If longer: trims symmetrically from both sides (keeps center)

  • If equal: returns unchanged

Parameters:
  • pad_length (int) – Exact target length for the audio in samples.

  • p (float, optional) – Probability of applying the transform, by default 1.0.

Examples

Center-normalize audio to exact length:

>>> import numpy as np
>>> from soundmentations.transforms.time import CenterPadToLength
>>>
>>> # Short audio - will be center-padded
>>> short_audio = np.array([1, 2, 3])
>>> # Long audio - will be center-trimmed
>>> long_audio = np.arange(9)
>>>
>>> pad_transform = CenterPadToLength(pad_length=7)
>>>
>>> result1 = pad_transform(short_audio)
>>> print(result1)  # [0 0 1 2 3 0 0]
>>>
>>> result2 = pad_transform(long_audio)
>>> print(result2)  # [1 2 3 4 5 6 7]

Use for preserving important audio content in center:

>>> # Keep center 3 seconds for speech processing
>>> center_normalize = CenterPadToLength(pad_length=132300)
>>> processed_audio = center_normalize(speech_audio)