0% found this document useful (0 votes)
19 views1 page

Artboard 7

Uploaded by

22520026
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views1 page

Artboard 7

Uploaded by

22520026
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

A MUSIC SEARCH SYSTEM

BASED ON AUDIO FINGERPRINT


Group 4 - Nguyen T.K An, Huynh Y. Nhi, Nguyen An, Nguyen T.N Tram
22520026 22521035 22520019 22521498

11 PROBLEM
PROBLEMIDENTIFICATION
IDENTIFICATION 22 EVALUATION
EVALUATION
Audio fingerprinting, inspired by the groundbreaking technology 2.1 DATASET
behind Shazam, is a powerful method for identifying and recogni- CHAD: Cover and Hummings Aligned Dataset
zing audio content quickly and accurately. This technique involves This dataset was proposed in 2023 for Query by Humming and Cover task.
generating unique digital representations, or fingerprints, of audio With a diverse selection of 283 tracks, taken from the Billboard Charts' top 100
signals based on their distinctive features, such as frequency pat- each year from 1960 to 2020, the CHAD dataset provides a rich and varied
terns and amplitude variations. musical landscape for research and experimentation.
In this project, we made a music search system based on audio fin- Reorganizing:
gerprinting. • For Original Songs:
Input: ◦ We used the provided script from CHAD’s author to download MP3 files via
Server: A list of original music audio files YouTube IDs. However, some older songs were no longer available on You-
Client: A snippet of a song or its recorded Tube as of 2024, making MP3 file downloads impossible for those tracks.
Output: Name of the best matching song ◦ After filtering, our dataset consists of 275 songs exhibiting a variety of
Constraints:
Constraints: music genres, styles, and publication years to create snippets
File format: .wav or .mp3 • For Snippets: We created 10-30 second snippets in two ways:
Server: File name is the available Youtube ID of the song’s music ◦ Trimming Original Tracks: We randomly cut the WAV files from the original
video songs, set file name format as {title}_{duration}.wav.
Client: ◦ Creating Noise Files: To test the robustness of the system, we added noise
to the snippets and formatted their file name as {title}_{duration}_noi-
- At least 10 seconds in length and shorter than 60 seconds
se.wav
- Signal to noise ratio must be bigger than 0 dB which
Finally, we created a metadata file (label file) to calculate the system's metrics
means signal power is larger than noise power
as mentioned in Section 2.2
Requirements:
• Accuracy of finding songs in the dataset from snippets: at 2.2 METRICS
least 70% 1. Classification Report 3. Data storage space
• Robustness: the ability to precisely identify a track, despite • Precision • Recall • Acurracy It depends on thet number
of fingerprints and finger-
distortions like equalization, pitching, background noise, … 2. Signal to Noise ratio - SNR (dB) print size (caculated in MB)
• Compactness: storage space of fingerprints for one song SNR is a measure of signal quality.
under 1 MB. The higher the ratio, the better the signal quality 4. Time complexity - Big O
• Processing time to output: under 10 seconds in Laptop 16GB It depends on database size
In which:
RAM (for database of about 200 records and audio query and query audio length.
Psignal noise power (B)
shorter than 30s) Pnoise signal power (B)

33 DECOMPOSITION
DECOMPOSITION Song search system
Input:
Server: List of original music audio files
Client: Snippet of a song or its recorded
Output:
Name of the best matching song

Extract fingerprint Find matching song


Input: Input:
Server: List of original music audio files Server: list of hashes stored in database
Client: Snippet of a song or its recorded Client: list of hashes
Output: Output:
Server: List of original music audio’s fingerprints Name of the best matching song
Client: Snippet audio’s fingerprints

Calculate spectrogram Extract peaks Generate hash Compare hash Retrieve matching song
Input: Input: Input: Input: Input:
Server: List of original music audio files Server: List of original music audio’s spectrograms Server: List of original music audio’s fingerprints Server: list of hashes stored in database A list of deviation between hashes from client
Client: Snippet of a song or its recorded Client: Snippet audio’s spectrograms Client: Snippet audio’s fingerprints Client: list of hashes and hashes of each song in database
Output: Output: Output: Output: Output:
Server: List of original music audio’s spectrograms Server: List of original music audio’s fingerprints Server: list of hashes stored in database A list of deviation between hashes from client Name of the best matching song
Client: Snippet audio’s spectrograms Client: Snippet audio’s fingerprints Client: list of hashes and hashes of each song in database

44 ALGORITHMS
ALGORITHMS Database

Fingerprint Extraction
Storage

Generate Spectrogram Find Peaks Find Pairs Create Hash

Known
A hash containing: Database Database
audio sample query answer
- Frequency anchor fA
- Frequency target fB
Fingerprint Matching
- Time offset T

Unknown
audio look up

BEST MATCHING SONG

You might also like