- Song Identification:
- Uses the Shazam API to identify songs playing around you.
- Records audio snippets and matches them against Shazam’s database.
- Song History Tracking:
- Keeps a detailed history of all identified songs, including:
- Song title and artist
- Date and time of recognition
- Time category (morning, afternoon, evening, night)
- Day of the week
- Keeps a detailed history of all identified songs, including:
- Song Downloading:
- Automatically downloads identified songs using yt-dlp.
- Organizes downloaded songs into a dedicated folder.
- Listening Trends Chart (Desktop App)
- Top Songs Chart (A chart that displays the total listening duration for each song & visualizes the top 20 songs based on listening duration.)
- Top Artists Chart (A chart that displays the number of unique songs identified for each artist & Visualizes the top 20 artists based on the number of unique songs identified)
- Filtering, Sorting & Searching (only for Desktop app)
- Allows users to filter the song history based on specific parameters (Title, Artist, Date, Time, Day of Week, Time Category).
- Allows users to sort the song history in ascending or descending order based on a selected parameter.
- Allows user to search for a specific song
- Listening Trends Dashboard (Web Interface):
- A Flask-based web dashboard to visualize your listening habits:
- Unique songs and artists
- Most active day of the week
- Songs You've Listened to by Artist
- Daily Count of Fresh Tracks
- Your Music Hotspots Throughout the Month (Time Slot when you discover the most tracks)
- A Flask-based web dashboard to visualize your listening habits:
git clone https://github.com/rishabhc9/Music-Collector.git
cd Music-Collectorpython3 MusicCollector.pypython3 MusicCollector(CLI Auto-Download).pypython3 autoscript_for_rpi.pyyt-dlp==2025.1.26
ytmdl==2024.8.15.1
httpx==0.27.2
shazamio==0.6.0
pyaudio==0.2.14
ffmpeg-python
pydub