|
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 | sqrtMagnitude |
| bool | useMagnitudeInfo |
| int | numberOfEPsPerFP |
| int | minTimeDistance |
| int | maxTimeDistance |
| int | minFreqDistance |
| int | maxFreqDistance |
| size_t | maxFingerprints |
| size_t | maxResults |
| int | searchRange |
| int | minMatchCount |
| float | 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
| float 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. It is expressed in seconds. Zero means that all matches are reported.
| 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::sqrtMagnitude |
Calculating the square root of the magnitude is not strictly needed for event point extraction, but for debug and visualization it can be practical, default is false.
| 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.