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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file audio-splitter-0.1.0.tar.gz
.
File metadata
- Download URL: audio-splitter-0.1.0.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f932683147b91b23490d1b22acac1e4bf913c0dd7c2c268fb52ce9b505abf16 |
|
MD5 | e103421b84421049a7c300c4385e8f70 |
|
BLAKE2b-256 | 30f6fdf7178c7f06e46f021bd1772c242fabe0ee0c9e6e265fc37d9e5d6402bf |
File details
Details for the file audio_splitter-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: audio_splitter-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c29f59d59ac1916ac079f42aa4e265f326f206fa387dd864101d3d669ad7a34 |
|
MD5 | 632ccd95113ee757caed5d7c47de6d2b |
|
BLAKE2b-256 | 4ee0cc77d8235fa1ca5bbbf43d5ca68da32d3691a23a347949f32c9d4f637b15 |