Files
audio_splitter/README.md
T
2026-08-07 06:35:53 +00:00

67 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🎵 Audio Splitter
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![FFmpeg](https://img.shields.io/badge/FFmpeg-required-green.svg)](https://ffmpeg.org/)
[![License: GPLv3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Docker](https://img.shields.io/badge/Docker-ready-blue.svg)](https://www.docker.com/)
**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.
---
## 📖 Documentation
Full documentation including all CLI options, tracklist formats, deployment guides, and architecture details is available in the [**Wiki**](https://git.vmn.su/max/audio_splitter/wiki).
## ✨ 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
---
## 🤝 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](https://git.vmn.su/max/audio_splitter/issues).
---
## 📄 License
Distributed under the GNU General Public License v3 (or later). See the [LICENSE](LICENSE) file for more details.
---
## 🙏 Acknowledgements
- [FFmpeg](https://ffmpeg.org/) the powerhouse behind audio processing
- [Python](https://www.python.org/) the language that makes it all possible
- [gosu](https://github.com/tianon/gosu) privilege dropping for Docker
---
## 📬 Contact
**Maintainer:** Maxim Vershinin
**Project Link:** [https://git.vmn.su/max/audio_splitter](https://git.vmn.su/max/audio_splitter)