🎵 MusicViz
MusicViz is a high-performance, aesthetically driven Python tool that transforms your audio tracks into vibrant, neon-drenched visual experiences. Powered by Pygame and Librosa, it generates 1920x1080 MP4 videos with fluid, musically-accurate frequency bars.
✨ Features
- Neon Aesthetic: Mirrored, centered frequency bars with soft glow effects and a reactive background that pulses with the bass.
- Beat Explosions: Dynamic particle bursts that trigger on every major beat for high-impact visuals.
- Beat-Reactive Colors: The entire color palette shifts significantly on beats, keeping the experience fresh and energetic.
- Circular Mode: Use the
--circularflag for a radially expanding visualization centered on the screen. - Musically Accurate: Uses Mel-Spectrogram analysis to map frequencies to a human-perceivable scale, ensuring the visuals "feel" right.
- Fluid Motion: Implements Temporal Smoothing (exponential decay) for professional, non-flickering bar movement.
- High Performance: Pre-calculated audio analysis and headless Pygame rendering for fast video encoding.
- Professional Layout: Left-aligned titles and optional artist subtitles for a clean, modern look.
🚀 Installation
1. Requirements
- Python 3.11+
- FFmpeg: Required for video encoding.
- macOS:
brew install ffmpeg - Ubuntu:
sudo apt-get install ffmpeg
- macOS:
2. Setup
It is recommended to use a virtual environment:
conda create -n musicv python=3.11
conda activate musicv
pip install musicviz
For development, install from source:
git clone https://github.com/hathibelagal-dev/musicviz.git
cd musicviz
pip install .
🎨 Usage
Run the musicviz command providing your input audio, desired output name, and track details:
musicviz <input_audio> <output_video> "Track Title" --artist "Artist Name"
Example:
musicviz song.mp3 output.mp4 "Midnight Neon" --artist "SynthWave Artist"
🎥 Output Specifications
- Resolution: 1920x1080 (1080p)
- Frame Rate: 30 FPS
- Color Palette: Dynamic Plasma/Neon (Blue to Pink)
- Format: MP4 (H.264 codec) with AAC audio
🛠️ Built With
Metadata
Release files for musicviz 0.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| musicviz-0.0.8.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| musicviz-0.0.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.3 kB
Release files / musicviz-0.0.8.tar.gz
| Download URL | musicviz-0.0.8.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
371ac2374ef35d28bd1410d19f00c8c78c41e54f9d3cafa2091b3f67270e346e
|
|
BLAKE2b-256 checksum How to use checksums |
f8460081e9d485f6299548605d7a47b804eb19e6d45819e30bdb3fb33f6c1941
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / musicviz-0.0.8-py3-none-any.whl
| Download URL | musicviz-0.0.8-py3-none-any.whl |
|---|---|
| Size | 11.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3b2cef96cfd4a9f18bb47ef9b39f1492e6322f84b0d367300ff7564d77f1cd32
|
|
BLAKE2b-256 checksum How to use checksums |
793f79e1764d2a6393eab12045e73191dcf853e30210d1287df92246a4acadd4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|