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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for audio-splitter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9f932683147b91b23490d1b22acac1e4bf913c0dd7c2c268fb52ce9b505abf16
MD5 e103421b84421049a7c300c4385e8f70
BLAKE2b-256 30f6fdf7178c7f06e46f021bd1772c242fabe0ee0c9e6e265fc37d9e5d6402bf

See more details on using hashes here.

File details

Details for the file audio_splitter-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for audio_splitter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c29f59d59ac1916ac079f42aa4e265f326f206fa387dd864101d3d669ad7a34
MD5 632ccd95113ee757caed5d7c47de6d2b
BLAKE2b-256 4ee0cc77d8235fa1ca5bbbf43d5ca68da32d3691a23a347949f32c9d4f637b15

See more details on using hashes here.

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