Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
ASCII Music Visualizer A Python-based music visualization tool that converts audio files into colorful, real-time ASCII art visualizations. Watch your music come to life through dynamic character patterns and colors that respond to the audio frequencies! Features Real-time audio visualization using ASCII characters Color-coded intensity mapping Support for MP3 and WAV audio files Dynamic frequency spectrum analysis Customizable frame rate Multi-color output using terminal colors Smooth real-time rendering Prerequisites Before running the visualizer, make sure you have Python installed. You'll need the following packages: bashCopypip install numpy librosa colorama Installation Clone this repository or download the source code Install the required dependencies: bashCopypip install -r requirements.txt Usage Run the script: bashCopypython music_visualizer.py When prompted, enter the path to your audio file Watch the visualization! Press Ctrl+C to stop the visualization How It Works The visualizer works by: Loading and analyzing the audio file using librosa Converting the audio into a mel spectrogram Normalizing the frequency data Mapping frequencies to ASCII characters and colors Displaying the visualization in real-time Visualization Legend Characters represent intensity (from lowest to highest): " " (space): silence "." : very low intensity ":" : low intensity "+" : medium intensity "X" : high intensity "@" : peak intensity Colors represent intensity ranges: Blue: Low intensity Green: Medium intensity Yellow: High intensity Red: Peak intensity fps: Change the frame rate (default: 24) characters: Modify the ASCII characters used Color schemes can be adjusted in the get_color method Contributing Feel free to fork this project and submit pull requests with improvements. Some ideas for contributions: Additional visualization modes Beat detection features More color schemes Audio effects processing Real-time audio input support