A premium, modern, and beautiful Windows Music Player built using Python, customtkinter, and pygame. Bally Audio features a sleek dark-themed user interface, an interactive 10-band equalizer (EQ) with custom presets, a dynamic 16-band visualizer, playlist management, seek controls, and multiple playback modes.
- Sleek Glassmorphic UI: High-contrast, interactive dark theme powered by CustomTkinter.
- Dynamic 16-Band Visualizer: Fluid real-time visual response to playing music.
- 10-Band Equalizer: Expandable EQ panel with standard presets (Classical, Club, Dance, Live, Pop, Rock, Techno, Flat) and manual frequency tuning.
- Playback Controls: Play, pause, stop, skip, previous, and volume adjustment.
- Interactive Seek Slider: Drag or click to easily seek to any part of the active track.
- Playlist Management:
- Browse and add multiple audio files.
- Create and switch between multiple custom playlists.
- Delete songs from playlists.
- Persistent playlist storage.
- Playback Modes: Support for Sequential loop (🔁), Shuffle/Random (🔀), and Single Track loop (🔂).
Make sure you have Python 3.8+ installed.
- Clone or download this repository.
- Install the required dependencies:
pip install -r requirements.txt
- Run the application:
python player.py
You can build a standalone Windows executable (Bally Audio.exe) that runs on any compatible machine without requiring Python.
Simply run the build script:
- Double-click
build.bat, or run it from command prompt:build.bat
Once compilation is complete, the executable will be located in the dist/ directory.
A Makefile is provided to run, install dependencies, and package the application across multiple platforms.
- Install dependencies:
make install
- Run the player locally:
make run
- Package for Windows:
make build-win
- Package for Linux:
make build-linux
- Package for macOS:
make build-mac
- Clean build artifacts:
make clean
(Note: PyInstaller packages the executable for the host operating system. To package for Windows, run make build-win on a Windows machine, and similarly run on Linux/macOS for their respective packages.)
