This project is a music matching and mixing application that allows users to upload songs, analyze their features, and find similar songs based on perceptual hashes. It also supports mixing two songs with adjustable weights.
song_FingerPrint.mp4
- Song Analysis: Extracts and analyzes various features from songs, including spectral centroid, spectral contrast, MFCCs, and more.
- Perceptual Hashing: Generates perceptual hashes for songs to enable efficient similarity searches.
- Database Management: Creates and manages a database of song fingerprints, stored in JSON format.
- Song Matching: Searches the database to find songs similar to a given input based on perceptual hashes.
- Song Mixing: Mixes two songs with adjustable weights and plays the mixed audio.
- Graphical User Interface: Provides a user-friendly interface using PyQt5 for uploading songs, viewing matches, and playing audio.
- Clone the repository:
git clone https://github.com/MohamedHisham20/DSP_FingerPrint
- Navigate to the project directory:
cd DSP_FingerPrint - Install the required dependencies:
pip install -r requirements.txt
- Run the main application:
python main.py
- Use the GUI to upload songs, view matches, and mix songs.
main.py: Main application file that initializes the GUI and handles user interactions.database.py: Handles the creation and management of the song fingerprint database.processing_and_searching.py: Contains functions for audio processing, feature extraction, and searching.matchmaker.py: Implements the logic for matching songs and mixing audio.Audio_Fingerprint.py: Defines theAudio_Fingerprintclass for creating song fingerprints.stylesheet.py: Contains the stylesheet for the GUI.json_ctrl.py: Provides utility functions for reading and writing JSON files.song_widget.py: Defines the GUI components for displaying song information.
Special thanks to everyone who has contributed to this project!
| GitHub Profile | |
|---|---|
| Abdelrahman Alaa | |
| Ibrahim Fateen | |
| Mohamed Hisham | |
| Salah Mohamed |
Dr. Tamer Basha & Eng. Omar Aldaw