← ब्लॉग पर वापस जाएँ

ब्राउज़र वॉइस फ़िंगरप्रिंट क्या है? SpeechSynthesis वॉइस लिस्ट कैसे एनवायरनमेंट के संकेत दिखाती है

मुख्य बात: वॉइस फ़िंगरप्रिंट यह पढ़ता है कि डिवाइस पर कौन-कौन सी सिंथेसाइज़्ड वॉइस इंस्टॉल हैं; यह एक कॉन्फ़िगरेशन लिस्ट है जो ऑपरेटिंग सिस्टम के साथ चलती है और प्रॉक्सी बदलने या कुकी साफ़ करने से नहीं बदलती। कई अकाउंट्स वाले एनवायरनमेंट में सिग्नल की स्थिरता जाँचते समय यह Canvas और AudioContext के बाद वह चीज़ है जो अक्सर छूट जाती है।

“प्रॉक्सी बदल दिया, कुकीज़ भी साफ़ कर दीं, फिर भी एनवायरनमेंट डिटेक्शन मैच क्यों नहीं हो रहा?” अकाउंट्स की जाँच करते समय जवाब अक्सर डिवाइस लेवल के पैरामीटर में छिपा होता है। वॉइस उनमें सबसे आसानी से नज़र बचाने वाला हिस्सा है। वेबसाइट को न माइक की अनुमति चाहिए और न कोई आवाज़ चलानी होती है; बस एक बार API कॉल करने से सिस्टम कॉन्फ़िगरेशन से जुड़ी एक पूरी लिस्ट मिल जाती है।

यह लिस्ट ऑपरेटिंग सिस्टम और भाषा पैक से तय होती है और डिवाइस के साथ चलती है। IP बदलने पर भी यह नहीं बदलती। MostMate ऐसे ही मसलों के लिए बना एंटी-डिटेक्ट ब्राउज़र है, जो हर अकाउंट के लिए एक अलग ब्राउज़र एनवायरनमेंट तैयार करता है। डिवाइस लेवल के पैरामीटर भी उसी के मैनेजमेंट में आते हैं, और वॉइस उनमें एक है।

वॉइस फ़िंगरप्रिंट क्या है? रिकॉर्डिंग से होने वाली वॉइसप्रिंट पहचान से इसका क्या फ़र्क़ है

वॉइस फ़िंगरप्रिंट कॉन्फ़िगरेशन पढ़ता है, रिकॉर्डिंग नहीं।

पहले तीन शब्दों को अलग कर लें। स्पीच सिंथेसिस यानी ब्राउज़र की वह क्षमता जो टेक्स्ट को आवाज़ में बदलती है; यही वह सिस्टम है जो वेब पेज को पढ़कर सुनाने के पीछे काम करता है। वॉइस लिस्ट वे विकल्प हैं जो मौजूदा एनवायरनमेंट में इस सुविधा के लिए उपलब्ध होते हैं। MDN दस्तावेज़ के मुताबिक़ getVoices() कॉल करने पर डिवाइस पर उपलब्ध वॉइस ऑब्जेक्ट्स की लिस्ट मिलती है। और वॉइस फ़िंगरप्रिंट तब बनता है जब कोई वेबसाइट इसी लिस्ट की विशेषताओं को एनवायरनमेंट पहचानने के सिग्नल की तरह इस्तेमाल करे। तीनों शब्द एक-एक क़दम और सटीक होते जाते हैं।

वॉइसप्रिंट पहचान से तुलना करने पर बात साफ़ हो जाती है। वहाँ रिकॉर्डिंग चाहिए, अनुमति चाहिए, और सचमुच आवाज़ निकलनी भी चाहिए। वॉइस फ़िंगरप्रिंट पूरे समय ख़ामोश रहता है और किसी अनुमति की ज़रूरत नहीं होती। वेबसाइट को मेन्यू मिलता है, आवाज़ नहीं। यही फ़र्क़ है, और यही वजह भी कि इसे आसानी से नज़रअंदाज़ कर दिया जाता है: कोई पॉपअप नहीं, कोई एहसास नहीं, और डेटा चुपचाप हाथ जा चुका होता है।

SpeechSynthesis वेबसाइट को वॉइस लिस्ट कैसे उपलब्ध कराता है?

वेबसाइट के पढ़ने का रास्ता speechSynthesis.getVoices() है; एक कॉल में पूरी लिस्ट मिल जाती है।

हर वॉइस ऑब्जेक्ट में पाँच फ़ील्ड होते हैं; मतलब तालिका देखें:

फ़ील्डमतलबआम उदाहरण
nameवॉइस का नामMicrosoft David, Samantha
langभाषा टैगen-US, zh-CN
localServiceलोकल सिंथेसिस या क्लाउड सर्विसtrue = लोकल, false = ऑनलाइन
defaultडिफ़ॉल्ट वॉइसहर भाषा में अधिकतम एक
voiceURIस्पीच सर्विस की पहचानसिस्टम के अंदरूनी निशान हो सकते हैं

नाम अक्सर बस किसी इंसान का नाम होता है; असली जानकारी voiceURI में छिपी होती है। macOS पर Firefox की रिटर्न देखें तो वैल्यू कुछ ऐसी होती है: urn:moz-tts:osx: के आगे सिस्टम की एक अंदरूनी पहचान। सिस्टम की प्राइवेट वॉइस रजिस्ट्री की जानकारी इस तरह सार्वजनिक इंटरफ़ेस से बाहर आ जाती है।

एक और बारीक़ी नतीजे पर असर डालती है। Chrome, Edge और Firefox में पहली कॉल अक्सर ख़ाली ऐरे लौटाती है; वॉइस तभी भरती है जब voiceschanged इवेंट चलता है। लोड होने का समय भी अपने आप में सिग्नल है: कुछ ब्राउज़र तुरंत इवेंट चलाते हैं, कुछ में देर होती है, और कुछ अगर डेटा पहले ही लोड हो चुका है तो दोबारा इवेंट नहीं चलाते। Web Speech API स्पेसिफ़िकेशन में यह हिस्सा आज भी ड्राफ़्ट स्टेज पर है; व्यवहार की बारीक़ियाँ हर ब्राउज़र की इम्प्लीमेंटेशन पर निर्भर करती हैं।

वॉइस लिस्ट कौन-से चार तरह के एनवायरनमेंट संकेत उजागर करती है?

एक अकेली वॉइस कुछ नहीं बताती; लिस्ट का कॉम्बिनेशन ही असली पहचान बनाता है।

पहली श्रेणी: ऑपरेटिंग सिस्टम और डिवाइस। वॉइस सिस्टम की स्पीच सर्विस से आती हैं। Windows पर Microsoft David या Zira जैसे नाम आम हैं, macOS पर Samantha या Daniel, और Android फ़ोन पर Google की स्पीच सर्विस का पूरा सेट। बिना स्पीच सर्विस वाले Linux डेस्कटॉप पर लिस्ट अक्सर ख़ाली रहती है।

दूसरी श्रेणी: भाषा और क्षेत्र की सेटिंग। lang टैग का कॉम्बिनेशन बताता है कि इस मशीन पर कौन-से भाषा पैक इंस्टॉल हुए थे। जापानी, अरबी और हिंदी वॉइस वाली एक लिस्ट वेबसाइट को मल्टीलिंग्वल बैकग्राउंड बता देती है, जिसे यूज़र ख़ुद भी भूल चुका होता है।

तीसरी श्रेणी: ब्राउज़र की इम्प्लीमेंटेशन का फ़र्क़। Chrome सिस्टम वॉइस के ऊपर Google की क्लाउड वॉइस भी जोड़ता है। localService से लोकल सिंथेसिस और ऑनलाइन सर्विस में फ़र्क़ किया जा सकता है। वही मशीन Chrome और Firefox में अलग-अलग बनावट की लिस्ट दे सकती है।

चौथी श्रेणी: डिफ़ॉल्ट वैल्यू और पूरा कॉम्बिनेशन। संख्या, क्रम, भाषा टैग और डिफ़ॉल्ट वॉइस मिलकर काफ़ी अलग दिखने वाला एनवायरनमेंट सिग्नल बनाते हैं। एक हद भी बता दें: यह सिग्नलों में से एक है; वेबसाइट कई तरह के सिग्नल जोड़कर ही नतीजा निकालती है। अकेली वॉइस लिस्ट कोई ख़ास इंसान नहीं पहचान सकती।

वॉइस लिस्ट से वेबसाइट कौन-से चार तरह के एनवायरनमेंट संकेत पढ़ती है, स्कीमेटिक जानकारी

वॉइस फ़िंगरप्रिंट, AudioContext और Canvas फ़िंगरप्रिंट में क्या फ़र्क़ है?

तीनों का नाम अक्सर साथ लिया जाता है, लेकिन हर तरीक़ा बिल्कुल अलग चीज़ देखता है। पहले तुलना देखें:

तरीक़ाक्या देखा जाता हैप्रक्रिया कैसी है
SpeechSynthesis वॉइस फ़िंगरप्रिंटउपलब्ध वॉइस लिस्ट और उसके फ़ील्डकॉन्फ़िगरेशन पढ़ना, पूरी प्रक्रिया ख़ामोश
AudioContext फ़िंगरप्रिंटऑडियो प्रोसेसिंग का नतीजाहिसाब चलाना और आउटपुट का फ़र्क़ देखना
Canvas फ़िंगरप्रिंटग्राफ़िक्स आउटपुट की विशेषताएँइमेज रेंडर कर पिक्सेल मिलाना
फ़ॉन्ट फ़िंगरप्रिंटसिस्टम में इंस्टॉल फ़ॉन्ट और रेंडरिंगफ़ॉन्ट की उपलब्धता जाँचना

वॉइस लिस्ट की एन्यूमरेशन और ऑडियो रेंडरिंग दो अलग रास्ते हैं। एक स्थिर लिस्ट पढ़ता है, दूसरा गतिशील नतीजा निकालता है; दोनों को एक मानना ग़लत होगा। AudioContext फ़िंगरप्रिंट वाला लेख दूसरे रास्ते के सिद्धांत और सेटिंग समझाता है। फ़ॉन्ट फ़िंगरप्रिंट वॉइस लिस्ट की ही तरह स्थिर लिस्ट वाली श्रेणी में आता है। दोनों सीधे बताते हैं कि डिवाइस पर क्या-क्या इंस्टॉल है।

कैसे जाँचें कि ब्राउज़र कौन-सी वॉइस जानकारी उजागर कर रहा है?

इसके लिए बस डेवलपर टूल्स चाहिए; पाँच मिनट में वही लिस्ट आपके हाथ में है जो वेबसाइटें देखती हैं।

  1. डेवलपर टूल्स का Console खोलें, speechSynthesis.getVoices() टाइप कर एंटर दबाएँ और रिटर्न देखें।
  2. लिस्ट के वॉइस ऑब्जेक्ट खोलकर name, lang, localService और voiceURI की वैल्यू नोट करें।
  3. पेज रिफ़्रेश करके तुरंत दोबारा जाँचें; पहली बार ख़ाली ऐरे आया या नहीं, इससे एसिंक लोडिंग की पुष्टि होगी।
  4. दूसरे कंप्यूटर या सिस्टम पर वही क़दम दोहराएँ और देखें कि फ़र्क़ सिस्टम स्पीच सर्विस से है या ब्राउज़र इम्प्लीमेंटेशन से।
  5. प्रॉक्सी लगाकर फिर जाँचें; लिस्ट आम तौर पर वही रहती है, और यही साबित करता है कि यह डिवाइस लेवल का सिग्नल है।

नतीजा पढ़ते समय दो बातें ध्यान रखें। ख़ाली लिस्ट का मतलब वॉइस फ़िंगरप्रिंट की अनुपस्थिति नहीं है; ख़ालीपन ख़ुद भी एक जानकारी है। बिना स्पीच सर्विस वाले Linux और कुछ ऑटोमेशन एनवायरनमेंट अक्सर ख़ाली ऐरे देते हैं। उधर लंबी लिस्ट भी यह नहीं कि पहचान आसान हो जाती है। फ़ैसला इस बात पर होता है कि पूरा एनवायरनमेंट आपस में टिकता है या नहीं, न कि अलग-अलग पैरामीटर गिनने पर।

MostMate वॉइस एनवायरनमेंट संकेतों को कैसे मैनेज करता है?

वॉइस लिस्ट डिवाइस लेवल का पैरामीटर है। फ़िंगरप्रिंट ब्राउज़र उसे अनछोड़ा नहीं छोड़ता, बल्कि एनवायरनमेंट कॉन्फ़िगरेशन में जोड़ देता है।

MostMate में एनवायरनमेंट बनाते या एडिट करते वक़्त फ़िंगरप्रिंट सेटिंग्स (指纹设置) में SpeechVoices एक अलग पैरामीटर है, जो Canvas, AudioContext, ClientRects और WebGL इमेज के साथ सूचीबद्ध है। इसके दो मोड हैं: Real और Noise; Noise यानी नॉइज़ मोड।

Noise चुनने पर दाईं तरफ़ फ़िंगरप्रिंट प्रीव्यू पैनल में SpeechVoices वाली लाइन में छह अक्षर के कोड वाली वैल्यू दिखती है। Canvas और AudioContext के कोड अपने-अपने हैं, आपस में अदला-बदली नहीं होती। कोड सिर्फ़ नॉइज़ कॉन्फ़िगरेशन की पहचान है; असल में जो हैश बाहर जाता है वह एनवायरनमेंट एक्सेस टेस्ट पेज खोलकर देखें।

MostMate की फ़िंगरप्रिंट सेटिंग्स में SpeechVoices पैरामीटर

वॉइस पैरामीटर अकेले सेट नहीं किए जाते। एनवायरनमेंट का ऑपरेटिंग सिस्टम, भाषा और टाइमज़ोन तय करते हैं कि वॉइस लिस्ट कैसी दिखनी चाहिए। Windows एनवायरनमेंट में macOS वॉइस का सेट साफ़ टकराव है। सही क्रम यह रहा: पहले सिस्टम और प्रॉक्सी तय करें, फिर वॉइस जैसे डिवाइस लेवल पैरामीटर टिक करें। आइटम-दर-आइटम अंधाधुंध आज़माने से यह ज़्यादा भरोसेमंद है।

हर आइटम पर अलग-अलग काबू चाहिए तो वेबसाइट पर मैन्युअल फ़िंगरप्रिंट सेटिंग्स की लिस्ट के मुताबिक़ एक-एक करके सेट करें। समय बचाना है तो एनवायरनमेंट बनाते वक़्त रिकमेंडेड कॉन्फ़िगरेशन से इन पैरामीटर को एक साथ सेट करें और बाद में कुछ चुनिंदा आइटम दोबारा जाँच लें। हद भी बता दें: फ़िंगरप्रिंट ब्राउज़र एनवायरनमेंट कॉन्फ़िगरेशन मैनेज करता है; यह कोई गारंटी नहीं कि वेबसाइट एनवायरनमेंट नहीं पहचान पाएगी और न यह कि अकाउंट पर प्लेटफ़ॉर्म वेरिफ़िकेशन नहीं चलेगा। अकाउंट को ख़ुद भी प्लेटफ़ॉर्म के नियम मानने होंगे।

अक्सर पूछे जाने वाले सवाल

क्या वॉइस फ़िंगरप्रिंट मेरी आवाज़ रिकॉर्ड करता है?

नहीं। पूरी प्रक्रिया में न माइक छूता है और न कोई ऑडियो चलता है। वेबसाइट को सिर्फ़ सिस्टम स्पीच सर्विस की कॉन्फ़िगरेशन लिस्ट मिलती है। वॉइसप्रिंट पहचान के लिए रिकॉर्डिंग की अनुमति चाहिए; वॉइस फ़िंगरप्रिंट के लिए किसी अनुमति की ज़रूरत नहीं।

दो कंप्यूटर की वॉइस लिस्ट अलग क्यों होती है?

वॉइस ऑपरेटिंग सिस्टम, भाषा पैक और स्पीच सर्विस से तय होती हैं। Windows और macOS की इन-बिल्ट वॉइस अलग हैं, इंस्टॉल भाषा पैक अलग हैं, और ब्राउज़र जो क्लाउड वॉइस ऊपर से जोड़ता है वह भी अलग होता है। लिस्ट का मेल न खाना इसलिए स्वाभाविक है।

वॉइस लिस्ट ख़ाली है, क्या फिर कोई वॉइस फ़िंगरप्रिंट नहीं है?

ख़ाली लिस्ट भी जानकारी ही है। बिना स्पीच सर्विस वाले Linux और कुछ ऑटोमेशन एनवायरनमेंट अक्सर ख़ाली ऐरे लौटाते हैं। वेबसाइट के लिए यह एक असामान्य निशानी है। इसे छुपने का तरीक़ा न मानें।

क्या वॉइस फ़िंगरप्रिंट और AudioContext फ़िंगरप्रिंट एक ही चीज़ हैं?

एक नहीं हैं। वॉइस फ़िंगरप्रिंट स्थिर कॉन्फ़िगरेशन लिस्ट पढ़ता है, AudioContext गतिशील ऑडियो प्रोसेसिंग का नतीजा निकालता है। डिटेक्शन का रास्ता अलग है, इसलिए एनवायरनमेंट जाँचते वक़्त दोनों को अलग-अलग देखें।

क्या MostMate सिर्फ़ SpeechSynthesis वॉइस लिस्ट अलग से बदल सकता है?

प्रोडक्ट में यह फ़िंगरप्रिंट सेटिंग्स का SpeechVoices पैरामीटर है, Real और Noise दो मोड के साथ; किस ज़र्रे तक सेटिंग हो सकती है, यह क्लाइंट इंटरफ़ेस पर निर्भर करता है। कॉन्फ़िगर करने के बाद एनवायरनमेंट एक्सेस टेस्ट पेज खोलकर देख लें कि असल में कौन-सी लिस्ट बाहर जा रही है।

निष्कर्ष

वॉइस फ़िंगरप्रिंट का सार यही है: इस डिवाइस पर क्या-क्या इंस्टॉल है, वह वेबसाइट को सौंप देना। न यह रिकॉर्डिंग करता है, न अनुमति माँगता है, लेकिन ऑपरेटिंग सिस्टम के साथ ही चलता है। IP बदलने पर भी यह अपनी जगह टिका रहता है। इसीलिए आम तौर पर अपनाए जाने वाले तरीक़े अपने आप समझ आ जाते हैं: सिर्फ़ कुकी साफ़ करने या सिर्फ़ प्रॉक्सी बदलने के बजाय, एनवायरनमेंट मैच न हो तो डिवाइस लेवल पैरामीटर भी एक साथ मिलाए जाने चाहिए।

प्रोडक्ट की तरफ़ से MostMate SpeechVoices को Canvas और AudioContext के साथ फ़िंगरप्रिंट सेटिंग्स में ही रखता है; मोड Real और Noise दो ही हैं। बाक़ी फ़ीचर्स की पूरी तस्वीर देखनी हो तो MostMate वेबसाइट ख़ुद देख लें।

आपका एनवायरनमेंट अभी क्या उजागर कर रहा है, यह देखने के लिए पाँचवें सेक्शन के क़दमों से वॉइस लिस्ट जाँच लें, या MostMate डाउनलोड करके एक एनवायरनमेंट बनाकर तुलना करें।

MOSTMATE

कई खातों का सुरक्षित प्रबंधन, अब आसान

पहले खाते से शुरुआत करें और MostMate के साथ कई खातों का अधिक सुरक्षित, स्मार्ट और कुशल संचालन बनाएँ।

  • अलग प्रोफ़ाइल। सुसंगत पहचान।
  • AI ऑटोमेशन · खाते की स्थिति · टीम संचालन
MostMate डाउनलोड करें