Interface IAudioFingerprinter<T>
- Namespace
- AiDotNet.Interfaces
- Assembly
- AiDotNet.dll
Interface for audio fingerprinting algorithms.
public interface IAudioFingerprinter<T>
Type Parameters
TThe numeric type used for calculations.
Remarks
Audio fingerprinting creates compact representations of audio that can be used for identification and similarity matching. Different algorithms trade off between accuracy, speed, and robustness to transformations.
For Beginners: An audio fingerprint is like a "signature" for a piece of audio. Just like human fingerprints identify individuals, audio fingerprints identify songs or sound recordings. Services like Shazam use fingerprinting to identify songs from short recordings.
Properties
FingerprintLength
Gets the fingerprint length in bits or elements.
int FingerprintLength { get; }
Property Value
Name
Gets the name of the fingerprinting algorithm.
string Name { get; }
Property Value
SampleRate
Gets the expected sample rate for input audio.
int SampleRate { get; }
Property Value
Methods
ComputeSimilarity(AudioFingerprint<T>, AudioFingerprint<T>)
Computes the similarity between two fingerprints.
double ComputeSimilarity(AudioFingerprint<T> fp1, AudioFingerprint<T> fp2)
Parameters
fp1AudioFingerprint<T>First fingerprint.
fp2AudioFingerprint<T>Second fingerprint.
Returns
- double
Similarity score (0-1, higher is more similar).
FindMatches(AudioFingerprint<T>, AudioFingerprint<T>, int)
Finds matching segments between two fingerprints.
IReadOnlyList<FingerprintMatch> FindMatches(AudioFingerprint<T> query, AudioFingerprint<T> reference, int minMatchLength = 10)
Parameters
queryAudioFingerprint<T>The query fingerprint.
referenceAudioFingerprint<T>The reference fingerprint to search in.
minMatchLengthintMinimum length of matching segment.
Returns
- IReadOnlyList<FingerprintMatch>
List of matching segments with time offsets.
Fingerprint(Tensor<T>)
Generates a fingerprint from audio data.
AudioFingerprint<T> Fingerprint(Tensor<T> audio)
Parameters
audioTensor<T>Audio samples as a tensor (mono audio).
Returns
- AudioFingerprint<T>
The audio fingerprint.
Fingerprint(Vector<T>)
Generates a fingerprint from audio data.
AudioFingerprint<T> Fingerprint(Vector<T> audio)
Parameters
audioVector<T>Audio samples as a vector (mono audio).
Returns
- AudioFingerprint<T>
The audio fingerprint.