2026-08-07 06:34:36 +00:00
2026-07-28 16:50:04 +05:00
2026-08-07 06:34:36 +00:00

🎵 Audio Splitter

Python 3.8+ FFmpeg License: GPLv3 Docker

Split audio files into tracks using a flexible tracklist format.

A powerful commandline tool that reads a tracklist (with timestamps) and splits an audio file into individual tracks. Supports multiple audio/video containers, metadata writing, and fully customisable input/output formats.


Features

  • Flexible tracklist parsing Define your own format with placeholders (%ts, %tn, %an, %al, %date, %ext)
  • Timestamp support Handle both start-only (00:00) and start:end (00:00-01:30) timestamps
  • Multiple stream support Preserve audio, video, and subtitle streams (or drop them selectively)
  • Metadata writing Write title, artist, album, date, track, and comment to output files
  • Custom output filenames Define your own naming template using placeholders (%an-%tn.%ext)
  • Character replacement Replace problematic filename characters with a custom character
  • Dryrun mode Preview parsed tracks without splitting
  • Skip existing files Avoid overwriting alreadyextracted tracks
  • Delete original Optionally remove the input file after successful splitting
  • Docker image Run without installing dependencies; simple oneline commands

📦 Installation

Prerequisites

  • Python 3.8 or higher
  • FFmpeg required for audio processing

Install FFmpeg

OS Command
Ubuntu/Debian sudo apt install ffmpeg
macOS (Homebrew) brew install ffmpeg
Windows Download from ffmpeg.org

Install Audio Splitter

Clone the repository and install:

git clone https://git.vmn.su/max/audio_splitter.git
cd audio_splitter
pip install .

Now the audio_splitter command is available globally:

audio_splitter input.mp3 tracks.txt

Tip: For development, install in editable mode: pip install -e .


🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

For bug reports or feature requests, please open an issue.


📄 License

Distributed under the GNU General Public License v3 (or later). See the LICENSE file for more details.


🙏 Acknowledgements

  • FFmpeg the powerhouse behind audio processing
  • Python the language that makes it all possible
  • gosu privilege dropping for Docker

📬 Contact

Maintainer: Maxim Vershinin Project Link: https://git.vmn.su/max/audio_splitter

S
Description
No description provided
Readme GPL-3.0 10 MiB
Languages
Python 57.1%
TypeScript 38.7%
Dockerfile 2.7%
Shell 1%
HTML 0.3%
Other 0.2%