#2541·moviepy

write_audiofile causes corrupted output if writing to the original audio path

Author: 1plus1equal3Created Nov 26, 2025Updated Sep 16, 2026
Labelsquestionaudio

In an attempt to extend an audio clip by appending silence, I discovered that writing to the same audio file path causes the output file to become corrupted.

from moviepy import AudioFileClip, CompositeAudioClip, AudioClip

def silence_audio(duration):
    """Generate a silent audio clip of the given duration."""
    clip = AudioClip(lambda t: 0, duration=duration)
    return clip

def extend_audio(original_audio, extension_duration):
    """Extend the original audio by adding silence at the end."""
    silence_clip = silence_audio(extension_duration)
    extended_audio = CompositeAudioClip([
        original_audio,
        silence_clip.with_start(original_audio.duration)
    ])
    return extended_audio

Testing script:

audio_path = "./audio.wav"
sample_audio = AudioFileClip(audio_path)
sample_audio = extend_audio(sample_audio, 1.0)
print(f"Extended audio duration: {sample_audio.duration} seconds")
sample_audio.write_audiofile(audio_path)  # Causes corrupted output

The newly written audio file becomes corrupted if the original file still exists at audio_path. However, if I delete the original file first (Ex: using os.remove(audio_path)), the new audio file is written correctly.