पिछले कुछ वर्षों में, ऑनलाइन शिक्षा प्लेटफार्मों ने वीडियो-आधारित शिक्षा को अपनाने और मांग में वृद्धि देखी है क्योंकि यह शिक्षार्थियों को संलग्न करने के लिए एक प्रभावी माध्यम प्रदान करता है। अंतरराष्ट्रीय बाजारों में विस्तार करने और सांस्कृतिक और भाषाई रूप से विविध आबादी को संबोधित करने के लिए, व्यवसाय भी कई भाषाओं में सामग्री को स्थानीयकृत करके अपने सीखने की पेशकश में विविधता लाने पर विचार कर रहे हैं। ये व्यवसाय अपने स्थानीयकरण उपयोग के मामलों को हल करने के लिए विश्वसनीय और लागत प्रभावी तरीकों की तलाश कर रहे हैं।
सामग्री को स्थानीयकृत करने में मुख्य रूप से मूल आवाज़ों का नई भाषाओं में अनुवाद करना और उपशीर्षक जैसे दृश्य एड्स जोड़ना शामिल है। परंपरागत रूप से, यह प्रक्रिया लागत-निषेधात्मक, मैनुअल है, और स्थानीयकरण विशेषज्ञों के साथ काम करने सहित, इसमें बहुत समय लगता है। एडब्ल्यूएस मशीन लर्निंग (एमएल) सेवाओं की शक्ति के साथ जैसे Amazon Transcribe, अमेज़न अनुवाद, तथा अमेज़ॅन पोली, आप एक व्यवहार्य और लागत प्रभावी स्थानीयकरण समाधान बना सकते हैं। आप अपने मौजूदा ऑडियो और वीडियो स्ट्रीम का ट्रांसक्रिप्ट बनाने के लिए Amazon Transcribe का उपयोग कर सकते हैं, और फिर Amazon Translate का उपयोग करके इस ट्रांसक्रिप्ट का कई भाषाओं में अनुवाद कर सकते हैं। फिर आप अनूदित पाठ को प्राकृतिक-ध्वनि वाले मानव भाषण में बदलने के लिए, टेक्स्ट-टू-स्पीच सेवा अमेज़ॅन पोली का उपयोग कर सकते हैं।
स्थानीयकरण का अगला चरण सामग्री में उपशीर्षक जोड़ना है, जो पहुंच और समझ में सुधार कर सकता है, और दर्शकों को वीडियो को बेहतर ढंग से समझने में मदद कर सकता है। वीडियो सामग्री पर उपशीर्षक बनाना चुनौतीपूर्ण हो सकता है क्योंकि अनुवादित भाषण मूल भाषण समय से मेल नहीं खाता है। ऑडियो और उपशीर्षक के बीच यह सिंक्रनाइज़ेशन विचार करने के लिए एक महत्वपूर्ण कार्य है क्योंकि यह दर्शकों को आपकी सामग्री से डिस्कनेक्ट कर सकता है यदि वे सिंक में नहीं हैं। अमेज़ॅन पोली सक्षम करके इस चुनौती का समाधान प्रदान करता है भाषण चिह्न, जिसका उपयोग आप एक उपशीर्षक फ़ाइल बनाने के लिए कर सकते हैं जिसे उत्पन्न भाषण आउटपुट के साथ समन्वयित किया जा सकता है।
इस पोस्ट में, हम AWS ML सेवाओं का उपयोग करते हुए एक स्थानीयकरण समाधान की समीक्षा करते हैं जहां हम एक मूल अंग्रेजी वीडियो का उपयोग करते हैं और इसे स्पेनिश में परिवर्तित करते हैं। हम स्पैनिश में एक सिंक की गई उपशीर्षक फ़ाइल बनाने के लिए वाक् चिह्नों का उपयोग करने पर भी ध्यान केंद्रित करते हैं।
समाधान अवलोकन
निम्नलिखित चित्र समाधान वास्तुकला को दर्शाता है।
समाधान इनपुट के रूप में एक वीडियो फ़ाइल और लक्ष्य भाषा सेटिंग्स लेता है और वीडियो का ट्रांसक्रिप्शन बनाने के लिए Amazon Transcribe का उपयोग करता है। फिर हम ट्रांसक्रिप्ट को लक्षित भाषा में अनुवाद करने के लिए अमेज़ॅन ट्रांसलेट का उपयोग करते हैं। अनूदित पाठ लक्ष्य भाषा में ऑडियो स्ट्रीम और भाषण चिह्न उत्पन्न करने के लिए अमेज़ॅन पोली को इनपुट के रूप में प्रदान किया जाता है। अमेज़न पोली रिटर्न भाषण चिह्न आउटपुट एक लाइन-सीमांकित JSON स्ट्रीम में, जिसमें समय, प्रकार, प्रारंभ, अंत और मान जैसे फ़ील्ड शामिल हैं। इनपुट में अनुरोधित वाक् चिह्न के प्रकार के आधार पर मान भिन्न हो सकता है, जैसे एसएसएमएल, विसेमे, शब्द या वाक्य। हमारे उदाहरण के प्रयोजन के लिए, हमने अनुरोध किया था भाषण चिह्न प्रकार as word
. इस विकल्प के साथ, अमेज़ॅन पोली वाक्य में एक वाक्य को उसके अलग-अलग शब्दों में और ऑडियो स्ट्रीम में उनके प्रारंभ और समाप्ति समय में तोड़ देता है। इस मेटाडेटा के साथ, अमेज़ॅन पोली द्वारा उत्पन्न संबंधित ऑडियो स्ट्रीम के लिए उपशीर्षक उत्पन्न करने के लिए भाषण चिह्नों को संसाधित किया जाता है।
अंत में, हम उपयोग करते हैं एडब्ल्यूएस मौलिक मीडिया कन्वर्ट अंतिम वीडियो को अनुवादित ऑडियो और संबंधित उपशीर्षक के साथ प्रस्तुत करने के लिए।
निम्नलिखित वीडियो समाधान के अंतिम परिणाम को प्रदर्शित करता है:
AWS स्टेप फंक्शन्स वर्कफ़्लो
हम का उपयोग करें AWS स्टेप फ़ंक्शंस इस प्रक्रिया को व्यवस्थित करने के लिए। निम्न आंकड़ा चरण कार्य वर्कफ़्लो का एक उच्च-स्तरीय दृश्य दिखाता है (बेहतर स्पष्टता के लिए आरेख से कुछ चरण छोड़े गए हैं)।
वर्कफ़्लो चरण इस प्रकार हैं:
- एक उपयोगकर्ता स्रोत वीडियो फ़ाइल को a . पर अपलोड करता है अमेज़न सरल भंडारण सेवा (अमेज़न S3) बाल्टी।
- RSI S3 घटना सूचना ट्रिगर करता है AWS लाम्बा समारोह State_machine.py (आरेख में नहीं दिखाया गया है), जो स्टेप फंक्शंस स्टेट मशीन को आमंत्रित करता है।
- पहला कदम, ऑडियो ट्रांसक्राइब करें, लैम्ब्डा फ़ंक्शन को आमंत्रित करता है लिप्यंतरण.py, जो स्रोत वीडियो से ऑडियो की प्रतिलिपि बनाने के लिए Amazon Transcribe का उपयोग करता है।
निम्नलिखित नमूना कोड दर्शाता है कि अमेज़ॅन ट्रांसक्राइब का उपयोग करके ट्रांसक्रिप्शन जॉब कैसे बनाया जाए बोटो3 पायथन एसडीके:
कार्य पूरा होने के बाद, आउटपुट फ़ाइलें S3 बकेट में सहेजी जाती हैं और यह प्रक्रिया सामग्री के अनुवाद के अगले चरण तक जारी रहती है।
- RSI ट्रांसक्रिप्शन का अनुवाद करें चरण लैम्ब्डा फ़ंक्शन को आमंत्रित करता है translation.py जो ट्रांसक्रिप्ट को लक्षित भाषा में अनुवाद करने के लिए अमेज़ॅन ट्रांसलेट का उपयोग करता है। यहां, हम सिंक्रोनस/रीयल-टाइम अनुवाद का उपयोग करते हैं अनुवाद_पाठ समारोह:
सिंक्रोनस अनुवाद में उस दस्तावेज़ के आकार की सीमा होती है जिसका वह अनुवाद कर सकता है; इस लेखन के अनुसार, यह 5,000 बाइट्स पर सेट है। बड़े दस्तावेज़ आकारों के लिए, का उपयोग करके नौकरी बनाने के एक अतुल्यकालिक मार्ग का उपयोग करने पर विचार करें प्रारंभ_पाठ_अनुवाद_कार्य और के माध्यम से स्थिति की जांच कर रहा है वर्णन_पाठ_अनुवाद_नौकरी.
- अगला चरण एक चरण कार्य है समानांतर राज्य, जहां हम अपने राज्य मशीन में समानांतर शाखाएं बनाते हैं।
- पहली शाखा में, हम लैम्ब्डा फ़ंक्शन को लैम्ब्डा फ़ंक्शन कहते हैं जनरेट_पोली_ऑडियो.py हमारे अमेज़न पोली ऑडियो स्ट्रीम उत्पन्न करने के लिए:
यहां हम का उपयोग करते हैं प्रारंभ_भाषण_संश्लेषण_कार्य अमेज़ॅन पॉली पायथन एसडीके की विधि भाषण संश्लेषण कार्य को ट्रिगर करने के लिए जो अमेज़ॅन पोली ऑडियो बनाता है। हम सेट करते हैं
OutputFormat
सेवा मेरेmp3
, जो अमेज़ॅन पोली को इस एपीआई कॉल के लिए एक ऑडियो स्ट्रीम उत्पन्न करने के लिए कहता है। - दूसरी शाखा में, हम लैम्ब्डा फ़ंक्शन का आह्वान करते हैं Generate_speech_marks.py भाषण चिह्न आउटपुट उत्पन्न करने के लिए:
- पहली शाखा में, हम लैम्ब्डा फ़ंक्शन को लैम्ब्डा फ़ंक्शन कहते हैं जनरेट_पोली_ऑडियो.py हमारे अमेज़न पोली ऑडियो स्ट्रीम उत्पन्न करने के लिए:
- हम फिर से उपयोग करते हैं प्रारंभ_भाषण_संश्लेषण_कार्य विधि लेकिन निर्दिष्ट करें
OutputFormat
सेवा मेरेjson
, जो अमेज़ॅन पोली को इस एपीआई कॉल के लिए भाषण चिह्न उत्पन्न करने के लिए कहता है।
दूसरी शाखा के अगले चरण में, हम लैम्ब्डा फ़ंक्शन को लागू करते हैं Generate_subtitles.py, जो स्पीच मार्क्स आउटपुट से सबटाइटल फाइल जेनरेट करने के लिए लॉजिक को लागू करता है।
यह फ़ाइल में पायथन मॉड्यूल का उपयोग करता है webvtt_utils.py. उपशीर्षक फ़ाइल बनाने के लिए इस मॉड्यूल में कई उपयोगिता कार्य हैं; ऐसा ही एक तरीका get_phrases_from_speechmarks
स्पीच मार्क्स फाइल को पार्स करने के लिए जिम्मेदार है। भाषण चिह्न JSON संरचना प्रत्येक शब्द के लिए व्यक्तिगत रूप से केवल प्रारंभ समय प्रदान करती है। SRT फ़ाइल के लिए आवश्यक उपशीर्षक समय बनाने के लिए, हम पहले स्पीच मार्क्स फ़ाइल में शब्दों की सूची से लगभग n (जहाँ n = 10) शब्दों के वाक्यांश बनाते हैं। फिर हम उन्हें एसआरटी फ़ाइल प्रारूप में लिखते हैं, वाक्यांश में पहले शब्द से प्रारंभ समय लेते हैं, और अंत समय के लिए हम (एन + 1) शब्द के प्रारंभ समय का उपयोग करते हैं और अनुक्रमित प्रविष्टि बनाने के लिए इसे 1 से घटाते हैं . निम्नलिखित फ़ंक्शन वाक्यांशों को SRT फ़ाइल में लिखने की तैयारी में बनाता है:
- अंतिम चरण, मीडिया कन्वर्ट, लैम्ब्डा फ़ंक्शन को आमंत्रित करता है create_mediaconvert_job.py अमेज़ॅन पोली और उपशीर्षक फ़ाइल से ऑडियो स्ट्रीम को अंतिम आउटपुट फ़ाइल उत्पन्न करने के लिए स्रोत वीडियो फ़ाइल के साथ संयोजित करने के लिए, जिसे बाद में S3 बाल्टी में संग्रहीत किया जाता है। यह कदम उपयोग करता है
MediaConvert
, प्रसारण-ग्रेड सुविधाओं के साथ एक फ़ाइल-आधारित वीडियो ट्रांसकोडिंग सेवा। यह आपको आसानी से वीडियो-ऑन-डिमांड सामग्री बनाने की अनुमति देता है और एक साधारण वेब इंटरफ़ेस के साथ उन्नत वीडियो और ऑडियो क्षमताओं को जोड़ता है। यहां हम फिर से पायथन का उपयोग करते हैं बोटो3 एसडीके एक बनाने के लिएMediaConvert
काम:
.. पूर्वापेक्षाएँ
आरंभ करने से पहले, आपके पास निम्नलिखित पूर्वापेक्षाएँ होनी चाहिए:
समाधान तैनात करें
AWS CDK का उपयोग करके समाधान परिनियोजित करने के लिए, निम्न चरणों को पूरा करें:
- क्लोन किया गया कोष:
- यह सुनिश्चित करने के लिए कि एडब्ल्यूएस सीडीके है बूटस्ट्रैप, कमांड चलाएँ
cdk bootstrap
भंडार की जड़ से: - वर्किंग डायरेक्टरी को रिपॉजिटरी के रूट में बदलें और निम्न कमांड चलाएँ:
डिफ़ॉल्ट रूप से, लक्ष्य ऑडियो सेटिंग्स यूएस स्पैनिश पर सेट होती हैं (es-US
) यदि आप इसे किसी भिन्न लक्ष्य भाषा के साथ परीक्षण करने की योजना बनाते हैं, तो निम्न आदेश का उपयोग करें:
प्रक्रिया को पूरा होने में कुछ मिनट लगते हैं, जिसके बाद यह एक लिंक प्रदर्शित करता है जिसका उपयोग आप अनुवादित ऑडियो और अनुवादित उपशीर्षक के साथ लक्षित वीडियो फ़ाइल देखने के लिए कर सकते हैं।
समाधान का परीक्षण करें
इस समाधान का परीक्षण करने के लिए, हमने निम्नलिखित के एक छोटे से हिस्से का इस्तेमाल किया एडब्ल्यूएस पुन: आविष्कार 2017 वीडियो YouTube से, जहां Amazon Transcribe को पहली बार पेश किया गया था। आप अपने स्वयं के वीडियो के साथ समाधान का परीक्षण भी कर सकते हैं। हमारे परीक्षण वीडियो की मूल भाषा अंग्रेजी है। जब आप इस समाधान को परिनियोजित करते हैं, तो आप लक्ष्य ऑडियो सेटिंग्स निर्दिष्ट कर सकते हैं या आप डिफ़ॉल्ट लक्ष्य ऑडियो सेटिंग्स का उपयोग कर सकते हैं, जो ऑडियो और उपशीर्षक उत्पन्न करने के लिए स्पेनिश का उपयोग करता है। समाधान एक S3 बकेट बनाता है जिसका उपयोग वीडियो फ़ाइल को अपलोड करने के लिए किया जा सकता है।
- Amazon S3 कंसोल पर, बकेट पर नेविगेट करें
PollyBlogBucket
. - बाल्टी चुनें, नेविगेट करें
/inputVideo
निर्देशिका, और वीडियो फ़ाइल अपलोड करें (समाधान का परीक्षण mp4 प्रकार के वीडियो के साथ किया जाता है)। इस बिंदु पर, एक S3 घटना अधिसूचना लैम्ब्डा फ़ंक्शन को ट्रिगर करती है, जो राज्य मशीन शुरू करती है। - स्टेप फंक्शंस कंसोल पर, स्टेट मशीन पर ब्राउज़ करें (
ProcessAudioWithSubtitles
). - पता लगाने के लिए राज्य मशीन के रनों में से एक चुनें ग्राफ इंस्पेक्टर.
यह प्रत्येक राज्य के लिए रन परिणाम दिखाता है। चरण कार्य वर्कफ़्लो को पूरा होने में कुछ मिनट लगते हैं, जिसके बाद आप सत्यापित कर सकते हैं कि सभी चरण सफलतापूर्वक पूरे हुए हैं या नहीं।
आउटपुट की समीक्षा करें
आउटपुट की समीक्षा करने के लिए, Amazon S3 कंसोल खोलें और जांचें कि ऑडियो फ़ाइल (.mp3) और स्पीच मार्क फ़ाइल (.marks) S3 बकेट में संग्रहीत हैं या नहीं <ROOT_S3_BUCKET>/<UID>/synthesisOutput/
.
अनुवादित पाठ से उत्पन्न वाक् चिह्न फ़ाइल का एक नमूना निम्नलिखित है:
इस आउटपुट में, पाठ के प्रत्येक भाग को वाक् चिह्नों के रूप में विभाजित किया गया है:
- पहर - संबंधित ऑडियो स्ट्रीम की शुरुआत से मिलीसेकंड में टाइमस्टैम्प
- टाइप - वाक् चिह्न का प्रकार (वाक्य, शब्द, शब्द, या SSML)
- प्रारंभ - इनपुट टेक्स्ट में ऑब्जेक्ट की शुरुआत के बाइट्स (अक्षर नहीं) में ऑफसेट (विसेम चिह्नों को शामिल नहीं)
- समाप्त - इनपुट टेक्स्ट में ऑब्जेक्ट के अंत के बाइट्स (अक्षर नहीं) में ऑफसेट (विसेम चिह्नों को शामिल नहीं)
- मूल्य - वाक्य में अलग-अलग शब्द
उत्पन्न उपशीर्षक फ़ाइल वापस S3 बकेट में लिखी जाती है। आप फ़ाइल को नीचे पा सकते हैं <ROOT_S3_BUCKET>/<UID>/subtitlesOutput/
. उपशीर्षक फ़ाइल का निरीक्षण करें; सामग्री निम्न पाठ के समान होनी चाहिए:
उपशीर्षक फ़ाइल और ऑडियो फ़ाइल उत्पन्न होने के बाद, MediaConvert का उपयोग करके अंतिम स्रोत वीडियो फ़ाइल बनाई जाती है। यह सत्यापित करने के लिए कि क्या कार्य की स्थिति है, MediaConvert कंसोल की जाँच करें COMPLETE
.
जब MediaConvert का काम पूरा हो जाता है, तो अंतिम वीडियो फ़ाइल उत्पन्न होती है और वापस S3 बकेट में सहेजी जाती है, जिसे नीचे पाया जा सकता है <ROOT_S3_BUCKET>/<UID>/convertedAV/
.
इस परिनियोजन के भाग के रूप में, अंतिम वीडियो एक . के माध्यम से वितरित किया जाता है अमेज़न CloudFront (सीडीएन) लिंक और टर्मिनल में या में प्रदर्शित किया जाता है एडब्ल्यूएस CloudFormation सांत्वना.
ऑडियो और उपशीर्षक के अतिरिक्त विकल्पों के साथ मूल वीडियो देखने के लिए ब्राउज़र में URL खोलें। आप सत्यापित कर सकते हैं कि अनुवादित ऑडियो और उपशीर्षक समन्वयित हैं।
निष्कर्ष
इस पोस्ट में, हमने चर्चा की कि बिना मैनुअल हस्तक्षेप की आवश्यकता के वीडियो फ़ाइलों के नए भाषा संस्करण कैसे बनाएं। सामग्री निर्माता इस प्रक्रिया का उपयोग अपने वीडियो के ऑडियो और उपशीर्षक को सिंक्रनाइज़ करने और वैश्विक दर्शकों तक पहुंचने के लिए कर सकते हैं।
आप अपनी आवश्यकताओं के अनुसार बड़ी मात्रा और पैमाने को संभालने के लिए इस दृष्टिकोण को अपनी खुद की उत्पादन पाइपलाइनों में आसानी से एकीकृत कर सकते हैं। अमेज़ॅन पोली का उपयोग करता है तंत्रिका टीटीएस (एनटीटीएस) प्राकृतिक और मानव जैसी टेक्स्ट-टू-स्पीच आवाजें उत्पन्न करने के लिए। यह भी समर्थन करता है SSML से भाषण उत्पन्न करना, जो आपको इस बात पर अतिरिक्त नियंत्रण देता है कि Amazon Poly प्रदान किए गए पाठ से भाषण कैसे उत्पन्न करता है। अमेज़ॅन पोली भी प्रदान करता है विभिन्न आवाजों की विविधता आपकी आवश्यकताओं का समर्थन करने के लिए कई भाषाओं में।
पर जाकर AWS मशीन लर्निंग सेवाओं के साथ शुरुआत करें उत्पाद पृष्ठ, या देखें अमेज़न मशीन लर्निंग सॉल्यूशंस लैब पेज जहां आप अपने संगठन में मशीन लर्निंग सॉल्यूशंस लाने के लिए विशेषज्ञों के साथ सहयोग कर सकते हैं।
अतिरिक्त संसाधन
इस समाधान में प्रयुक्त सेवाओं के बारे में अधिक जानकारी के लिए, निम्नलिखित का संदर्भ लें:
लेखक के बारे में
रीगन रोसारियो शिक्षा प्रौद्योगिकी कंपनियों पर ध्यान केंद्रित करते हुए AWS में समाधान वास्तुकार के रूप में काम करता है। वह ग्राहकों को एडब्ल्यूएस क्लाउड में स्केलेबल, अत्यधिक उपलब्ध और सुरक्षित समाधान बनाने में मदद करना पसंद करता है। सॉफ्टवेयर इंजीनियरिंग और वास्तुकला पर ध्यान देने के साथ, उनके पास विभिन्न प्रकार की प्रौद्योगिकी भूमिकाओं में काम करने का एक दशक से अधिक का अनुभव है।
अनिल कोडाली अमेज़ॅन वेब सेवाओं के साथ एक समाधान वास्तुकार है। वह एडब्ल्यूएस एडटेक ग्राहकों के साथ काम करता है, मौजूदा वर्कलोड को क्लाउड पर माइग्रेट करने और क्लाउड-फर्स्ट दृष्टिकोण के साथ नए वर्कलोड को डिजाइन करने के लिए आर्किटेक्चरल सर्वोत्तम प्रथाओं के साथ उनका मार्गदर्शन करता है। AWS में शामिल होने से पहले, उन्होंने बड़े खुदरा विक्रेताओं के साथ उनके क्लाउड माइग्रेशन में मदद करने के लिए काम किया।
प्रसन्ना सरस्वती कृष्णन एडटेक ग्राहकों के साथ काम करने वाली अमेज़ॅन वेब सेवाओं के साथ एक समाधान वास्तुकार है। वह उन्हें सर्वोत्तम प्रथाओं का उपयोग करके अपने क्लाउड आर्किटेक्चर और डेटा रणनीति को चलाने में मदद करता है। उनकी पृष्ठभूमि वितरित कंप्यूटिंग, बिग डेटा एनालिटिक्स और डेटा इंजीनियरिंग में है। उन्हें मशीन लर्निंग और नेचुरल लैंग्वेज प्रोसेसिंग का शौक है।
- AI
- ai कला
- ऐ कला जनरेटर
- ऐ रोबोट
- अमेज़न एमएल सॉल्यूशंस लैब
- अमेज़ॅन पोली
- Amazon Transcribe
- अमेज़न अनुवाद
- कृत्रिम बुद्धिमत्ता
- कृत्रिम बुद्धिमत्ता प्रमाणन
- बैंकिंग में आर्टिफिशियल इंटेलिजेंस
- आर्टिफिशियल इंटेलिजेंस रोबोट
- आर्टिफिशियल इंटेलिजेंस रोबोट
- कृत्रिम बुद्धि सॉफ्टवेयर
- AWS मशीन लर्निंग
- blockchain
- ब्लॉकचेन सम्मेलन एआई
- कॉइनजीनियस
- संवादी कृत्रिम बुद्धिमत्ता
- क्रिप्टो सम्मेलन एआई
- दल-ए
- ध्यान लगा के पढ़ना या सीखना
- इसे गूगल करें
- यंत्र अधिगम
- प्लेटो
- प्लेटो एआई
- प्लेटो डेटा इंटेलिजेंस
- प्लेटो गेम
- प्लेटोडाटा
- प्लेटोगेमिंग
- स्केल एआई
- वाक्यविन्यास
- जेफिरनेट