Audio Fingerprinting with Multi-Window Peaks for Noisy Retrieval
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional audio fingerprinting techniques face challenges in accuracy due to noisy and distorted audio segments, and scalability issues when handling large databases, requiring efficient indexing and search algorithms.
Innovation Solution
A method involving multiple sliding windows to generate combined peak sets for fingerprinting, using Constant-Q Transform (CQT) and Discrete Fourier Transform (DFT) routines, and inverted indices for efficient retrieval, including periodic updates to maintain accuracy and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional audio fingerprinting techniques are used, then the process is simple, but accuracy deteriorates due to noisy and distorted audio segments
Solution Approach 1:
The audio signal is divided into multiple overlapping segments using different sliding windows with various sizes and hop values. Each segment is processed independently to extract peaks, and the results are combined. This segmentation allows the system to capture features at different time resolutions and reduces the impact of noise and distortion in any single segment.
Solution Approach 2:
Multiple peak sets generated from different sliding window configurations are merged into a combined peak set. The merging process integrates peaks from various segments, maintaining peaks that appear consistently across multiple segments while filtering out spurious peaks caused by noise or distortion. This combining approach enhances fingerprint robustness.
2Productivity
If conventional fingerprinting methods are used, then the implementation is straightforward, but scalability deteriorates when handling large databases
Solution Approach 1:
The database is divided into multiple partitions, each maintained as a separate inverted index. During retrieval, the query fingerprint is processed and searched across relevant partitions. This segmentation of the database enables parallel processing and reduces the computational burden on any single index, improving scalability to large database sizes.
Solution Approach 2:
Inverted indexes are pre-computed and stored for each database partition, organizing fingerprint data by hash values before retrieval operations. This preliminary indexing action enables efficient O(1) lookup during retrieval, significantly improving productivity when searching through large databases without requiring computationally intensive operations at query time.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Methods, processors, systems for audio fingerprinting and retrieval are disclosed. One method includes receiving the audio segment generating a first set of peaks by applying a first sliding window on the audio segment, generating a second set of peaks by applying a second sliding window on the audio segment, generating a combined set of peaks based on the first and second sets of peaks, and generating the fingerprint for the audio segment using the combined set of peaks. Another method includes accessing a first inverted index using the sequence of query hashes, determining a temporally compatible sub-sequence of query hashes in the sequence using data retrieved from the first inverted index, accessing a second inverted index using only the temporally compatible sub-sequence, and retrieving data indicative of the target stored audio segment. Another method for target stored digital items is also disclosed.