Terminal-based ASCII art visualizations synchronized to snippets of music. Each song features custom animations and timing that sync with the music when you play it alongside the visual.
This is a little side project I'm working on that combines my love for music with my passion for programming.
The goal is to figure out the timing of beat changes, transitions, and tempo of specific songs, and map them to ASCII art animations (basically an ASCII music video).
This song is inspiration for, and the first song of this project. Something about combining music created by robots and programming just felt right. I used the silver and gold helmet robots to represent the 2 different robot voices in the song respectively. When one robot is speaking, their helmet is displayed on the screen, while the other is hidden. When their parts meet, both helmets are displayed on the screen simultaneously, displaying the full ASCII art.
Usage:
python trtn.py- Sync starts at 0:15
- Run the script above
- Press ENTER exactly when the music starts
- Enjoy the synchronized visualization
Demo Video: https://github.com/user-attachments/assets/ee1b09b7-173d-4020-8595-6c4ef9c4b72e
Note: Currently runs buggy in Mac Terminal (screen scrolling issues). Works properly in VS Code terminal. Planning to fix all terminal compatibility in the future.
- Python 3.x
- VS Code terminal (working on bugs with other terminals)
- A music player (Spotify, YouTube, etc.)
git clone https://github.com/jhamze7/TerminalSongs.git
cd TerminalSongs- Julian Hamze - (https://github.com/jhamze7)
This project is for educational and demonstration purposes only. I do not own any rights to the songs referenced in this project. All music rights belong to their respective artists, labels, and publishers. No audio files are included in this repository—users must provide their own legally obtained music.