Olaf
Overly Lightweight Acoustic Fingerprinting
|
Configuration parameters defining the behaviour of Olaf. More...
#include <olaf_config.h>
Data Fields | |
char * | dbFolder |
int | audioBlockSize |
int | audioSampleRate |
int | audioStepSize |
int | bytesPerAudioSample |
bool | verbose |
int | maxEventPointsPerBlock |
int | filterSizeTime |
int | halfFilterSizeTime |
int | filterSizeFrequency |
int | halfFilterSizeFrequency |
float | minEventPointMagnitude |
int | minFrequencyBin |
int | maxEventPointUsages |
int | maxEventPoints |
int | eventPointThreshold |
bool | useMagnitudeInfo |
int | numberOfEPsPerFP |
int | minTimeDistance |
int | maxTimeDistance |
int | minFreqDistance |
int | maxFreqDistance |
size_t | maxFingerprints |
size_t | maxResults |
int | searchRange |
int | minMatchCount |
int | minMatchTimeDiff |
float | keepMatchesFor |
float | printResultEvery |
size_t | maxDBCollisions |
Configuration parameters defining the behaviour of Olaf.
Olaf_Config configuration parameters define the behaviour of Olaf. The configuration determines how Olaf behaves. The configuration settings are set at compile time and should not change in between runs: if they do it is possible that e.g. indexed fingerprints do not match extracted prints any more.
int Olaf_Config::audioBlockSize |
The size of a single audio block: e.g. 1024 samples
int Olaf_Config::audioSampleRate |
The sample rate of the incoming audio: e.g. 16000Hz.
int Olaf_Config::audioStepSize |
The size of a step from one block of samples to the next: e.g. 128 samples.
int Olaf_Config::bytesPerAudioSample |
The size of a single audio sample. For example a 32 bit float sample consists of 4 bytes
int Olaf_Config::eventPointThreshold |
Once this number of event points is listed, start combining them into fingerprints: should be less than maxEventPoints
int Olaf_Config::filterSizeFrequency |
The filter size of the max filter in frequency (vertical direction), either expressed in fft bins or in MIDI notes (12 midi notes is an octave).
int Olaf_Config::filterSizeTime |
The filter size of the max filter in time (horizontal direction), expressed in blocks
int Olaf_Config::halfFilterSizeTime |
Half of the filter size in time
float Olaf_Config::keepMatchesFor |
After this time, in seconds, a match is forgotten. This especially relevant for streams. Set to 0 to keep all matches.
size_t Olaf_Config::maxDBCollisions |
maximum number of results returned from the database It can be considered as the number of times a fingerprint hash is allowed to collide
int Olaf_Config::maxEventPoints |
Max number of event points before they are combined into fingerprints (parameter should not have any effect,except for memory use)
int Olaf_Config::maxEventPointsPerBlock |
Max number of event points per audio block
int Olaf_Config::maxEventPointUsages |
the amount each event point is reused
size_t Olaf_Config::maxFingerprints |
The maximum number of fingerprints to keep in memory during fingerprint extraction.
int Olaf_Config::maxFreqDistance |
The maximum frequency bin distance in fft bins.
size_t Olaf_Config::maxResults |
The maximum number of result in the matching step.
int Olaf_Config::maxTimeDistance |
The maximum time distance of event points in time steps.
float Olaf_Config::minEventPointMagnitude |
To avoid extracting event points of silence, the ep magnitude should be at least this value
int Olaf_Config::minFreqDistance |
The minimum frequency bin distance in fft bins.
int Olaf_Config::minFrequencyBin |
Frequency bins below this value are not used in ep extraction.
int Olaf_Config::minMatchCount |
The minimum number of aligned matches before reporting match
int Olaf_Config::minMatchTimeDiff |
The minimum duration of a match before it is reported: 5 matches over 2 seconds indicates a more reliable match than 5 matches in 0.1s.
int Olaf_Config::minTimeDistance |
The minimum time distance of event points in time steps.
int Olaf_Config::numberOfEPsPerFP |
Number of event points per fingerprint. Should be either three (for clean queries) or two for noisy queries.
float Olaf_Config::printResultEvery |
Print result every x seconds
int Olaf_Config::searchRange |
The search range which allows small deviations from the fingerprint hashes.
bool Olaf_Config::useMagnitudeInfo |
Include magnitude info in fingerprints or not. For over the air queries it is best to not include magnitude info in fingerprint
bool Olaf_Config::verbose |
Print debug info. If true a lot of messages are printed to the console.