A powerful and flexible automatic tracklist generator for DJ mixes and audio streams. Identifies tracks in your mixes using multiple providers (Shazam, ACRCloud) and generates formatted playlists with high accuracy.
- Shazam and ACRCloud integration
- Smart provider fallback system
- High accuracy with confidence scoring
- Support for multiple platforms (YouTube, Mixcloud, SoundCloud)
- JSON with detailed metadata
- Markdown formatted tracklists
- M3U playlists
- CSV and XML exports
- Rekordbox compatible format
- Automatic format conversion
- Batch processing for multiple files
- Intelligent caching system
- Progress tracking with detailed status
- Configurable audio quality settings
- Asynchronous processing
- Smart rate limiting
- Advanced error recovery
- Comprehensive logging system
- Docker support
- Python 3.11 or higher
- ffmpeg
- git
- uv (package and project manager)
- Tracklistify is managed by uv, so you will need to install it.
- Follow the uv installation guide for your platform.
# Clone the repository
git clone https://github.com/betmoar/tracklistify.git
cd tracklistify
# Install dependencies using uv
uv sync# Copy example environment file
cp .env.example .env# Identify tracks in a file or URL
uv run tracklistify <input>
# Examples:
tracklistify path/to/mix.mp3
tracklistify https://youtube.com/watch?v=example# Specify output format
tracklistify -f json input.mp3 # JSON output
tracklistify -f markdown input.mp3 # Markdown output
tracklistify -f m3u input.mp3 # M3U playlist
tracklistify -f csv input.mp3 # CSV export
tracklistify -f all input.mp3 # Generate all formats# Process multiple files
tracklistify -b path/to/folder/*.mp3
# With specific output format
tracklistify -b -f json path/to/folder/*.mp3# Show progress with detailed status
tracklistify --progress input.mp3
# Specify provider
tracklistify --provider shazam input.mp3
# Set output directory
tracklistify -o path/to/output input.mp3Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
