Olaf
Overly Lightweight Acoustic Fingerprinting
Loading...
Searching...
No Matches
Data Fields
Olaf_Config Struct Reference

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
 

Detailed Description

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.

Field Documentation

◆ audioBlockSize

int Olaf_Config::audioBlockSize

The size of a single audio block: e.g. 1024 samples

◆ audioSampleRate

int Olaf_Config::audioSampleRate

The sample rate of the incoming audio: e.g. 16000Hz.

◆ audioStepSize

int Olaf_Config::audioStepSize

The size of a step from one block of samples to the next: e.g. 128 samples.

◆ bytesPerAudioSample

int Olaf_Config::bytesPerAudioSample

The size of a single audio sample. For example a 32 bit float sample consists of 4 bytes

◆ eventPointThreshold

int Olaf_Config::eventPointThreshold

Once this number of event points is listed, start combining them into fingerprints: should be less than maxEventPoints

◆ filterSizeFrequency

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).

◆ filterSizeTime

int Olaf_Config::filterSizeTime

The filter size of the max filter in time (horizontal direction), expressed in blocks

◆ halfFilterSizeTime

int Olaf_Config::halfFilterSizeTime

Half of the filter size in time

◆ keepMatchesFor

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.

◆ maxDBCollisions

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

◆ maxEventPoints

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)

◆ maxEventPointsPerBlock

int Olaf_Config::maxEventPointsPerBlock

Max number of event points per audio block

◆ maxEventPointUsages

int Olaf_Config::maxEventPointUsages

the amount each event point is reused

◆ maxFingerprints

size_t Olaf_Config::maxFingerprints

The maximum number of fingerprints to keep in memory during fingerprint extraction.

◆ maxFreqDistance

int Olaf_Config::maxFreqDistance

The maximum frequency bin distance in fft bins.

◆ maxResults

size_t Olaf_Config::maxResults

The maximum number of result in the matching step.

◆ maxTimeDistance

int Olaf_Config::maxTimeDistance

The maximum time distance of event points in time steps.

◆ minEventPointMagnitude

float Olaf_Config::minEventPointMagnitude

To avoid extracting event points of silence, the ep magnitude should be at least this value

◆ minFreqDistance

int Olaf_Config::minFreqDistance

The minimum frequency bin distance in fft bins.

◆ minFrequencyBin

int Olaf_Config::minFrequencyBin

Frequency bins below this value are not used in ep extraction.

◆ minMatchCount

int Olaf_Config::minMatchCount

The minimum number of aligned matches before reporting match

◆ minMatchTimeDiff

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.

◆ minTimeDistance

int Olaf_Config::minTimeDistance

The minimum time distance of event points in time steps.

◆ numberOfEPsPerFP

int Olaf_Config::numberOfEPsPerFP

Number of event points per fingerprint. Should be either three (for clean queries) or two for noisy queries.

◆ printResultEvery

float Olaf_Config::printResultEvery

Print result every x seconds

◆ searchRange

int Olaf_Config::searchRange

The search range which allows small deviations from the fingerprint hashes.

◆ useMagnitudeInfo

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

◆ verbose

bool Olaf_Config::verbose

Print debug info. If true a lot of messages are printed to the console.


The documentation for this struct was generated from the following file: