Skip to content

rishabhc9/Music-Collector

Repository files navigation

Music Collector

Features:

  1. Song Identification:
    • Uses the Shazam API to identify songs playing around you.
    • Records audio snippets and matches them against Shazam’s database.
  2. 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
  3. Song Downloading:
    • Automatically downloads identified songs using yt-dlp.
    • Organizes downloaded songs into a dedicated folder.
  4. 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)
  5. 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
  6. 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)

Installation & Setup (Python)

Clone the Repository

git clone https://github.com/rishabhc9/Music-Collector.git
cd Music-Collector

Run the program (Desktop App with GUI)

python3 MusicCollector.py

Run the program (Desktop CLI App with auto-downloading)

python3 MusicCollector(CLI Auto-Download).py

Run the program (Web Interface, cd inside rpi_music_collector folder and run)

python3 autoscript_for_rpi.py

Make Sure to install these libraries

yt-dlp==2025.1.26
ytmdl==2024.8.15.1
httpx==0.27.2
shazamio==0.6.0
pyaudio==0.2.14
ffmpeg-python
pydub

Desktop Interface

Screenshot 2025-02-27 at 10 14 28 PM Screenshot 2025-02-28 at 12 18 45 AM Screenshot 2025-02-28 at 12 19 18 AM

Web Interface (for rpi)

Screenshot 2025-02-28 at 12 42 44 AM Screenshot 2025-02-28 at 12 39 32 AM Screenshot 2025-02-28 at 12 39 58 AM Screenshot 2025-02-28 at 12 40 18 AM

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published