Skip to content

An algorithm for recognizing and fingerprinting audio files, implemented in C++.

License

Notifications You must be signed in to change notification settings

PlungedInCode/AudioIdentifier

Repository files navigation

AudioIdentifier

An algorithm for recognizing and fingerprinting audio files, implemented in C++.

Table of Contents

General Information

AudioIdentifier is a C++ application designed for audio fingerprinting and recognition. Unlike traditional audio recognition systems, AudioIdentifier stands out by avoiding external libraries for fingerprinting, making it a self-contained solution. The project utilizes SFML for building a graphical user interface (UI), SQLite for efficient database management, and PortAudio for handling audio input.

Requirements

  • SFML
  • SQLite
  • PortAudio
  • Cmake

Screenshots

UI

Setup

  1. Clone the Repository:
    git clone [email protected]:PlungedInCode/AudioIdentifier.git
    cd AudioIdentifier
  2. Build the Project:
    mkdir build && cd build
    cmake ..
    make
  3. Run project
    ./AudioIdentifier 

Project Status

Project is: in progress

Contribution

Feel free to contribute to AudioIdentifier by submitting issues or pull requests.

TODO

  • Optimize peak detection algorithm
  • Optimize hashing and matching algorithms
  • Extract metadata from .wav files
  • Better UI
  • Concurrency
  • Expand list of supported formats

Thanks to

About

An algorithm for recognizing and fingerprinting audio files, implemented in C++.

Resources

License

Stars

Watchers

Forks