कल्पना कीजिए कि आप एक भीड़-भाड़ वाले कैफ़े में खड़े हैं: एस्प्रेसो मशीन तेज़ भाप छोड़ रही है, कप और प्लेटें खनखना रही हैं, दर्जनों लोग एक साथ बातचीत कर रहे हैं, और छत पर लगे एक सस्ते स्पीकर से बहुत धीमी आवाज़ में कोई गाना बज रहा है। आप अपना स्मार्टफ़ोन निकालते हैं और केवल तीन सेकंड के लिए माइक्रोफ़ोन ऑन करते हैं। एक सेकंड से भी कम समय में स्क्रीन पर उस गाने का सटीक नाम, गायक, एल्बम कवर और यहाँ तक कि उस सटीक पल (जैसे 02:14) के सिंक्रोनाइज़्ड लिरिक्स आ जाते हैं!
सूचना सिद्धांत (Information Theory) और डिजिटल सिग्नल प्रोसेसिंग (DSP) की दृष्टि से यह रोज़मर्रा का चमत्कार चार अत्यंत कठिन गणितीय चुनौतियों को हल करता है:
- भयावह सिग्नल-टू-नॉइज़ अनुपात ($\text{SNR} < -10\,\text{dB}$): माइक्रोफ़ोन तक पहुँचने वाली 90% से अधिक ध्वनि ऊर्जा केवल पृष्ठभूमि का शोर (Background Noise) है।
- कमरे की प्रतिध्वनि और चैनल विरूपण (Room Impulse Response): मूल संगीत संकेत $s(t)$ स्पीकर और दीवारों से टकराकर ($h_{\text{room}}(t)$ के साथ कन्वोल्यूशन) $x(t) = (s * h_{\text{room}})(t) + n(t)$ में बदल जाता है।
- अज्ञात प्रारंभिक समय ($t_0$-Time Shift Invariance): 3 सेकंड का यह नमूना $[t_0, t_0 + 3\,\text{s}]$ गाने के किसी भी अज्ञात हिस्से से शुरू हो सकता है।
- 10 करोड़ ($10^8$) गानों के विशाल डेटाबेस में खोज: 1,000 वर्षों से अधिक की कुल अवधि वाले ऑडियो डेटाबेस में कुछ मिलीसेकंड के भीतर मिलान करना आवश्यक है।
इस लेख में हम Shazam के सह-संस्थापक एवरी ली-चुन वांग (Avery Li-Chun Wang) के ऐतिहासिक 2003 ISMIR शोधपत्र (“An Industrial-Strength Audio Search Algorithm”) के चार-चरणीय ध्वनिक फ़िंगरप्रिंटिंग (Acoustic Fingerprinting) आर्किटेक्चर का विश्लेषण करेंगे, और इसके साथ ही इसकी पूरक समस्या—कॉकटेल पार्टी समस्या (Cocktail Party Problem) तथा स्वतंत्र घटक विश्लेषण (ICA / FastICA) द्वारा ब्लाइंड सोर्स सेपरेशन (BSS)—का गणितीय रहस्य समझेंगे।
अध्याय 1: प्रत्यक्ष वेवफ़ॉर्म मिलान और क्रिप्टोग्राफ़िक हैशिंग क्यों विफल हो जाते हैं?
SHA-256 जैसे क्रिप्टोग्राफ़िक हैश फ़ंक्शन एवलांच प्रभाव (Avalanche Effect) के लिए बनाए जाते हैं: यदि ऑडियो में माइक्रोफ़ोन के शोर या MP3 संपीड़न के कारण एक भी बिट बदल जाए, तो हैश के 50% बिट पूरी तरह बदल जाते हैं।
दूसरी ओर, समय-डोमेन में क्रॉस-कोरिलेशन (Cross-Correlation) $R_{x s_i}[\tau] = \sum_{n=0}^{L-1} x[n]\, s_i[n + \tau]$ भी दो कारणों से पूरी तरह विफल हो जाता है:
- संगणनात्मक विस्फोट: $f_s = 8000\,\text{Hz}$ सैंपलिंग दर पर 3 सेकंड के नमूने ($L = 24,000$) को $10^8$ गानों से मिलाने के लिए प्रति खोज लगभग $3.5 \times 10^{18}$ फ़्लोटिंग-पॉइंट ऑपरेशंस (3.5 ExaFLOPs) की आवश्यकता होगी!
- कमरे की प्रतिध्वनि द्वारा फ़ेज़ (Phase) का विनाश: कमरे की दीवारों से होने वाले बहु-पथ परावर्तन $h_{\text{room}}(t)$ तरंग के फ़ेज़ को पूरी तरह बिगाड़ देते हैं, जिससे समय-डोमेन में डॉट-प्रोडक्ट शून्य के क़रीब गिर जाता है।
अध्याय 2: चरण 1 — शॉर्ट-टाइम फ़ूरियर ट्रांसफ़ॉर्म (STFT) और गैबोर-हाइज़ेनबर्ग अनिश्चितता
फ़ेज़ विरूपण से बचने के लिए सिग्नल $x[n]$ को लंबाई $N$ और हॉप आकार $H$ के ओवरलैपिंग टुकड़ों में बाँटकर हैन विंडो (Hann Window) $w[n] = 0.5\left(1 - \cos\frac{2\pi n}{N-1}\right)$ से गुणा किया जाता है और STFT द्वारा 2D पावर स्पेक्ट्रोग्राम $S(m, k)$ निकाला जाता है:
$$X(m, k) = \sum_{n=0}^{N-1} x[n + mH]\, w[n]\, e^{-i \frac{2\pi k n}{N}}, \qquad S(m, k) = |X(m, k)|^2$$यहाँ विंडो की लंबाई $N$ का चुनाव गैबोर-हाइज़ेनबर्ग अनिश्चितता सिद्धांत (Gabor-Heisenberg Uncertainty Principle) से बँधा है:
$$\sigma_t \cdot \sigma_\omega \ge \frac{1}{2} \quad \Longleftrightarrow \quad \Delta t \cdot \Delta f = \left(\frac{N}{f_s}\right) \cdot \left(\frac{f_s}{N}\right) = 1$$यदि $N$ बहुत बड़ा हो, तो आवृत्ति विभेदन ($\Delta f$) तो तीक्ष्ण होगा किंतु ड्रम की थाप का समय ($\Delta t$) धुँधला हो जाएगा; यदि $N$ बहुत छोटा हो, तो पास-पास के सुर एक-दूसरे में मिल जाएँगे। Shazam $f_s = 8000\,\text{Hz}$ पर $N = 1024$ सैंपल ($\Delta t = 128\,\text{ms}$, $\Delta f = 7.8125\,\text{Hz}$) का इष्टतम संतुलन चुनता है।
अध्याय 3: चरण 2 — “तारामंडल मानचित्र” (Constellation Map) और शोर-प्रतिरोधकता
एवरी वांग की सबसे बड़ी अंतर्दृष्टि यह थी कि पूरे स्पेक्ट्रोग्राम $S(m, k)$ को सहेजने के बजाय केवल उन स्थानीय शिखरों (Local Maxima / Peaks) को रखा जाए जो अपने 2D पड़ोस $\mathcal{N}(m_i, k_i)$ के सभी बिंदुओं से बड़े हैं:
$$(m_i, k_i) \in \mathcal{C} \iff S(m_i, k_i) > S(m, k) \quad \forall (m, k) \in \mathcal{N}(m_i, k_i) \setminus \{(m_i, k_i)\}$$इससे स्पेक्ट्रोग्राम का 99.9% डेटा हट जाता है और समय-आवृत्ति तल पर केवल कुछ चमकीले बिंदुओं $(t_i, f_i)$ का एक विरल नक़्शा बचता है, जिसे वांग ने रात के आकाश के तारों की तरह Constellation Map (तारामंडल मानचित्र) नाम दिया।
यह मानचित्र कैफ़े के भारी शोर ($\text{SNR} = -10\,\text{dB}$) में भी क्यों जीवित रहता है? क्योंकि शोर पूरे स्पेक्ट्रम में धुंध की तरह फैलता है, जबकि गायक के वोकल फ़ॉर्मेंट्स और वाद्ययंत्रों के तीव्र प्रहारों की ऊर्जा अत्यंत संकीर्ण शिखरों $(t_i, f_i)$ में केंद्रित होती है जो शोर की परत को चीरकर ऊपर चमकते रहते हैं!
अध्याय 4: चरण 3 और 4 — एंकर-टारगेट युग्मों की 32-बिट कॉम्बिनेटरियल हैशिंग और समय-ऑफ़सेट हिस्टोग्राम
यदि हम केवल एकल शिखर की आवृत्ति $f_1 \in [0, 1023]$ को इंडेक्स करें, तो केवल $1024$ बकेट होने के कारण लाखों गानों में टकराव (Hash Collisions) होगा।
इसलिए Shazam एंकर-टारगेट युग्मों की कॉम्बिनेटरियल हैशिंग (Anchor-Target Pair Hashing) करता है:
- प्रत्येक शिखर $(t_1, f_1)$ को एंकर बिंदु (Anchor Point) माना जाता है।
- उसके आगे के समय $\Delta t = t_2 - t_1 \in [\tau_{\min}, \tau_{\max}]$ में एक टारगेट ज़ोन (Target Zone) बनाया जाता है।
- एंकर को टारगेट ज़ोन के $F \approx 10$ शिखरों $(t_2, f_2)$ (फ़ैन-आउट फ़ैक्टर $F$) के साथ जोड़ा जाता है और दोनों आवृत्तियों तथा सापेक्ष समय-अंतर $\Delta t = t_2 - t_1$ को मिलाकर एक 32-बिट पूर्णांक हैश बनाया जाता है:
इसके दो जादुई गणितीय लाभ हैं:
- विशिष्टता में $1,000,000$ गुना वृद्धि: एकल आवृत्ति के $10\,\text{बिट}$ ($10^3$ बकेट) की तुलना में युग्म हैश $30\,\text{बिट}$ ($10^9$ अद्वितीय बकेट) प्रदान करता है, जिससे इनवर्टेड इंडेक्स में $O(1)$ समय में खोज होती है!
- रिकॉर्डिंग शुरू करने के समय $t_0$ से पूर्ण स्वतंत्रता: क्योंकि हैश में केवल अंतर $(t_2 + t_0) - (t_1 + t_0) = t_2 - t_1$ शामिल है!
चरण 4 में, प्रत्येक मेल खाने वाले हैश $h_k$ के लिए डेटाबेस के समय $t_{\text{db}, k}$ और नमूने के समय $t_{\text{sample}, k}$ का अंतर निकाला जाता है:
$$\delta_k = t_{\text{db}, k} - t_{\text{sample}, k}$$गलत गानों के संयोगवश मिले हैश अलग-अलग $\delta_k$ पर बिखर जाते हैं, जबकि सही गाने के सभी सत्य हैश एक ही ऑफ़सेट $\delta_k = t_0$ पर इकट्ठे होकर हिस्टोग्राम में एक विशाल तीक्ष्ण शिखर (Dirac Spike) बनाते हैं!
flowchart TD
A["शोरयुक्त ऑडियो सिग्नल x[n] (3 सेकंड, SNR < -10 dB)"] --> B["चरण 1: शॉर्ट-टाइम फ़ूरियर ट्रांसफ़ॉर्म (STFT)<br/>पावर स्पेक्ट्रोग्राम S(m, k) = |X(m, k)|²"]
B --> C["चरण 2: 2D स्थानीय अधिकतम निष्कर्षण<br/>तारामंडल मानचित्र (Constellation Map)"]
C --> D["चरण 3: एंकर + टारगेट ज़ोन युग्मन (Fan-out F)<br/>32-बिट हैश h = (f1 << 20) | (f2 << 10) | (t2 - t1)"]
D --> E["चरण 4: इनवर्टेड इंडेक्स खोज और समय-ऑफ़सेट हिस्टोग्राम<br/>δ = t_db - t_sample → t0 पर तीक्ष्ण शिखर!"]
अध्याय 5: कॉकटेल पार्टी समस्या और स्वतंत्र घटक विश्लेषण (ICA / FastICA)
यदि हम शोर में गाना पहचानने के बजाय एक साथ बोल रहे कई लोगों की आवाज़ों को अलग-अलग करना चाहें (Cocktail Party Problem), तो क्या करें? मान लीजिए $M$ माइक्रोफ़ोन $M$ स्वतंत्र वक्ताओं $\mathbf{s}(t)$ के रैखिक मिश्रण $\mathbf{x}(t) = \mathbf{A}\mathbf{s}(t)$ को रिकॉर्ड करते हैं, जहाँ मिश्रण मैट्रिक्स $\mathbf{A}$ अज्ञात है। हमें $\mathbf{W} = \mathbf{A}^{-1}$ खोजना है ताकि $\hat{\mathbf{s}}(t) = \mathbf{W}\mathbf{x}(t)$ प्राप्त हो सके।
PCA (प्रिंसिपल कंपोनेंट एनालिसिस) आवाज़ों को अलग क्यों नहीं कर पाता?
PCA और व्हाइटनिंग ($\mathbf{z} = \mathbf{V}\mathbf{x}$) केवल द्वितीय-क्रम सहप्रसरण ($\mathbb{E}[\mathbf{z}\mathbf{z}^\top] = \mathbf{I}$) को असंबंधित करते हैं। किंतु किसी भी ऑर्थोगोनल रोटेशन मैट्रिक्स $\mathbf{U} \in O(M)$ के लिए $\mathbb{E}[(\mathbf{U}\mathbf{z})(\mathbf{U}\mathbf{z})^\top] = \mathbf{U}\mathbf{I}\mathbf{U}^\top = \mathbf{I}$ रहता है! अर्थात् द्वितीय-क्रम सांख्यिकी कोण $\mathbf{U}$ को निर्धारित नहीं कर सकती।
ICA और FastICA: नॉन-गॉसियनिटी (Non-Gaussianity) का अधिकतमीकरण
स्वतंत्र घटक विश्लेषण (ICA — पियरे कॉमोन 1994, आपो ह्यवैरिनेन FastICA 1999) केंद्रीय सीमा प्रमेय (Central Limit Theorem) का उपयोग करता है:
- मानव आवाज़ $s_i(t)$ का प्रायिकता बंटन सुपर-गॉसियन (Super-Gaussian / नुकीला शिखर और भारी पूँछ) होता है।
- केंद्रीय सीमा प्रमेय के अनुसार, दो स्वतंत्र संकेतों का योग $y = q_1 s_1 + q_2 s_2$ हमेशा मूल संकेतों की तुलना में अधिक गॉसियन (Gaussian) होता है!
- इसलिए, $y = \mathbf{w}^\top \mathbf{z}$ की नॉन-गॉसियनिटी (गैर-गॉसियनता) तभी अधिकतम होगी जब $\mathbf{w}$ किसी एक शुद्ध आवाज़ ($y = \pm s_i$) को अलग कर ले!
FastICA एल्गोरिदम चौथे क्रम के आघूर्ण कर्टोसिस (Kurtosis) या नेगएंट्रॉपी (Negentropy) को अधिकतम करता है:
$$\text{kurt}(y) = \mathbb{E}[y^4] - 3\left(\mathbb{E}[y^2]\right)^2, \qquad J(y) = H(y_{\text{gauss}}) - H(y)$$और न्यूटन के फ़िक्स्ड-पॉइंट इटरेशन द्वारा बिना किसी पूर्व जानकारी के प्रत्येक व्यक्ति की आवाज़ को क्रिस्टल की तरह साफ़ अलग कर देता है!
अध्याय 6: ऑडियो सिग्नल विश्लेषण विधियों की तुलनात्मक तालिका
| विधि / एल्गोरिदम | मुख्य गणितीय आधार | शोर और प्रतिध्वनि के प्रति सहनशीलता | संगणनात्मक जटिलता | प्रमुख अनुप्रयोग |
|---|---|---|---|---|
| समय-डोमेन क्रॉस-कोरिलेशन | तरंग $x[n]$ का प्रत्यक्ष डॉट-प्रोडक्ट | अत्यंत कम (कमरे के फ़ेज़ बदलाव से नष्ट) | $O(L \cdot N_{\text{db}})$ (बड़े डेटाबेस के लिए असंभव) | प्रयोगशाला सिग्नल सिंक्रोनाइज़ेशन |
| Shazam (Constellation Hashing) | STFT + स्थानीय शिखर + 32-बिट युग्म हैश $(f_1, f_2, \Delta t)$ | अत्यधिक उच्च ($\text{SNR} < -10\,\text{dB}$ पर भी सटीक) | $O(1)$ हैश-टेबल लुकअप + $\delta$ हिस्टोग्राम | संगीत और टीवी ऑडियो की त्वरित पहचान |
| PCA / Whitening | सहप्रसरण मैट्रिक्स $\mathbb{E}[\mathbf{x}\mathbf{x}^\top]$ के आइगेनवेक्टर | केवल द्वितीय-क्रम सहसंबंध हटाता है (रोटेशन $\mathbf{U}$ अस्पष्ट) | $O(M^2 T + M^3)$ | आयाम न्यूनीकरण और ICA पूर्व-प्रसंस्करण |
| FastICA (ब्लाइंड सोर्स सेपरेशन) | नॉन-गॉसियनिटी (कर्टोसिस / नेगएंट्रॉपी, क्रम $\ge 4$) का अधिकतमीकरण | रैखिक मिश्रणों को सटीक रूप से अलग करता है ($M_{\text{mic}} \ge M_{\text{src}}$) | न्यूटन विधि का त्रिघातीय अभिसरण | कॉकटेल पार्टी वॉइस सेपरेशन, EEG/ECG सिग्नल शोधन |
निष्कर्ष
Shazam का तारामंडल हैशिंग एल्गोरिदम और स्वतंत्र घटक विश्लेषण (ICA) दोनों यह सिद्ध करते हैं कि जब समय-डोमेन में ध्वनि तरंगें शोर में डूबी हुई और उलझी हुई प्रतीत होती हैं, तब उन्हें सही गणितीय इनवेरिएंट्स—चाहे वह समय-आवृत्ति के विरल शिखर युग्म हों या उच्च-क्रम की गैर-गॉसियन एंट्रॉपी—में रूपांतरित करके पलक झपकते ही सटीक सूचना निकाली जा सकती है।
