About • Features • How it works • Tech Stack • Developers
WTS | What The Song is a Python and PyQt5-based desktop app that generates audio fingerprints to detect and rank song similarity using audio signal features. The tool processes songs by generating spectrograms, extracting features, and applying perceptual hash functions—a method of creating compact representations that preserve perceptual similarity in audio—to identify and compare audio tracks.
-
Spectrogram Generation: Automatically generates spectrograms for the first 30 seconds of each song. Three types of spectrograms are created:
- Full Song
- Music Only
- Vocals Only
-
Feature Extraction: The Extracted key audio features are the peaks of spectrogram which is the regions where the frequency is most dominant.
-
Perceptual Hashing: Uses perceptual hash functions to create compact representations of audio features for efficient similarity detection.
-
Similarity Detection: Compares input audio files against a database of songs and generates a ranked list of similar songs with a similarity index.
-
Weighted Average Combination: Allows users to combine two audio files using a slider to control the weighting percentage. The combined result is treated as a new input for similarity detection.
- Interactive GUI: Provides a user-friendly interface with:
- File selection for input songs
- Real-time similarity results
- Slider for weighted audio combination
The following tools were used in the construction of the project:
The application is built with Python and PyQt5. It iterates through a collection of songs to generate spectrograms and extract features, storing the results in a local database. When an input file is provided, the application computes its fingerprint and lists similar songs based on a similarity index.
Before running the application, make sure you have Python installed on your system. You will also need pip for installing dependencies.
To run the project locally, follow these steps:
-
Navigate to the project folder:
cd WTS -
Install the required dependencies:
pip install pyqt5 numpy librosa matplotlib pandas
-
Run the application:
python main.py
This will start the WTS | What The Song application locally.
| Talal Emara | Meram Mahmoud | Maya Mohammed | Nouran Hani | Nariman Ahmed |
|---|
To learn more about audio signal processing and PyQt5, check out the following resources:

