सामग्री पर जाएँ
Yappy डाउनलोड करें
भाषा: hi

वो हिस्सा जो बाक़ी कोई नहीं दिखाता

लिखे से बोले तक।

ज़ोर से पढ़ना सिर्फ़ अक्षर जोड़ना नहीं है: अर्थ निकालना है। “1492” बोला जाता है “चौदह सौ नियानवे”। “हेनरी VIII” बनता है “हेनरी आठवाँ”, लेकिन फ़्रेंच में “Louis XIV” बोला जाता है “Louis quatorze”। “EL CID” कोई रोमन संख्या नहीं है। FBI को हर्फ़-हर्फ़ बोला जाता है, NASA को नहीं। एक भी अक्षर सिंथेसाइज़ करने से पहले Yappy टेक्स्ट को रीडिंग स्क्रिप्ट में बदल देता है: उस बात का स्कोर, जो आवाज़ असल में कहने जा रही है।

स्क्रिप्टर

यहीं आज़माइए: यह ऐप वाला ही Rust है, आपके ब्राउज़र के लिए कंपाइल किया हुआ।

स्क्रिप्ट यहीं दिखेगी, बदले हुए हिस्से रेखांकित मिलेंगे।

एक ही बार में बारह काम।

तारीख़ें

“24/5/1533” पूरी बोली जाती है — हर भाषा के अपने क्रम और लिंग के हिसाब से।

समय

“14:05” वैसे बोला जाता है जैसे कोई इंसान बोलता, न कि जैसे घड़ी पढ़ती है।

मुद्राएँ

“3.50 €” को “तीन यूरो पचास” बोला जाता है — बहुवचन भी सही-सही।

प्रतिशत

“7%” को “सात प्रतिशत” बोला जाता है, और “0.5%” सिर्फ़ “शून्य दशमलव पाँच” नहीं बन जाता।

इकाइयाँ

“230 °C” को “दो सौ तीस डिग्री सेल्सियस” बोला जाता है।

क्रमसूचक संख्याएँ

“3री” को “तीसरी” बोला जाता है — लिंग और विभक्ति के हिसाब से, जहाँ हों।

रोमन अंक, समझदारी से

“XX सदी” साधारण गिनती है, “हेनरी VIII” क्रमसूचक है, और “EL CID” कोई संख्या नहीं।

उच्चारण के हिसाब से संक्षिप्ताक्षर

एफ़बीआई अक्षर दर अक्षर बोला जाता है; नासा एक शब्द की तरह पढ़ा जाता है। नियम ध्वनि से तय होता है, किसी सूची से नहीं।

संक्षिप्त रूप

“डॉ.”, “पृ.”, “सं.”: हर भाषा की अपनी तालिका होती है।

बड़ी संख्याएँ

Unicode CLDR के RBNF व्याकरणों के साथ — लिंग और विभक्ति समेत।

31 भाषाएँ

वही नियम, हर भाषा के अपने व्याकरण के साथ। हाथ से लिखी कोई सूची नहीं।

लय

शीर्षक बोले जाने के बाद साँस लेते हैं; सूचियाँ अपनी ताल बजाती हैं। विराम स्क्रिप्ट का हिस्सा हैं, संयोग का नहीं।

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

RBNF व्याकरण क्या है?
RBNF का पूरा नाम Rule-Based Number Format है: वे नियम जिनसे Unicode CLDR बताता है कि कोई संख्या हर भाषा में कैसे बोली जाती है। यह हज़ार शब्दों की तालिका नहीं, एक व्याकरण है: इसीलिए इसे पता है कि स्पेनिश में “doscientas páginas” बोला जाता है, “doscientos páginas” नहीं; कि रूसी में संख्याशब्द रूप बदलते हैं; और कि फ़्रेंच नब्बे तक बीस-बीस की गंडियों में गिनता है। Yappy इन्हें शुद्ध Rust में समझता है, हाथ से लिखी किसी सूची के बिना।
स्क्रिप्ट-लेखक की ज़रूरत क्यों है? आवाज़ अकेली यह काम नहीं कर लेती?
नहीं — और यह जान-बूझकर है। Yappy का वॉइस मॉडल अक्षर-स्तर पर काम करता है: जो लिखा हुआ आता है, ठीक वही उच्चारित करता है। इसी से वह तेज़ और हल्का बनता है, पर मतलब यह भी है कि उसे “1492” मिले तो वह उसी को अक्षर दर अक्षर बोलने की कोशिश करेगा। ऐसे मॉडल में नॉर्मलाइज़ेशन ही उच्चारण है। स्क्रिप्ट-लेखक वह हिस्सा है जो हर आँकड़े, हर संक्षिप्ताक्षर और हर चिह्न को उन शब्दों में बदल देता है जो कोई इंसान बोलता।
यह कितनी भाषाओं में काम करता है?
आवाज़ जिन 31 भाषाओं में बोलती है, उन्हीं में — और हर एक के अपने नियम: तारीख़ का क्रम, मुद्राओं को जोड़ने वाला शब्द, क्रमसूचक संख्याएँ, संक्षिप्त रूप और रोमन अंक। “XV सदी” स्पेनिश में “siglo quince” है और अंग्रेज़ी में “fifteenth century”; “Louis XIV” है “Louis quatorze”, “Louis fourteenth” नहीं। वही बारह काम, इकतीस व्याकरण।
कराओके हर बार ठीक उसी शब्द पर क्यों टिकता है?
क्योंकि स्क्रिप्ट सिर्फ़ बदला हुआ टेक्स्ट नहीं है: उसमें लिखे और बोले गए के बीच का नक्शा सहेजा रहता है। जब आवाज़ “चौदह सौ बानवे” बोलती है, स्क्रिप्ट को पता होता है कि ये चार शब्द “1492” के चार अंकों से आए हैं, और अंडरलाइन खिसके बिना ठीक उन्हीं पर बैठती है। यही फ़र्क़ है टेक्स्ट को रोशन करने और उसका अंदाज़ा लगाने में।
कोई शब्द ग़लत बोला जा रहा है। क्या उसे ठीक किया जा सकता है?
आज के दिन यूज़र का कोई उच्चारण शब्दकोश नहीं है। मॉडल अक्षरों को पढ़ता है, इसलिए सबसे तेज़ उपाय यह है: शब्द को एडिटर में जैसा बोला जाता है वैसा लिखें और दोबारा सुनें। और अगर दिक्कत किसी आम पैटर्न की है (कोई संक्षिप्त रूप, कोई संक्षिप्ताक्षर, कोई इकाई), तो GitHub के इश्यू में बताएँ: स्क्रिप्ट जनरेटर की तालिकाएँ ऐसे ही मामलों से बढ़ती हैं।
इस पेज का स्क्रिप्ट जनरेटर वही है जो ऐप में है?
वही कोड, WebAssembly में कंपाइल किया हुआ, ताकि वह आपके ब्राउज़र में चले। यहाँ जो लिखते हैं, वह आपके टैब से बाहर नहीं जाता। और पूरा प्रोजेक्ट खुला है, इसलिए सारे नियम एक-एक करके रिपॉज़िटरी में पढ़ सकते हैं।

स्क्रिप्ट कहानी का आधा हिस्सा है; बाक़ी आधा सुनने में आता है।

सैंपल सुनें