Source code for moviepy.audio.fx.multiply_stereo_volume

from moviepy.decorators import audio_video_fx


[docs]@audio_video_fx def multiply_stereo_volume(clip, left=1, right=1): """For a stereo audioclip, this function enables to change the volume of the left and right channel separately (with the factors `left` and `right`). Makes a stereo audio clip in which the volume of left and right is controllable. Examples -------- >>> from moviepy import AudioFileClip >>> music = AudioFileClip('music.ogg') >>> audio_r = music.multiply_stereo_volume(left=0, right=1) # mute left channel/s >>> audio_h = music.multiply_stereo_volume(left=0.5, right=0.5) # half audio """ def stereo_volume(get_frame, t): frame = get_frame(t) if len(frame) == 1: # mono frame *= left if left is not None else right else: # stereo, stereo surround... for i in range(len(frame[0])): # odd channels are left frame[:, i] *= left if i % 2 == 0 else right return frame return clip.transform(stereo_volume, keep_duration=True)