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