SAGE Music Agent Gif

TrackSAGE DJ Music Tool

Python | FastAPI | OpenAI API | Faster-Whisper | Pydantic | CLI

Overview

TrackSAGE is an AI-powered automation system I designed to help DJs organize, clean, and analyze large music libraries. It's built as a local-first desktop tool for full control over your music files — optimized for workflow speed, tagging accuracy, and creative preparation in Serato DJ.

TrackSAGE now includes four intelligent modules: Tag Inspection, Duplicate Detection, Smart Renaming, and Audio Transcription. Each module is built with structured logging, safe file handling, and optional AI integration powered by OpenAI's GPT-4o-mini and Faster-Whisper.

This project began as a simple file renamer and has evolved into a complete DJ library maintenance suite. Every run generates detailed JSON + TXT logs for transparency and review, while AI caching ensures repeat runs are fast, efficient, and low-cost.


1. Inspect Tags

Scans .mp3 and .wav files using Mutagento extract and display metadata such as artist, title, and album. Useful for verifying and cleaning inconsistent ID3 tags before renaming.

DEMO:


2. Duplicate Detector

Recursively scans folders for duplicate audio files using MD5 hashing and smart filename heuristics. Prefers clean, original filenames (e.g., Track.mp3 over Track - Copy (1).mp3) and moves duplicates into a timestamped trash/ directory for safe review. Each run logs results to both JSON and TXT for transparency.

DEMO:


3. Smart Renamer

Automatically renames tracks using ID3 metadata into the clean format Artist - Title. Includes built-in sanitization for illegal characters and ensures filename uniqueness. If tags are missing, TrackSAGE uses GPT-4o-mini to infer artist/title context intelligently and stores those suggestions in a local cache for reuse. A Dry Run mode allows previewing results before applying changes.

DEMO:


4. Audio Transcription

Converts speech from .mp3 and .wav files into text using Faster-Whisper. Ideal for lectures, DJ sets, or creative voice notes. Generates transcripts as logs/transcribed_<timestamp>.txt and optionally summarizes them with OpenAI for concise review notes. Summaries are saved separately as logs/ai_summary_<timestamp>.txt.

DEMO:

Technologies Used

Python

FastAPI

Pydantic

Mutagen

OpenAI API

JSON / CLI

Git/GitHub