सार शीर्षक: Shazam की संगीत पहचान तकनीक का सिद्धांत
Shazam क्या है?
- Shazam आसपास चल रहे संगीत की पहचान करने वाला एक ऐप है.
- ऐप खोलकर, संगीत चलने के दौरान कुछ सेकंड तक ऑडियो रिकॉर्ड किया जाता है और फिर उसे डेटाबेस में खोजा जाता है.
- पहले यह सेवा फोन नंबर के जरिए दी जाती थी, और कॉल क्वालिटी की सीमाओं के कारण संगीत पहचान एक कठिन काम था.
संगीत पहचानना कठिन क्यों है
- जो लोग signal processing से परिचित नहीं हैं, उनके लिए ऑडियो सिग्नल की जटिलता के कारण संगीत पहचानना एक कठिन समस्या है.
- गाने के किसी खास हिस्से को पूरे ट्रैक में brute-force तरीके से ढूँढना बहुत धीमा होता है, और background noise तथा frequency effects के कारण सिग्नल का स्वरूप काफी बदल सकता है.
सिस्टम का अवलोकन
- Shazam दो प्रवाहों में बँटा है: संगीत को रजिस्टर करना और उसे पहचानना; दोनों प्रवाहों में spectrogram की गणना, spectrogram में peaks ढूँढना, और peak hashing जैसे समान चरण होते हैं.
- रजिस्ट्रेशन प्रवाह hashes को डेटाबेस में संग्रहीत करता है, और पहचान प्रवाह उन्हें डेटाबेस के hashes से तुलना करके चल रहे गाने की पहचान करता है.
spectrogram की गणना
- ऑडियो का spectrogram पाने के लिए Fourier transform को समझना जरूरी है.
- Fourier transform ऑडियो में मौजूद frequencies बताता है, और इसके जरिए समय के साथ frequencies में होने वाले बदलाव को दिखाने वाला spectrogram बनाया जाता है.
spectrogram
- समय के साथ बदलती frequencies को बेहतर ढंग से दर्शाने के लिए गाने को छोटे हिस्सों में बाँटा जाता है और उन पर Fourier transform लागू किया जाता है.
- spectrogram एक 3D ग्राफ है जिसमें समय (X-अक्ष), frequency (Y-अक्ष), और intensity (Z-अक्ष/रंग) दिखाई जाती है.
फ़िंगरप्रिंट बनाना
- spectrogram में सबसे बड़ी frequencies दिखाने वाली peaks को खोजकर ऑडियो का एक अनोखा फ़िंगरप्रिंट निकाला जाता है.
- ये peaks noise या अन्य distortions के बावजूद टिकाऊ रहती हैं, इसलिए फ़िंगरप्रिंट बनाने के लिए उपयुक्त हैं.
peaks ढूँढना
- spectrogram की peaks सिग्नल में सबसे शक्तिशाली frequencies को दर्शाती हैं, और ऑडियो फ़िंगरप्रिंट में उपयोग के लिए उनका समान रूप से वितरित होना जरूरी है.
- maximum filter तकनीक का उपयोग करके spectrogram की peaks को उभारा जाता है और उनकी स्थिति खोजी जाती है.
hashing
- spectrogram peaks के जोड़े बनाकर hash तैयार किए जाते हैं, जिससे विशिष्टता बढ़ती है.
- hash में दो peaks की frequency और उनके बीच का समय-अंतर शामिल होता है, और इन्हें डेटाबेस में संग्रहीत किया जाता है.
matching
- डेटाबेस में मौजूद फ़िंगरप्रिंट संग्रह में दिए गए ऑडियो सैंपल से मेल खाने वाले फ़िंगरप्रिंट खोजने की प्रक्रिया समझाई गई है.
- hashes को खोजा जाता है, फिर उन्हें गाने के आधार पर समूहित किया जाता है, उसके बाद hash मिलान की जाँच करके सबसे अधिक मेल खाने वाले ट्रैक का चयन किया जाता है.
निष्कर्ष
- Shazam गानों को रजिस्टर करने और पहचानने के लिए spectrogram गणना, peak extraction, hash pairs बनाना, और फ़िंगरप्रिंट संग्रहीत करने जैसी प्रक्रियाओं से गुजरता है.
GN⁺ की राय
- इस लेख की सबसे महत्वपूर्ण बात यह है कि यह Shazam के संगीत पहचानने की जटिल प्रक्रिया को आसान तरीके से समझाता है.
- तकनीकी विवरणों को चरण-दर-चरण तोड़कर इस तरह प्रस्तुत करना कि शुरुआती software engineer भी समझ सकें, इसे रोचक और आकर्षक बनाता है.
1 टिप्पणियां
Hacker News की राय
Shazam का कुशल hash-आधारित approach
Shazam का लगातार बना रहने वाला जादुई आकर्षण
Shazam कैसे काम करता है, इस पर Wall Street Journal का वीडियो
Chromaprint और AcoustID के बारे में विवरण
Shazam और digital signal processing पर दिलचस्प लेख
दूसरे media पर भी लागू होने वाले समान algorithms
Every Noise At Once वेबसाइट का महत्व
संगीत पहचान प्रक्रिया की सहजता
संगीत पहचान में उपयोग होने वाला Fourier transform