An academic project developed by Tasbih, Muhammed, and Amina, designed to perform real-time audio recognition using signal processing and mobile integration. The system detects and identifies music tracks from short recorded clips by converting audio to spectral fingerprints and matching them in a backend database.
The system is split into two major components:
- Record a short audio snippet using the device microphone.
- Send the clip to the backend server.
- Receive the closest matching audio result (e.g., song name).
- Modern UI with favorites, playback, and recording history.
The backend is responsible for:
- Audio Fingerprinting – Transforming sound waves into compact, unique digital "fingerprints."
- Matching – Comparing input fingerprints to a stored database using fast hashing techniques.
- Response – Returning a JSON with the best match and confidence level.
-
Short-Time Fourier Transform (STFT)
Breaks audio into overlapping windows → transforms each to frequency domain. -
Constant-Q Transform (CQT)
Like STFT, but uses a logarithmic frequency scale, improving low-frequency resolution. -
MFCCs (Mel-Frequency Cepstral Coefficients)
Captures human-perceived frequency features for compact signal representation.
Backend uses Python, NumPy, and LibROSA.
See:server/README.mdfor more on scripts and tools.
Figure 1: Audio flows through a fingerprinting process → hash → matching → result.
Visualizes frequency over time + amplitude in 3D.

Used to extract fingerprint-relevant peaks.

Raw waveform (left) → frequency domain (right).
This FFT process is foundational for fingerprinting.

📦 Audio-Fingerprinting-TMA/
├── 📁 android/ # Flutter Android project
├── 📁 lib/ # Flutter source code (UI, logic)
├── 📁 assets/ # App images and fonts
├── 📁 server/ # Python backend (fingerprinting + matching)
├── 📄 pubspec.yaml # Flutter dependencies
└── 📄 README.md
| Name | Role |
|---|---|
| Tasbih Abboud | Project Lead & Flutter Developer |
| Muhammed Masarwa | Backend Developer (Python) |
| Amina Haj Yahya | UI/UX + QA & Testing |
- Created as a final senior-year project.
- Built for educational and demonstration purposes.
- Source code may contain legacy or unfinished components.
- LibROSA – Music and audio analysis in Python
- NumPy – Scientific computing
- Flutter – Cross-platform mobile framework
For inquiries or collaboration: github.com/Mhemd139
