Shazam Music Downloader is a Python application that can download playlists that you recently Shazamed using the Shazam app, and all kinds of music identified via the app, and save them as a CSV file. The app has an automation script that can read the CSV file, search for songs from YouTube using the youtubesearchpython
library, and download them using youtube_dl
and ffmpeg
libraries in Python. Every song download will be included in the CSV and logged into a TXT file.
To use the application, you need to have Python 3.x installed on your computer. You also need to install the following Python libraries:
yt_dlp
youtubesearchpython
ffmpeg
Note: To install FFmpeg, refer to the official FFmpeg documentation for platform-specific instructions.
You can install the required Python libraries using pip
and the provided requirements.txt
file, as shown in the steps below.
-
Prepare the Playlist CSV File
Download a playlist of songs you recently Shazamed using the Shazam app and save it as a CSV file. -
Clone the Repository
Open your terminal or command prompt and clone this repository to your computer:git clone https://github.com/Pasanlaksitha/Shazam-Downloader.git cd Shazam-Downloader
-
Create a Virtual Environment
Set up a virtual environment to isolate dependencies for this project:python -m venv .venv
-
Activate the Virtual Environment
- On Windows:
.venv\Scripts\activate
- On macOS/Linux:
source .venv/bin/activate
- On Windows:
-
Install Dependencies
Usepip
to install the required libraries listed inrequirements.txt
:pip install -r requirements.txt
-
Run the Application
In your terminal, ensure the virtual environment is activated, and then run the application:python shazam_music_downloader.py
-
Enter the CSV File Name
When prompted, enter the name of the CSV file you downloaded in step 1.The application will search for and download the songs listed in the CSV file from YouTube. The downloaded songs will be saved as MP3 files in a
downloads
folder, and each download will be logged in alog.txt
file.
In the future, the developer plans to add a graphical user interface (GUI) to the application and automate the process of creating a playlist of songs in the CSV file on Spotify.
This project is licensed under the MIT License.
Feel free to use, modify, and distribute the code as you see fit. If you have any suggestions or find any bugs, please open an issue or submit a pull request.