Constants and enums

enum Audioneex::eMatchType

These constants determine the type of algorithm used to find a match in the fingerprint database. It must be set before the index is created and must be used with all the identifications performed using that index. Trying to identify audio using a match type that’s different from the one used to build the index will result in wrong recognitions or undefined behavior.

Values:

MSCALE_MATCH

The original “standard” algorithm. It provides high accuracy at the expense of reduced speed at increasing scales.

XSCALE_MATCH

A modified version of the standard algorithm designed to increase the search speed at large scales by trading off some accuracy. Produces a much bigger index than MSCALE_MATCH.

enum Audioneex::eIdentificationType

These constants determine the type of classification used internally by the recognizer to perform the identification. The fuzzy mode uses an internal 3-class fuzzy classifier (see Audioneex::eIdClass) while the binary mode is a simple thresholded classification around a value set by clients using Recognizer::SetBinaryIdThreshold().

Values:

FUZZY_IDENTIFICATION

Perform identification using a fuzzy logic classifier. Provides more robustness to noise by reducing false positives but requires more audio to find a match.

BINARY_IDENTIFICATION

A classifier based on simple thresholding. Yields results very quickly but may give many false positives and thus lower accuracy, depending on the value of the threshold. Use Recognizer::SetBinaryIdThreshold() to set the threshold.

enum Audioneex::eIdentificationMode

These identification modes only apply to the fuzzy identification type and determine the classifier’s behavior.

Values:

STRICT_IDENTIFICATION

The classifier uses very tight requirements in order to find the best match. Makes the recognition more robust to noise but slower.

EASY_IDENTIFICATION

The classifier uses very loose requirements to find a match. Makes the recognition faster but more sensitive to noise.

enum Audioneex::eIdClass

These labels are attached to the results returned by the Recognizer::GetResults() method to indicate the outcome of the identification. When using the binary identification type, only two of these labels are are used.

Values:

UNIDENTIFIED

There is no clear evidence of a match.

SOUNDS_LIKE

There are similarities between the audio and the indicated match(es), but the confidence is low.

IDENTIFIED

There is a clear evidence of a match with a strong confidence value.

struct IdMatch

Structure for identified best matches returned by the Recognizer. Clients may use this information to link the identified audio to its metadata, to verify the degree of confidence of the recognition and to get the time point within the identified recording at which the match occurred.

Public Members

uint32_t FID

The fingerprint’s unique identifier.

float Confidence

A measure of the confidence of match.

float Score

A score assigned to the match.

eIdClass IdClass

The identification class label (see Audioneex::eIdClass).

uint32_t CuePoint

Estimated time point within the recording being identified.

Note

The CuePoint is an estimation and may not exactly represent the real point. The engine works by identifying similarities between the given audio snippet and the reference recordings and it may happen that there are many parts in a recording that are perceptually identical. This is common in music (for example in refrains) so the current audio snippet may match the recording at different time points that cannot be easily disambiguated.