Skip to content

Repository files navigation

🎵 Audio Fingerprinting TMA Project

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.


🧠 How It Works

The system is split into two major components:

📱 Flutter Mobile App

  • 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.

🖥️ Python Server (Backend)

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.

🔬 Techniques Implemented

  1. Short-Time Fourier Transform (STFT)
    Breaks audio into overlapping windows → transforms each to frequency domain.

  2. Constant-Q Transform (CQT)
    Like STFT, but uses a logarithmic frequency scale, improving low-frequency resolution.

  3. MFCCs (Mel-Frequency Cepstral Coefficients)
    Captures human-perceived frequency features for compact signal representation.

Backend uses Python, NumPy, and LibROSA.
See: server/README.md for more on scripts and tools.


📊 System Architecture

image

Figure 1: Audio flows through a fingerprinting process → hash → matching → result.


📈 Signal Processing Visuals

1. Spectrogram in 3D

Visualizes frequency over time + amplitude in 3D.
image


2. Spectrogram with Peak Detection

Used to extract fingerprint-relevant peaks.
image


3. Waveform to Frequency Spectrum

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


📁 Project Structure

📦 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


👥 Authors

Name Role
Tasbih Abboud Project Lead & Flutter Developer
Muhammed Masarwa Backend Developer (Python)
Amina Haj Yahya UI/UX + QA & Testing

📌 Project Notes

  • Created as a final senior-year project.
  • Built for educational and demonstration purposes.
  • Source code may contain legacy or unfinished components.

🔗 Acknowledgments

  • LibROSA – Music and audio analysis in Python
  • NumPy – Scientific computing
  • Flutter – Cross-platform mobile framework

📨 Contact

For inquiries or collaboration: github.com/Mhemd139

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages