Source code for moviepy.audio.fx.AudioNormalize

from dataclasses import dataclass

from moviepy.audio.fx.MultiplyVolume import MultiplyVolume
from moviepy.Clip import Clip
from moviepy.decorators import audio_video_effect
from moviepy.Effect import Effect


[docs] @dataclass class AudioNormalize(Effect): """Return a clip whose volume is normalized to 0db. Return an audio (or video) clip whose audio volume is normalized so that the maximum volume is at 0db, the maximum achievable volume. Examples -------- >>> from moviepy import * >>> videoclip = VideoFileClip('myvideo.mp4').with_effects([afx.AudioNormalize()]) """
[docs] @audio_video_effect def apply(self, clip: Clip) -> Clip: """Apply the effect to the clip.""" max_volume = clip.max_volume() if max_volume == 0: return clip else: return clip.with_effects([MultiplyVolume(1 / max_volume)])