Skip to content

a-gram/audioneex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Build Status Documentation Status License: MPL 2.0

Audioneex is an audio content recognition engine specifically designed for real-time applications. It is general purpose, based on content-agnostic algorithms and runs on all kinds of machines, from big servers to mobile and embedded devices.

Features

  • Compact fingerprints - 1 hr of audio encoded in less than a MB
  • Fast identification - only a few seconds to perform a recognition
  • Content-agnostic - recognition of audio of different nature
  • Cross-platform - runs anywhere there is a modern C++ compiler (v11+)
  • IoT & Mobile-ready - runs well on small devices for on-device ACR
  • Database-neutral - can be used with any database (requires drivers)

Documentation

The official documentation can be found here

Quick start

The engine needs the following dependencies

  • Boost
  • FFTSS
  • Tokyo Cabinet | Couchbase
  • TagLib (optional)
  • FFmpeg (optional)

After compiling and installing the dependencies, open a shell and issue the following commands to start the build process

$ git clone https://github.com/a-gram/audioneex.git
$ cd audioneex
$ ./build WITH_EXAMPLES=ON

This will build the library along with the demo programs within the _build directory. Please refer to the documentation for more details.

Demo app

If you want to see the engine in action and play around with it straight away there is a demo app for Windows that can be downloaded from here

License

This code is released under the Mozilla Public License 2.0.

In a nutshell:

  • It can be used freely in commercial projects without publishing proprietary code.
  • Any modifications to the source code must be made available, under the same license.
  • If distributed under any form (source or binary) all copyright notices must be retained (for binaries, the notices can be put in the docs or "about" box).

References

For the more curious, it is an implementation of the methods described in this paper. If you are including this work in your research, please use the following BibTex citation

@misc{agramaglia2014-acr,
   author =       "Alberto Gramaglia",
   title =        "A Binary Auditory Words Model for Audio Content Identification",
   howpublished = "\url{https://github.com/a-gram/audioneex}",
   year =         "2014"
}

or in plain text

A.Gramaglia (2014). "A Binary Auditory Words Model for Audio Content Identification". Audioneex.com.