All Projects → acoustid → Chromaprint

acoustid / Chromaprint

Licence: other
C library for generating audio fingerprints used by AcoustID

Projects that are alternatives of or similar to Chromaprint

Aukit
audio toolkit. 好用的语音处理工具箱,包含语音降噪、音频格式转换、特征频谱生成等模块。
Stars: ✭ 105 (-81.01%)
Mutual labels:  audio, audio-processing, audio-analysis
audio noise clustering
https://dodiku.github.io/audio_noise_clustering/results/ ==> An experiment with a variety of clustering (and clustering-like) techniques to reduce noise on an audio speech recording.
Stars: ✭ 24 (-95.66%)
Mutual labels:  audio-analysis, audio-processing
MusicVisualizer
A music visualizer based on the ATMEGA328P-AU
Stars: ✭ 30 (-94.58%)
Mutual labels:  audio-analysis, audio-processing
Audio-Classification-using-CNN-MLP
Multi class audio classification using Deep Learning (MLP, CNN): The objective of this project is to build a multi class classifier to identify sound of a bee, cricket or noise.
Stars: ✭ 36 (-93.49%)
Mutual labels:  audio-analysis, audio-processing
Otto
Sampler, Sequencer, Multi-engine synth and effects - in a box! [WIP]
Stars: ✭ 2,390 (+332.19%)
Mutual labels:  audio, audio-processing
Gist
A C++ Library for Audio Analysis
Stars: ✭ 244 (-55.88%)
Mutual labels:  audio, audio-analysis
tsunami
A simple but powerful audio editor
Stars: ✭ 41 (-92.59%)
Mutual labels:  audio-analysis, audio-processing
Devicehive Audio Analysis
Stars: ✭ 189 (-65.82%)
Mutual labels:  audio, audio-analysis
Surfboard
Novoic's audio feature extraction library
Stars: ✭ 318 (-42.5%)
Mutual labels:  audio, audio-processing
Musig
A shazam like tool to store songs fingerprints and retrieve them
Stars: ✭ 388 (-29.84%)
Mutual labels:  audio, audio-processing
Friture
Real-time audio visualizations (spectrum, spectrogram, etc.)
Stars: ✭ 509 (-7.96%)
Mutual labels:  audio, audio-analysis
Waveform analysis
Functions and scripts for analyzing waveforms, primarily audio. This is currently somewhat disorganized and unfinished.
Stars: ✭ 193 (-65.1%)
Mutual labels:  audio, audio-analysis
Mwengine
Audio engine and DSP for Android, written in C++ providing low latency performance in a musical context, supporting both OpenSL and AAudio.
Stars: ✭ 190 (-65.64%)
Mutual labels:  audio, audio-processing
ACA-Slides
Slides and Code for "An Introduction to Audio Content Analysis," also taught at Georgia Tech as MUSI-6201. This introductory course on Music Information Retrieval is based on the text book "An Introduction to Audio Content Analysis", Wiley 2012/2022
Stars: ✭ 84 (-84.81%)
Mutual labels:  audio-analysis, audio-processing
Emotion Classification From Audio Files
Understanding emotions from audio files using neural networks and multiple datasets.
Stars: ✭ 189 (-65.82%)
Mutual labels:  audio, audio-processing
MixingBear
Package for automatic beat-mixing of music files in Python 🐻🎚
Stars: ✭ 73 (-86.8%)
Mutual labels:  audio-analysis, audio-processing
Labsound
🔬 🔈 graph-based audio engine
Stars: ✭ 429 (-22.42%)
Mutual labels:  audio, audio-analysis
Awesome Deep Learning Music
List of articles related to deep learning applied to music
Stars: ✭ 2,195 (+296.93%)
Mutual labels:  audio, audio-processing
Scaper
A library for soundscape synthesis and augmentation
Stars: ✭ 186 (-66.37%)
Mutual labels:  audio, audio-processing
Nara wpe
Different implementations of "Weighted Prediction Error" for speech dereverberation
Stars: ✭ 265 (-52.08%)
Mutual labels:  audio, audio-processing

Chromaprint

Chromaprint is an audio fingerprint library developed for the AcoustID project. It's designed to identify near-identical audio and the fingerprints it generates are as compact as possible to achieve that. It's not a general purpose audio fingerprinting solution. It trades precision and robustness for search performance. The target use cases are full audio file identifcation, duplicate audio file detection and long audio stream monitoring.

Building

The most common way to build Chromaprint is like this:

$ cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TOOLS=ON .
$ make
$ sudo make install

This will build Chromaprint as a shared library and also include the fpcalc utility (which is used by MusicBrainz Picard, for example). For this to work, you will need to have the FFmpeg libraries installed.

See below for other options.

FFT Library

Chromaprint can use multiple FFT libraries -- FFmpeg, FFTW3, KissFFT or vDSP (macOS).

FFmpeg is preferred on all systems except for macOS, where you should use the standard vDSP framework. These are the fastest options.

FFTW3 can be also used, but this library is released under the GPL license, which makes also the resulting Chromaprint binary GPL licensed.

KissFFT is the slowest option, but it's distributed with a permissive license and it's very easy to build on platforms that do not have packaged versions of FFmpeg or FFTW3. We ship a copy of KissFFT, so if the build system is unable to find another FFT library it will use that as a fallback.

You can explicitly set which library to use with the FFT_LIB option. For example:

$ cmake -DFFT_LIB=kissfft .

FFmpeg

FFmpeg is as a FFT library and also for audio decoding and resampling in fpcalc. If you have FFmpeg installed in a non-standard location, you can use the FFMPEG_ROOT option to specify where:

$ cmake -DFFMPEG_ROOT=/path/to/local/ffmpeg/install .

While we try to make sure things work also with libav, FFmpeg is preferred.

API Documentation

You can use Doxygen to generate a HTML version of the API documentation:

$ make docs
$ $BROWSER docs/html/index.html

Unit Tests

The test suite can be built and run using the following commands:

$ cmake -DBUILD_TESTS=ON .
$ make check

In order to build the test suite, you will need the sources of the Google Test library.

Related Projects

Bindings, wrappers and reimplementations in other languages:

Integrations:

If you know about a project that is not listed here, but should be, please let me know.

Standing on the Shoulders of Giants

I've learned a lot while working on this project, which would not be possible without having information from past research. I've read many papers, but the concrete ideas implemented in this library are based on the following papers:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].