Tree [r23] /
History



File Date Author Commit
AUTHORS 2009-11-05 llando [r2] Initial checkin
COPYING 2009-11-05 llando [r2] Initial checkin
ChangeLog 2011-09-22 llando [r23] Replace get_current_dir_name() with getcwd() to...
Makefile.am 2011-04-15 llando [r20] Added missing scripts.
README 2010-10-01 llando [r12] Hint on tested library versions.
client.c 2010-02-05 llando [r6] Renaming all methods prefixed with afp_ to open...
client.h 2010-02-05 llando [r6] Renaming all methods prefixed with afp_ to open...
compare.sh 2011-04-15 llando [r20] Added missing scripts.
configure.ac 2011-04-15 llando [r19] Fixes problem with hard-coded ffmpeg path.
env.sh 2011-04-15 llando [r20] Added missing scripts.
extract.sh 2011-04-15 llando [r20] Added missing scripts.
fft.c 2010-10-12 llando [r15] Fixes and sanitizes use of constants. Introduce...
fft.h 2010-10-12 llando [r16] Document FEATURE_Ã* constants.
fingerprint.c 2011-07-22 llando [r22] Resolve FIXME regarding feature free().
fingerprint.h 2009-11-05 llando [r2] Initial checkin
hamming.c 2009-11-05 llando [r2] Initial checkin
hamming.h 2009-11-05 llando [r2] Initial checkin
loudness.c 2009-11-05 llando [r2] Initial checkin
loudness.h 2010-02-05 llando [r6] Renaming all methods prefixed with afp_ to open...
lowpass.c 2009-11-05 llando [r2] Initial checkin
lowpass.h 2009-11-05 llando [r2] Initial checkin
mcm_fft.c 2009-11-05 llando [r2] Initial checkin
mcm_fft.h 2009-11-05 llando [r2] Initial checkin
measure.c 2009-11-05 llando [r2] Initial checkin
measure.h 2009-11-05 llando [r2] Initial checkin
mfcc.c 2009-11-05 llando [r2] Initial checkin
mfcc.h 2010-10-12 llando [r15] Fixes and sanitizes use of constants. Introduce...
openfp_extract.c 2011-04-15 llando [r19] Fixes problem with hard-coded ffmpeg path.
openfp_match.c 2010-02-05 llando [r6] Renaming all methods prefixed with afp_ to open...
openfp_server.c 2011-09-22 llando [r23] Replace get_current_dir_name() with getcwd() to...
thread.c 2010-09-30 llando [r10] Adding command line options for thread count an...
thread.h 2010-09-30 llando [r10] Adding command line options for thread count an...

Read Me

Contents

1. ...... OpenFP Summary
2. ...... OpenFP Tool Chain
3. ...... Source Files
3.1. ....... SVN Repository
3.2. ....... Compiling the Sources
4. ...... Authors and Contributions
5. ...... Terms of Use


1. OpenFP Summary
--------------------------------------------------------------------------

OpenFP is an experimental audio matching solution. It was developed by
Magic Internet to evaluate the reliability of different variants of energy
spectrum based fingerprinting matching. The implementation is based on a
paper from Haitsma and Kalker "A Highly Robust Audio Fingerprinting System"
(http://ismir2002.ismir.net/proceedings/02-FP04-2.pdf).

OpenFP is similar to many existing fingerprinting solutions
like Audible Magic, fdupes, MPEG7, Youtube ContentId or libofa. 

More information can be found at our homepage http://open-fp.sourceforge.net/.


2. OpenFP Tool Chain
--------------------------------------------------------------------------

  * openfp_extract:	Fingerprint extractor
  * openfp_match:	Matching client
  * openfp_server:	Matching server


3. Source Files
--------------------------------------------------------------------------

The sources are comprised of the following files.

	openfp_extract.[ch]	Extractor code
	openfp_match.[ch]	Simple matching client
	openfp_server.[ch]	libevent MT matching server
	fingerprint.[ch]	Fingerprint handling
	fft.[ch]		FFT using libfftw3
	mfcc.[ch]		Mel Cepstrum Coefficient
				calculation support
	lowpass.[ch]		different lowpass impls
	loudness.[ch]		ATH loudness calculation
	client.[ch]		openfp_server client code
	measure.[ch]		performance measurements

You can download OpenFP either as a tarball from the project homepage
or directly from the Subversion repository. Both hosted at SourceForge.


3.1. SVN Repository
--------------------------------------------------------------------------

You can download the most recent sources from the SVN repository at SF:

   svn co https://open-fp.svn.sourceforge.net/svnroot/open-fp open-fp 

After doing so run "autoreconf -i" to create a configure script. Then
proceed with the instructions in 3.2. 


3.2. Compiling the Sources
--------------------------------------------------------------------------

Before installing ensure that you have met the library requirements:

  * libfftw3

To compile the sources simply run:

   ./configure
   make
   make install

In case of problems feel free to send a mail to lars.lindner@magicinternet.de!

The code was tested successfully with the following library versions:

   libfftw 3.1.2
   libevent 1.3e

If you have problems with other versions please consider downgrading
or statically linking against an older library version.


4. Authors and Contributions
--------------------------------------------------------------------------

There is a list of all people so far that helped developing the OpenFP
programs. Feel free to contribute patches, comments or simple experience
reports!

Please note that some parts of OpenFP contains sources from other projects.


5. Terms of Use
--------------------------------------------------------------------------

OpenFP is licensed as GPLv3 and can be used and distributed according to
the GPLv3 license. As stated in the GPLv3 license text (see COPYING) there
is no guarantee that OpenFP is of any use to you.

Please note that the patent implications of the algorithms used by OpenFP
are not clear and that is primarily intended for academic research.