WAV File Splitter (Python)

JS
S
JavaScript

Efficient split script using pydub

1from pydub import AudioSegment
2import os
3import math
4
5def split_wav(input_path, output_dir, chunk_length_ms=15000):
6    # Load audio file
7    audio = AudioSegment.from_wav(input_path)
8    
9    # Calculate number of chunks
10    chunks = math.ceil(len(audio) / chunk_length_ms)
11    
12    # Create output directory if it doesn't exist
13    os.makedirs(output_dir, exist_ok=True)
14    
15    # Split and export
16    for i in range(chunks):
17        start_time = i * chunk_length_ms
18        end_time = start_time + chunk_length_ms
19        chunk = audio[start_time:end_time]
20        
21        output_file = f"{output_dir}/chunk_{i+1}.wav"
22        chunk.export(output_file, format="wav")
23        
24# Usage
25input_file = '/home/jovyan/work/sample.wav'
26output_directory = "/home/jovyan/work/output_chunks"
27split_wav(input_file, output_directory)

Created on 12/18/2024