भाषा डिटेक्टर नेहमी उत्तर देतो, अगदी खोकल्यालाही. स्वच्छ किंवा मिश्र-भाषा आवाजासाठी डिटेक्शन चालू ठेवा, आणि एकच भाषा गोंगाट किंवा जड उच्चारात बोलली जात असेल तर भाषेचे नाव स्वतः द्या.
प्रत्येक ट्रान्सक्रिप्शनची सुरुवात एका प्रश्नाने होते, जो वाचकाला कधीच दिसत नाही: ही कोणती भाषा आहे? तो प्रश्न चुकला तर पुढची संपूर्ण प्रक्रिया मेहनतीने, सुबक दिसणारा पण निरर्थक मजकूर तयार करते. हा लेख स्पष्ट करतो की भाषा डिटेक्टर कशाकडे लक्ष देतो, लाइव्ह ऑडिओ आणि फाइल्ससाठी डिटेक्शन कसे वागते, आणि भाषेचे नाव स्वतः देणे कधी चांगले असते.
भाषा डिटेक्टरला बोललेले शब्द समजत नाहीत. तो आवाजाकडेच पाहतो: व्यंजने आणि स्वरांचा संच, शब्दांवरील जोर, वाक्यांची लय, आणि प्रत्येक भाषा वापरत असलेले लहान, वारंवार येणारे शब्द. स्पॅनिशची स्वररचना आणि लय स्वतःची असते; डच आणि जर्मनमध्ये खूप साम्य आहे, पण काही मोजक्या ध्वनींवर त्या वेगळ्या होतात. स्वच्छ बोलण्याचे काही सेकंदही सहसा दोन भाषा वेगळ्या ओळखण्यासाठी पुरेसे असतात.
अनेक स्पीच रेकग्निशन प्रणाली हे शब्द ओळखण्याचाच एक भाग म्हणून करतात. त्या आवाजाच्या सुरुवातीवरून भाषा ठरवतात, आणि त्यांना माहीत असलेल्या प्रत्येक भाषेसाठी एक संभाव्यता देतात. या रचनेचे दोन परिणाम होतात. संभाव्यतांची बेरीज नेहमी एक असते, त्यामुळे "कोणतीही भाषा नाही" असे उत्तर नसते: शांतता, खोकला किंवा संगीताचा तुकडा यालाही एक भाषा मिळते, अनेकदा आत्मविश्वासाच्या गुणासह. आणि निर्णय सुरुवातीवरून घेतला जातो, जो नमुना म्हणून सर्वात वाईट निवड आहे. अनेक रेकॉर्डिंग अभिवादन, नावे आणि ठिकाणांच्या नावांनी सुरू होतात, आणि त्यात भाषेचे संकेत फार कमी असतात: "Good morning, Maria, welcome to Berlin" हे जितके इंग्रजी आहे तितकेच जवळजवळ जर्मनही आहे. इतर रेकॉर्डिंग शांततेने किंवा खोकल्याने सुरू होतात, आणि अशा वेळी डिटेक्टरला निर्णय घ्यायला सांगितला तर तो कोणत्याही आधाराशिवाय, आत्मविश्वासाने निर्णय घेतोच. खऱ्या आवाजातही हे घडते: खोलीतील आवाजाने सुरू होणारे आणि "Bună dimineața" असे म्हणणारे रोमानियन प्रवचन, पूर्ण खात्रीने, इटालियन "Buona domenica" म्हणून ऐकले जाऊ शकते.
चुकीच्या उत्तराची किंमत वाटते त्यापेक्षा जास्त असते. चुकीच्या भाषेत डीकोड करणारी स्पीच रेकग्निशन प्रणाली फक्त स्पेलिंग चुकवत नाही; ती मजकूर पुन्हा लिहिते. "For God so loved the world" हे रोमानियन भाषेत डीकोड केल्यावर "Forgot to love the world" असे आले. रोमानियन "mândria slujește" इंग्रजीत डीकोड केल्यावर "Pride serves" असे आले, जे अशा वाक्याचे अचूक भाषांतर आहे ज्याचे भाषांतर कोणी मागितलेच नव्हते. शब्द प्रवाहीपणे येतात आणि ट्रान्सक्रिप्टमध्ये काही चुकल्याचे कोणतेही चिन्ह नसते, आणि म्हणूनच ही चूक महाग पडते.
डिटेक्टरना सर्वाधिक वेळा फसवणाऱ्या पाच गोष्टी:
यापैकी कोणती गोष्ट तुम्हाला त्रास देईल हे ऑडिओ लाइव्ह येत आहे की आधीच फाइलमध्ये आहे, यावर अवलंबून असते.
लाइव्ह ट्रान्सक्रिप्शनसाठी संपूर्ण रेकॉर्डिंग उपलब्ध नसते. ऑडिओ बोलले जात असतानाच येते, आणि ट्रान्सक्रिप्टलाही त्याच्यासोबत यावे लागते. त्यामुळे वक्ता बोलत असतानाच भाषा डिटेक्ट केली जाते, आणि त्याने भाषा बदलली तर तिचा मागोवा घेतला जातो. डॅशबोर्डमध्ये लाइव्ह ट्रान्सक्रिप्शन सुरू करताना Spoken language स्विचखाली जी सूचना दिसते, तिचा हाच अर्थ आहे: वक्त्याची भाषा आपोआप डिटेक्ट होते, आणि ते कधीही भाषा बदलू शकतात.
बदल लागू होण्यापूर्वी त्याची खात्री केली जाते, त्यामुळे एका गोंगाटमय तुकड्यामुळे ट्रान्सक्रिप्ट दुसऱ्या भाषेत जात नाही. कमकुवत जागा सुरुवातीला आहे: पहिले शब्द गोंगाटमय अभिवादन असतील तर पहिली ओळ चुकीच्या भाषेत येऊ शकते. भाषेचे नाव आधीच दिल्यास हे टाळता येते.
फाइल्स वेगळ्या प्रकारे काम करतात, कारण संपूर्ण रेकॉर्डिंग आधीच हातात असते.
फाइलसाठी सुरुवातीच्या काही सेकंदांवर विश्वास ठेवण्याची गरज नसते, ही एक चांगली परिस्थिती आहे. फाइलसाठी भाषा संपूर्ण रेकॉर्डिंगवरून ठरवली जाते, त्यामुळे सुरुवातीचे गोंगाटमय अभिवादन निर्णय ठरवू शकत नाही.
फाइलची भाषा हा एक कार्यरत गृहीतक असतो, अंतिम निर्णय नसतो. जे रेकॉर्डिंग मध्येच भाषा खरोखर बदलते, जसे एक मुलाखत जी दुसऱ्या भागात इंग्रजीतून रोमानियनमध्ये जाते, तिचा मागोवा घेतला जातो; तिला जबरदस्तीने एकाच भाषेत ढकलले जात नाही. आणि जे रेकॉर्डिंग सतत भाषांमध्ये बदलत राहते, त्यालाही हाताळले जाते.
जो डिटेक्टर एकदा निर्णय घेतो आणि मागे वळून पाहत नाही, तो चुकीच्या ठिकाणी आत्मविश्वासाने असतो.
संपूर्ण रेकॉर्डिंग गोंगाटमय असेल तर कोणताही डिटेक्टर फारशी मदत करत नाही. डिटेक्शन हा डीफॉल्ट आहे, कारण ते बहुतेक वेळा बरोबर असते आणि त्याचा खर्च काहीच नसतो. तरीही काही रेकॉर्डिंगसाठी तुम्ही भाषेचे नाव द्यावे, आणि कोणत्या रेकॉर्डिंगसाठी ते डॅशबोर्ड सांगतो: बोलली जाणारी भाषा नमूद केल्याने गोंगाटमय रेकॉर्डिंग आणि जड उच्चारांवर अचूकता सुधारते.
हीच ती प्रकरणे आहेत जिथे डिटेक्शनकडे सर्वात कमी आधार असतो. गोंगाट डिटेक्टर ज्या संकेतांवर अवलंबून असतो ते काढून टाकतो; जड उच्चार ते दुसऱ्या भाषेकडे सरकवतो; आणि जवळची जोडी सुरुवातीलाच कमी संकेत देते. मोठ्या हॉलमधील प्रतिध्वनीत, जोरदार पोर्तुगीज उच्चार असलेला इंग्रजी बोलणारा वक्ता फक्त आवाजावरून ओळखणे कठीण असते, आणि डिटेक्टरने त्याला चुकीचे ओळखले तर ती चूक जितका वेळ टिकते तितका वेळ ट्रान्सक्रिप्ट इंग्रजी बोलण्याचे पोर्तुगीजमध्ये रूपांतर करते. भाषेचे नाव दिल्यास प्रश्नच उरत नाही, आणि सर्व प्रयत्न शब्दांवर खर्च होतात.
थोडक्यात यादी:
भाषेचे नाव देणे ही ट्रान्सक्रिप्शनची सेटिंग आहे, तुमच्या खात्याची नाही, त्यामुळे तुम्ही प्रत्येक रेकॉर्डिंगसाठी वेगळा निर्णय घेऊ शकता. वरील सर्व गोष्टी एका API पर्यायावर येतात.
spokenLanguage नसेल तर डिटेक्शन; session.update प्रवाह सुरू असतानाAPI मध्ये spokenLanguage हा en सारखा भाषा कोड असतो; ते न दिल्यास भाषा डिटेक्ट केली जाते. ते फाइल किंवा लिंक ट्रान्सक्रिप्शनच्या settings मध्ये, आणि रिअल-टाइम सत्राच्या पर्यायांमध्ये दिसते. डिटेक्शन आणि नाव देणे एकाच 100 भाषांना लागू होतात. त्यांपैकी 10 पर्यंत भाषांमध्ये भाषांतर ही वेगळी निवड असते, आणि ती कोणती भाषा डिटेक्ट झाली किंवा नमूद केली गेली यावर अवलंबून नसते. भाषांतर बोलण्याच्या वेगाशी कसे जुळवून घेते, याचा विषय लाइव्ह भाषांतराचा विलंब, स्पष्टीकरणासह मध्ये आहे.
{ "name": "Board meeting", "settings": { "spokenLanguage": "en", "speakerLabels": "auto" } }
रिअल-टाइम सत्र तयार करताना हाच पर्याय देता येतो, आणि ऑडिओ वाहत असतानाही तो बदलता येतो. नवीन spokenLanguage असलेला session.update टेक्स्ट फ्रेम त्यानंतरच्या बोलण्याला लागू होतो; ते "" किंवा "auto" वर सेट केल्यास सत्र पुन्हा डिटेक्शनकडे जाते, आणि समर्थित नसलेला कोड दुर्लक्षित केला जातो. भाषेचे बटण असलेले कॅप्शन दृश्य ऑपरेटरला चुकीची पहिली ओळ दिसताच भाषेचे नाव देऊ देते, पुन्हा कनेक्ट न करता.
{ "type": "session.update", "spokenLanguage": "ro" }
भाषा कोड्सची यादी, त्यांच्या नावांसह, GET /v1/languages येथे आहे, ज्यासाठी कोणतीही की लागत नाही. तुमच्या सर्व्हरवर सत्र तयार करण्यापासून ड्राफ्ट्स आणि कमिट्स वाचण्यापर्यंतचा संपूर्ण रिअल-टाइम प्रवाह WebSocket वरील रिअल-टाइम ट्रान्सक्रिप्शन मध्ये आहे, आणि परस्परसंवादी संदर्भ {{api}}/docs येथे आहे. डॅशबोर्डमध्ये हीच निवड नवीन ट्रान्सक्रिप्शन सुरू करा करताना Spoken language स्विच म्हणून दिसते, आणि API च्या कीज Developers अंतर्गत असतात.