Skip to main content

A CLI tool for splitting audio files into equally-sized chunks or based on periods of silence

Project description

Audio File Splitter

audio_splitter/main.py is a command-line tool for splitting audio files into equally-sized chunks or based on silence. This Python script uses the pydub library for handling various audio formats.

Why does this exist?

As someone who enjoys to listen to spoken word every night, I often listen to podcasts on my old MP3 player before going to sleep. However, I found myself growing bored of listening to the same first 5 minutes of each episode every night. To mix things up and always have something new to listen to, I created this script to break down podcast episodes into smaller chunks. Now I can jump around different parts of the episodes and enjoy a fresh listening experience each time.

Usage

To use the script, follow these steps:

python audio_splitter/main.py input_file output_dir [--chunk_length CHUNK_LENGTH] [--output_format OUTPUT_FORMAT] [--silence_based]

Replace input_file with the path to your audio file and output_dir with the path to the output directory where you want to save the chunks.

Options

--chunk_length CHUNK_LENGTH: Length of each chunk in milliseconds (default: 300000 ms, or 5 minutes). Ignored if --silence_based is set.
--output_format OUTPUT_FORMAT: Output format for the audio chunks (default: wav). Supported formats include wav, mp3, and ogg.
--silence_based: Split the audio based on silence instead of fixed-size chunks. If set, --chunk_length is ignored and the script ensures that the generated chunks are at least the specified length.

Examples

Split an audio file into 5-minute (default) chunks:

python audio_splitter/main.py input_file.mp3 output_dir

Split an audio file into 10-minute chunks and save them in the MP3 format:

python audio_splitter/main.py input_file.mp3 output_dir --chunk_length 600000 --output_format mp3

Split an audio file based on silence, ensuring that the chunks are at least 5 minutes long:

python audio_splitter/main.py input_file.mp3 output_dir --silence_based

Split an audio file based on silence, ensuring that the chunks are at least 10 minutes long:

python audio_splitter/main.py input_file.mp3 output_dir --chunk_length 600000 --silence_based

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

audio-splitter-0.1.0.tar.gz (3.7 kB view hashes)

Uploaded Source

Built Distribution

audio_splitter-0.1.0-py3-none-any.whl (4.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page