AWS মেশিন লার্নিং পরিষেবা PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে একাধিক ভাষায় সামগ্রী স্থানীয়করণ করুন। উল্লম্ব অনুসন্ধান. আ.

AWS মেশিন লার্নিং পরিষেবাগুলি ব্যবহার করে একাধিক ভাষায় সামগ্রী স্থানীয়করণ করুন৷

গত কয়েক বছরে, অনলাইন শিক্ষা প্ল্যাটফর্মগুলি গ্রহণের বৃদ্ধি এবং ভিডিও-ভিত্তিক শিক্ষার চাহিদা বৃদ্ধি পেয়েছে কারণ এটি শিক্ষার্থীদের জড়িত করার একটি কার্যকর মাধ্যম সরবরাহ করে। আন্তর্জাতিক বাজারে প্রসারিত করতে এবং একটি সাংস্কৃতিক ও ভাষাগতভাবে বৈচিত্র্যময় জনসংখ্যাকে সম্বোধন করতে, ব্যবসাগুলি একাধিক ভাষায় বিষয়বস্তু স্থানীয়করণের মাধ্যমে তাদের শেখার অফারগুলিকে বৈচিত্র্যময় করার দিকেও নজর দিচ্ছে৷ এই ব্যবসাগুলি তাদের স্থানীয়করণ ব্যবহারের ক্ষেত্রে সমাধান করার জন্য নির্ভরযোগ্য এবং খরচ-কার্যকর উপায় খুঁজছে।

বিষয়বস্তু স্থানীয়করণের মধ্যে প্রধানত মূল ভয়েসগুলিকে নতুন ভাষায় অনুবাদ করা এবং সাবটাইটেলগুলির মতো ভিজ্যুয়াল সহায়তা যোগ করা অন্তর্ভুক্ত। ঐতিহ্যগতভাবে, এই প্রক্রিয়াটি ব্যয়-নিষেধমূলক, ম্যানুয়াল, এবং স্থানীয়করণ বিশেষজ্ঞদের সাথে কাজ করা সহ অনেক সময় নেয়। AWS মেশিন লার্নিং (ML) পরিষেবার শক্তির সাথে যেমন আমাজন ট্রান্সক্রাইব, আমাজন অনুবাদ, এবং আমাজন পলি, আপনি একটি কার্যকর এবং একটি সাশ্রয়ী স্থানীয়করণ সমাধান তৈরি করতে পারেন। আপনি আপনার বিদ্যমান অডিও এবং ভিডিও স্ট্রিমগুলির একটি প্রতিলিপি তৈরি করতে Amazon Transcribe ব্যবহার করতে পারেন এবং তারপর Amazon Translate ব্যবহার করে এই ট্রান্সক্রিপ্টটিকে একাধিক ভাষায় অনুবাদ করতে পারেন৷ তারপরে আপনি অ্যামাজন পলি ব্যবহার করতে পারেন, একটি টেক্সট-টু স্পিচ পরিষেবা, অনুবাদিত পাঠ্যটিকে প্রাকৃতিক-শব্দযুক্ত মানুষের বক্তৃতায় রূপান্তর করতে।

স্থানীয়করণের পরবর্তী ধাপ হল বিষয়বস্তুতে সাবটাইটেল যোগ করা, যা অ্যাক্সেসযোগ্যতা এবং বোধগম্যতা উন্নত করতে পারে এবং দর্শকদের ভিডিওগুলিকে আরও ভালভাবে বুঝতে সাহায্য করে৷ ভিডিও সামগ্রীতে সাবটাইটেল তৈরি করা চ্যালেঞ্জিং হতে পারে কারণ অনুবাদিত বক্তৃতা মূল বক্তৃতার সময়ের সাথে মেলে না। অডিও এবং সাবটাইটেলগুলির মধ্যে এই সিঙ্ক্রোনাইজেশনটি বিবেচনা করার জন্য একটি গুরুত্বপূর্ণ কাজ কারণ এটি দর্শকদের আপনার সামগ্রী থেকে সংযোগ বিচ্ছিন্ন করতে পারে যদি তারা সিঙ্কে না থাকে৷ অ্যামাজন পলি সক্ষম করার মাধ্যমে এই চ্যালেঞ্জের একটি সমাধান প্রস্তাব করে৷ বক্তৃতা চিহ্ন, যা আপনি একটি সাবটাইটেল ফাইল তৈরি করতে ব্যবহার করতে পারেন যা জেনারেট করা স্পিচ আউটপুটের সাথে সিঙ্ক করা যেতে পারে।

এই পোস্টে, আমরা AWS ML পরিষেবাগুলি ব্যবহার করে একটি স্থানীয়করণ সমাধান পর্যালোচনা করি যেখানে আমরা একটি আসল ইংরেজি ভিডিও ব্যবহার করি এবং এটিকে স্প্যানিশ ভাষায় রূপান্তর করি। আমরা স্প্যানিশ ভাষায় একটি সিঙ্ক করা সাবটাইটেল ফাইল তৈরি করতে স্পিচ মার্ক ব্যবহার করার উপরও ফোকাস করি।

সমাধান ওভারভিউ

নিম্নলিখিত চিত্রটি সমাধানের স্থাপত্যকে চিত্রিত করে।

সমাধানটি একটি ভিডিও ফাইল এবং টার্গেট ল্যাঙ্গুয়েজ সেটিংসকে ইনপুট হিসাবে নেয় এবং ভিডিওটির একটি ট্রান্সক্রিপশন তৈরি করতে Amazon Transcribe ব্যবহার করে। আমরা তখন অ্যামাজন ট্রান্সলেট ব্যবহার করি টার্গেট ভাষায় প্রতিলিপি অনুবাদ করতে। টার্গেট ভাষায় অডিও স্ট্রীম এবং বক্তৃতা চিহ্ন তৈরি করার জন্য অনুবাদিত পাঠ্যটি অ্যামাজন পলিতে একটি ইনপুট হিসাবে সরবরাহ করা হয়েছে। আমাজন পলি ফিরে এসেছে স্পিচ মার্ক আউটপুট একটি লাইন-ডিলিমিটেড JSON স্ট্রীমে, যা সময়, প্রকার, শুরু, শেষ এবং মান এর মতো ক্ষেত্রগুলি ধারণ করে৷ ইনপুটে অনুরোধ করা স্পিচ মার্কের ধরনের উপর নির্ভর করে মান পরিবর্তিত হতে পারে, যেমন এসএসএমএল, viseme, শব্দ, বা বাক্য। আমাদের উদাহরণের উদ্দেশ্যে, আমরা অনুরোধ করেছি স্পিচ মার্ক টাইপ as word. এই বিকল্পের সাহায্যে, অ্যামাজন পলি একটি বাক্যকে তার স্বতন্ত্র শব্দে এবং অডিও স্ট্রীমে তাদের শুরু এবং শেষের সময়গুলিকে ভেঙে দেয়। এই মেটাডেটা দিয়ে, বক্তৃতা চিহ্নগুলি তখন অ্যামাজন পলি দ্বারা উত্পন্ন সংশ্লিষ্ট অডিও স্ট্রিমের জন্য সাবটাইটেল তৈরি করতে প্রক্রিয়া করা হয়৷

অবশেষে, আমরা ব্যবহার করি AWS এলিমেন্টাল মিডিয়া কনভার্ট অনূদিত অডিও এবং সংশ্লিষ্ট সাবটাইটেল সহ চূড়ান্ত ভিডিও রেন্ডার করতে।

নিম্নলিখিত ভিডিওটি সমাধানের চূড়ান্ত ফলাফল প্রদর্শন করে:

AWS স্টেপ ফাংশন ওয়ার্কফ্লো

আমরা ব্যাবহার করি এডাব্লুএস স্টেপ ফাংশন এই প্রক্রিয়া অর্কেস্ট্রেট করতে. নিম্নলিখিত চিত্রটি স্টেপ ফাংশন ওয়ার্কফ্লো-এর একটি উচ্চ-স্তরের ভিউ দেখায় (ভাল স্পষ্টতার জন্য ডায়াগ্রাম থেকে কিছু ধাপ বাদ দেওয়া হয়েছে)।

AWS মেশিন লার্নিং পরিষেবা PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে একাধিক ভাষায় সামগ্রী স্থানীয়করণ করুন। উল্লম্ব অনুসন্ধান. আ.

কর্মপ্রবাহের ধাপগুলি নিম্নরূপ:

  1. একটি ব্যবহারকারী একটি উৎস ভিডিও ফাইল আপলোড আমাজন সিম্পল স্টোরেজ সার্ভিস (অ্যামাজন এস 3) বালতি।
  2. সার্জারির S3 ইভেন্ট বিজ্ঞপ্তি ট্রিগার করে এডাব্লুএস ল্যাম্বদা ক্রিয়া state_machine.py (ডায়াগ্রামে দেখানো হয়নি), যা স্টেপ ফাংশন স্টেট মেশিনকে আহ্বান করে।
  3. প্রথম পদক্ষেপ, অডিও প্রতিলিপি, Lambda ফাংশন আহ্বান করে transscribe.py, যা উৎস ভিডিও থেকে অডিওর একটি প্রতিলিপি তৈরি করতে Amazon Transcribe ব্যবহার করে।

নিম্নলিখিত নমুনা কোডটি দেখায় কিভাবে Amazon Transcribe ব্যবহার করে একটি ট্রান্সক্রিপশন কাজ তৈরি করতে হয় বোটো৩ পাইথন SDK:

response = transcribe.start_transcription_job(
    TranscriptionJobName = jobName,
    MediaFormat=media_format,
    Media = {"MediaFileUri": "s3://"+bucket+"/"+mediaconvert_video_filename},
    OutputBucketName=bucket,
    OutputKey=outputKey,
    IdentifyLanguage=True
)

কাজ শেষ হওয়ার পরে, আউটপুট ফাইলগুলি S3 বালতিতে সংরক্ষণ করা হয় এবং প্রক্রিয়াটি বিষয়বস্তু অনুবাদের পরবর্তী ধাপে চলতে থাকে।

  1. সার্জারির ট্রান্সক্রিপশন অনুবাদ করুন ধাপ Lambda ফাংশন আহ্বান করে translate.py যেটি টার্গেট ভাষায় প্রতিলিপি অনুবাদ করতে Amazon Translate ব্যবহার করে। এখানে, আমরা ব্যবহার করে সিঙ্ক্রোনাস/রিয়েল-টাইম অনুবাদ ব্যবহার করি অনুবাদ_পাঠ্য ফাংশন:
    # Real-time translation
    response = translate.translate_text(
        Text=transcribe_text,
        SourceLanguageCode=source_language_code,
        TargetLanguageCode=target_language_code,
    )
    

    সিঙ্ক্রোনাস অনুবাদের নথির আকারের সীমা রয়েছে যা এটি অনুবাদ করতে পারে; এই লেখার হিসাবে, এটি 5,000 বাইটে সেট করা হয়েছে। বড় নথির আকারের জন্য, ব্যবহার করে কাজ তৈরি করার একটি অ্যাসিঙ্ক্রোনাস রুট ব্যবহার করার কথা বিবেচনা করুন শুরু_পাঠ্য_অনুবাদ_কাজ এবং এর মাধ্যমে স্থিতি পরীক্ষা করা হচ্ছে বর্ণনা_পাঠ্য_অনুবাদ_কাজ.

  2. পরবর্তী ধাপ একটি ধাপ ফাংশন সমান্তরাল রাষ্ট্র, যেখানে আমরা আমাদের রাষ্ট্র মেশিনে সমান্তরাল শাখা তৈরি করি।
    1. প্রথম শাখায়, আমরা ল্যাম্বডা ফাংশনকে ল্যাম্বডা ফাংশন আহ্বান করি generate_polly_audio.py আমাদের অ্যামাজন পলি অডিও স্ট্রিম তৈরি করতে:
      # Set up the polly and translate services
      client = boto3.client('polly')
      
      # Use the translated text to create the synthesized speech
      response = client.start_speech_synthesis_task(
                   Engine="standard", LanguageCode="es", OutputFormat="mp3",
                   SampleRate="22050", Text=polly_text, VoiceId="Miguel",
                   TextType="text",
                   OutputS3BucketName="S3-bucket-name",
                   OutputS3KeyPrefix="-polly-recording")
      audio_task_id = response['SynthesisTask']['TaskId']

      এখানে আমরা ব্যবহার করি শুরু_বক্তৃতা_সংশ্লেষণ_টাস্ক অ্যামাজন পলি পাইথন SDK-এর পদ্ধতি স্পিচ সংশ্লেষণ টাস্ক ট্রিগার করতে যা অ্যামাজন পলি অডিও তৈরি করে। আমরা সেট OutputFormat থেকে mp3, যা আমাজন পলিকে এই API কলের জন্য একটি অডিও স্ট্রিম তৈরি করতে বলে৷

    2. দ্বিতীয় শাখায়, আমরা ল্যাম্বডা ফাংশন আহ্বান করি generate_speech_marks.py স্পিচ মার্ক আউটপুট তৈরি করতে:
      ....
      # Use the translated text to create the speech marks
      response = client.start_speech_synthesis_task(
                   Engine="standard", LanguageCode="es", OutputFormat="json",
                   SampleRate="22050", Text=polly_text, VoiceId="Miguel",
                   TextType="text", SpeechMarkTypes=['word'],
                   OutputS3BucketName="S3-bucket-name", 
                   OutputS3KeyPrefix="-polly-speech-marks")
      speechmarks_task_id = response['SynthesisTask']['TaskId']

দ্বিতীয় শাখার পরবর্তী ধাপে, আমরা ল্যাম্বডা ফাংশনটি আহ্বান করি generate_subtitles.py, যা স্পিচ মার্ক আউটপুট থেকে একটি সাবটাইটেল ফাইল তৈরি করতে যুক্তি প্রয়োগ করে।

এটি ফাইলে পাইথন মডিউল ব্যবহার করে webvtt_utils.py. সাবটাইটেল ফাইল তৈরি করতে এই মডিউলটির একাধিক ইউটিলিটি ফাংশন রয়েছে; এরকম একটি পদ্ধতি get_phrases_from_speechmarks স্পিচ মার্ক ফাইল পার্স করার জন্য দায়ী। বক্তৃতা চিহ্নিত JSON গঠন প্রতিটি শব্দের জন্য পৃথকভাবে শুরুর সময় প্রদান করে। SRT ফাইলের জন্য প্রয়োজনীয় সাবটাইটেল টাইমিং তৈরি করতে, আমরা প্রথমে স্পিচ মার্ক ফাইলের শব্দের তালিকা থেকে প্রায় n (যেখানে n=10) শব্দের বাক্যাংশ তৈরি করি। তারপরে আমরা সেগুলিকে SRT ফাইল ফর্ম্যাটে লিখি, বাক্যাংশের প্রথম শব্দ থেকে শুরুর সময় নিয়ে, এবং শেষ সময়ের জন্য আমরা (n+1) শব্দের শুরুর সময় ব্যবহার করি এবং অনুক্রমযুক্ত এন্ট্রি তৈরি করতে এটি 1 দ্বারা বিয়োগ করি। . নিম্নলিখিত ফাংশনটি SRT ফাইলে লেখার প্রস্তুতির জন্য বাক্যাংশগুলি তৈরি করে:

def get_phrases_from_speechmarks(words, transcript):
.....

    for item in items:
        # if it is a new phrase, then get the start_time of the first item
        if n_phrase:
            phrase["start_time"] = get_time_code(words[c]["start_time"])
            n_phrase = False

        else:
            if c == len(words) - 1:
                phrase["end_time"] = get_time_code(words[c]["start_time"])
            else:
                phrase["end_time"] = get_time_code(words[c + 1]["start_time"] - 1)

        # in either case, append the word to the phrase...
        phrase["words"].append(item)
        x += 1

        # now add the phrase to the phrases, generate a new phrase, etc.
        if x == 10 or c == (len(items) - 1):
            # print c, phrase
            if c == (len(items) - 1):
                if phrase["end_time"] == '':
                    start_time = words[c]["start_time"]
                    end_time = int(start_time) + 500
                    phrase["end_time"] = get_time_code(end_time)

            phrases.append(phrase)
            phrase = new_phrase()
            n_phrase = True
            x = 0

        .....

    return phrases

  1. শেষ ধাপ, মিডিয়া রূপান্তর, Lambda ফাংশন আহ্বান করে create_mediaconvert_job.py অ্যামাজন পলি থেকে অডিও স্ট্রীম এবং সোর্স ভিডিও ফাইলের সাথে সাবটাইটেল ফাইলকে একত্রিত করতে চূড়ান্ত আউটপুট ফাইল তৈরি করতে, যা পরে একটি S3 বালতিতে সংরক্ষণ করা হয়। এই পদক্ষেপ ব্যবহার করে MediaConvert, সম্প্রচার-গ্রেড বৈশিষ্ট্য সহ একটি ফাইল-ভিত্তিক ভিডিও ট্রান্সকোডিং পরিষেবা৷ এটি আপনাকে সহজেই ভিডিও-অন-ডিমান্ড সামগ্রী তৈরি করতে দেয় এবং একটি সাধারণ ওয়েব ইন্টারফেসের সাথে উন্নত ভিডিও এবং অডিও ক্ষমতাকে একত্রিত করে। এখানে আবার আমরা পাইথন ব্যবহার করি বোটো৩ একটি তৈরি করতে SDK MediaConvert কাজ:
    ……
    job_metadata = {'asset_id': asset_id, 'application': "createMediaConvertJob"}
    mc_client = boto3.client('mediaconvert', region_name=region)
    endpoints = mc_client.describe_endpoints()
    mc_endpoint_url = endpoints['Endpoints'][0]['Url']
    
    mc = boto3.client('mediaconvert', region_name=region, endpoint_url=mc_endpoint_url, verify=True)
    
    mc.create_job(Role=mediaconvert_role_arn, UserMetadata=job_metadata, Settings=mc_data["Settings"])

পূর্বশর্ত

শুরু করার আগে, আপনার অবশ্যই নিম্নলিখিত পূর্বশর্তগুলি থাকতে হবে:

সমাধান স্থাপন করুন

AWS CDK ব্যবহার করে সমাধান স্থাপন করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. ক্লোন করুন সংগ্রহস্থলের:
    git clone https://github.com/aws-samples/localize-content-using-aws-ml-services.git 

  2. AWS CDK নিশ্চিত করতে বুটস্ট্র্যাপড, কমান্ড চালান cdk bootstrap সংগ্রহস্থলের মূল থেকে:
    $ cdk bootstrap
    ⏳ Bootstrapping environment aws://<acct#>/<region>...
    Trusted accounts for deployment: (none)
    Trusted accounts for lookup: (none)
    Using default execution policy of 'arn:aws:iam::aws:policy/AdministratorAccess'. Pass '--cloudformation-execution-policies' to customize.
    ✅ Environment aws://<acct#>/<region> bootstrapped (no changes).

  3. রিপোজিটরির মূলে ওয়ার্কিং ডিরেক্টরি পরিবর্তন করুন এবং নিম্নলিখিত কমান্ডটি চালান:
    cdk deploy

ডিফল্টরূপে, লক্ষ্য অডিও সেটিংস মার্কিন স্প্যানিশ (es-US) আপনি যদি এটি একটি ভিন্ন টার্গেট ল্যাঙ্গুয়েজ দিয়ে পরীক্ষা করার পরিকল্পনা করেন, তাহলে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

cdk deploy --parameters pollyLanguageCode=<pollyLanguageCode> 
           --parameters pollyVoiceId=<pollyVoiceId>
           --parameters pollyEngine=<pollyEngine> 
           --parameters mediaConvertLangShort=<mediaConvertLangShort>
           --parameters mediaConvertLangLong=<mediaConvertLangLong>
           --parameters targetLanguageCode=<targetLanguageCode>

প্রক্রিয়াটি সম্পূর্ণ হতে কয়েক মিনিট সময় নেয়, এর পরে এটি একটি লিঙ্ক প্রদর্শন করে যা আপনি অনুবাদিত অডিও এবং অনুবাদিত সাবটাইটেল সহ লক্ষ্য ভিডিও ফাইল দেখতে ব্যবহার করতে পারেন।

AWS মেশিন লার্নিং পরিষেবা PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে একাধিক ভাষায় সামগ্রী স্থানীয়করণ করুন। উল্লম্ব অনুসন্ধান. আ.

সমাধান পরীক্ষা করুন

এই সমাধানটি পরীক্ষা করার জন্য, আমরা নিম্নলিখিতগুলির একটি ছোট অংশ ব্যবহার করেছি AWS re: উদ্ভাবন 2017 ভিডিও YouTube থেকে, যেখানে Amazon Transcribe প্রথম চালু করা হয়েছিল। আপনি আপনার নিজের ভিডিও দিয়ে সমাধান পরীক্ষা করতে পারেন. আমাদের পরীক্ষার ভিডিওর মূল ভাষা ইংরেজি। যখন আপনি এই সমাধানটি স্থাপন করেন, আপনি লক্ষ্য অডিও সেটিংস নির্দিষ্ট করতে পারেন বা আপনি ডিফল্ট লক্ষ্য অডিও সেটিংস ব্যবহার করতে পারেন, যা অডিও এবং সাবটাইটেল তৈরির জন্য স্প্যানিশ ব্যবহার করে। সমাধানটি একটি S3 বালতি তৈরি করে যা ভিডিও ফাইল আপলোড করতে ব্যবহার করা যেতে পারে।

  1. Amazon S3 কনসোলে, বালতিতে নেভিগেট করুন PollyBlogBucket.
    AWS মেশিন লার্নিং পরিষেবা PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে একাধিক ভাষায় সামগ্রী স্থানীয়করণ করুন। উল্লম্ব অনুসন্ধান. আ.
  2. বালতি চয়ন করুন, নেভিগেট করুন /inputVideo ডিরেক্টরি, এবং ভিডিও ফাইল আপলোড করুন (সমাধানটি mp4 টাইপের ভিডিওগুলির সাথে পরীক্ষা করা হয়)। এই মুহুর্তে, একটি S3 ইভেন্ট বিজ্ঞপ্তি ল্যাম্বডা ফাংশনকে ট্রিগার করে, যা স্টেট মেশিন শুরু করে।
  3. স্টেপ ফাংশন কনসোলে, স্টেট মেশিনে ব্রাউজ করুন (ProcessAudioWithSubtitles).
  4. রাষ্ট্রীয় মেশিনের রানগুলির মধ্যে একটিকে সনাক্ত করতে বেছে নিন গ্রাফ পরিদর্শক.

এটি প্রতিটি রাজ্যের জন্য রান ফলাফল দেখায়। স্টেপ ফাংশন ওয়ার্কফ্লো সম্পূর্ণ হতে কয়েক মিনিট সময় নেয়, তারপরে আপনি যাচাই করতে পারেন যে সমস্ত ধাপ সফলভাবে সম্পন্ন হয়েছে কিনা।

AWS মেশিন লার্নিং পরিষেবা PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে একাধিক ভাষায় সামগ্রী স্থানীয়করণ করুন। উল্লম্ব অনুসন্ধান. আ.

আউটপুট পর্যালোচনা করুন

আউটপুট পর্যালোচনা করতে, Amazon S3 কনসোল খুলুন এবং অডিও ফাইল (.mp3) এবং স্পিচ মার্ক ফাইল (.marks) S3 বাকেটের নীচে সংরক্ষিত আছে কিনা তা পরীক্ষা করুন <ROOT_S3_BUCKET>/<UID>/synthesisOutput/.

AWS মেশিন লার্নিং পরিষেবা PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে একাধিক ভাষায় সামগ্রী স্থানীয়করণ করুন। উল্লম্ব অনুসন্ধান. আ.

অনুদিত পাঠ্য থেকে উত্পন্ন স্পিচ মার্ক ফাইলের একটি নমুনা নিচে দেওয়া হল:

{"time":6,"type":"word","start":2,"end":6,"value":"Qué"}
{"time":109,"type":"word","start":7,"end":10,"value":"tal"}
{"time":347,"type":"word","start":11,"end":13,"value":"el"}
{"time":453,"type":"word","start":14,"end":20,"value":"idioma"}
{"time":1351,"type":"word","start":22,"end":24,"value":"Ya"}
{"time":1517,"type":"word","start":25,"end":30,"value":"sabes"}
{"time":2240,"type":"word","start":32,"end":38,"value":"hablé"}
{"time":2495,"type":"word","start":39,"end":44,"value":"antes"}
{"time":2832,"type":"word","start":45,"end":50,"value":"sobre"}
{"time":3125,"type":"word","start":51,"end":53,"value":"el"}
{"time":3227,"type":"word","start":54,"end":59,"value":"hecho"}
{"time":3464,"type":"word","start":60,"end":62,"value":"de"}

এই আউটপুটে, পাঠ্যের প্রতিটি অংশ বক্তৃতা চিহ্নগুলির পরিপ্রেক্ষিতে ভেঙে ফেলা হয়েছে:

  • সময় - সংশ্লিষ্ট অডিও স্ট্রিমের শুরু থেকে মিলিসেকেন্ডে টাইমস্ট্যাম্প
  • আদর্শ - বক্তৃতা চিহ্নের ধরন (বাক্য, শব্দ, ভিসেম, বা SSML)
  • শুরু – ইনপুট টেক্সটে অবজেক্টের শুরুর বাইটে অফসেট (অক্ষর নয়) (ভিসেম চিহ্ন সহ নয়)
  • শেষ – ইনপুট টেক্সটে অবজেক্টের শেষের বাইটে অফসেট (অক্ষর নয়) (ভিসেম চিহ্ন সহ নয়)
  • মূল্য - বাক্যে স্বতন্ত্র শব্দ

জেনারেট করা সাবটাইটেল ফাইলটি S3 বালতিতে লেখা হয়। আপনি নীচে ফাইল খুঁজে পেতে পারেন <ROOT_S3_BUCKET>/<UID>/subtitlesOutput/. সাবটাইটেল ফাইল পরিদর্শন; বিষয়বস্তু নিম্নলিখিত পাঠ্যের অনুরূপ হওয়া উচিত:

1
00:00:00,006 --> 00:00:03,226
¿Qué tal el idioma? Ya sabes, hablé antes sobre el

2
00:00:03,227 --> 00:00:06,065
hecho de que el año pasado lanzamos Polly y Lex,

3
00:00:06,066 --> 00:00:09,263
pero hay muchas otras cosas que los constructores quieren hacer

4
00:00:09,264 --> 00:00:11,642
con el lenguaje. Y una de las cosas que ha

5
00:00:11,643 --> 00:00:14,549
sido interesante es que ahora hay tantos datos que están

সাবটাইটেল ফাইল এবং অডিও ফাইল তৈরি হওয়ার পরে, মিডিয়াকনভার্ট ব্যবহার করে চূড়ান্ত উত্স ভিডিও ফাইল তৈরি করা হয়। চাকরির স্থিতি আছে কিনা তা যাচাই করতে MediaConvert কনসোল চেক করুন COMPLETE.

যখন MediaConvert কাজটি সম্পূর্ণ হয়, চূড়ান্ত ভিডিও ফাইল তৈরি হয় এবং S3 বালতিতে ফিরে সংরক্ষিত হয়, যা নীচে পাওয়া যাবে <ROOT_S3_BUCKET>/<UID>/convertedAV/.

এই স্থাপনার অংশ হিসাবে, চূড়ান্ত ভিডিও একটি মাধ্যমে বিতরণ করা হয় অ্যামাজন মেঘ ফ্রন্ট (CDN) লিঙ্ক এবং টার্মিনালে বা প্রদর্শিত হয় এডাব্লুএস ক্লাউডফর্মেশন কনসোল।

অডিও এবং সাবটাইটেলের জন্য অতিরিক্ত বিকল্প সহ আসল ভিডিও দেখতে ব্রাউজারে URL খুলুন। আপনি যাচাই করতে পারেন যে অনুবাদিত অডিও এবং সাবটাইটেলগুলি সিঙ্কে রয়েছে৷

উপসংহার

এই পোস্টে, আমরা কীভাবে ম্যানুয়াল হস্তক্ষেপের প্রয়োজন ছাড়াই ভিডিও ফাইলগুলির নতুন ভাষা সংস্করণ তৈরি করতে পারি তা নিয়ে আলোচনা করেছি। বিষয়বস্তু নির্মাতারা তাদের ভিডিওর অডিও এবং সাবটাইটেল সিঙ্ক্রোনাইজ করতে এবং বিশ্বব্যাপী দর্শকদের কাছে পৌঁছাতে এই প্রক্রিয়াটি ব্যবহার করতে পারেন।

আপনি আপনার প্রয়োজন অনুযায়ী বড় ভলিউম এবং স্কেল পরিচালনা করতে আপনার নিজের উত্পাদন পাইপলাইনে এই পদ্ধতিটিকে সহজেই সংহত করতে পারেন। আমাজন পলি ব্যবহার করে নিউরাল টিটিএস (এনটিটিএস) প্রাকৃতিক এবং মানুষের মত টেক্সট-টু-স্পিচ ভয়েস তৈরি করতে। এটাও সমর্থন করে SSML থেকে বক্তৃতা তৈরি করা হচ্ছে, যা আপনাকে অ্যামাজন পলি কীভাবে প্রদত্ত পাঠ্য থেকে বক্তৃতা তৈরি করে তার উপর অতিরিক্ত নিয়ন্ত্রণ দেয়। আমাজন পলি একটি প্রদান করে বিভিন্ন ধরনের কণ্ঠস্বর আপনার প্রয়োজন সমর্থন করার জন্য একাধিক ভাষায়।

ভিজিট করে AWS মেশিন লার্নিং পরিষেবা দিয়ে শুরু করুন পণ্য পাতা, অথবা উল্লেখ করুন আমাজন মেশিন লার্নিং সলিউশন ল্যাব পৃষ্ঠা যেখানে আপনি আপনার প্রতিষ্ঠানে মেশিন লার্নিং সমাধান আনতে বিশেষজ্ঞদের সাথে সহযোগিতা করতে পারেন।

অতিরিক্ত সম্পদ

এই সমাধানে ব্যবহৃত পরিষেবাগুলি সম্পর্কে আরও তথ্যের জন্য, নিম্নলিখিতগুলি পড়ুন:


লেখক সম্পর্কে

AWS মেশিন লার্নিং পরিষেবা PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে একাধিক ভাষায় সামগ্রী স্থানীয়করণ করুন। উল্লম্ব অনুসন্ধান. আ. রিগান রোজারিও শিক্ষা প্রযুক্তি কোম্পানিগুলিতে ফোকাস করে AWS-এ সমাধানের স্থপতি হিসাবে কাজ করে। তিনি গ্রাহকদের AWS ক্লাউডে স্কেলযোগ্য, উচ্চ উপলব্ধ এবং নিরাপদ সমাধান তৈরি করতে সাহায্য করতে পছন্দ করেন। সফ্টওয়্যার ইঞ্জিনিয়ারিং এবং আর্কিটেকচারের উপর ফোকাস সহ বিভিন্ন প্রযুক্তি ভূমিকায় কাজ করার এক দশকেরও বেশি অভিজ্ঞতা রয়েছে তার।

AWS মেশিন লার্নিং পরিষেবা PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে একাধিক ভাষায় সামগ্রী স্থানীয়করণ করুন। উল্লম্ব অনুসন্ধান. আ.অনিল কোদালি অ্যামাজন ওয়েব পরিষেবাগুলির সাথে একজন সমাধান স্থপতি৷ তিনি AWS EdTech গ্রাহকদের সাথে কাজ করেন, ক্লাউডে বিদ্যমান ওয়ার্কলোডগুলিকে স্থানান্তরিত করার জন্য এবং ক্লাউড-প্রথম পদ্ধতির সাথে নতুন কাজের লোড ডিজাইন করার জন্য স্থাপত্যের সর্বোত্তম অনুশীলনের সাথে তাদের গাইড করেন৷ AWS-এ যোগদানের আগে, তিনি তাদের ক্লাউড মাইগ্রেশনে সাহায্য করার জন্য বড় খুচরা বিক্রেতাদের সাথে কাজ করেছিলেন।

AWS মেশিন লার্নিং পরিষেবা PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে একাধিক ভাষায় সামগ্রী স্থানীয়করণ করুন। উল্লম্ব অনুসন্ধান. আ.প্রসন্ন সরস্বতী কৃষ্ণান এডটেক গ্রাহকদের সাথে কাজ করা অ্যামাজন ওয়েব পরিষেবাগুলির সাথে একজন সমাধান স্থপতি৷ তিনি তাদের সর্বোত্তম অনুশীলন ব্যবহার করে তাদের ক্লাউড আর্কিটেকচার এবং ডেটা কৌশল চালাতে সহায়তা করেন। তার ব্যাকগ্রাউন্ড ডিস্ট্রিবিউটেড কম্পিউটিং, বিগ ডাটা অ্যানালিটিক্স এবং ডেটা ইঞ্জিনিয়ারিং। তিনি মেশিন লার্নিং এবং প্রাকৃতিক ভাষা প্রক্রিয়াকরণ সম্পর্কে উত্সাহী।

সময় স্ট্যাম্প:

থেকে আরো এডাব্লুএস মেশিন লার্নিং

স্ল্যাক অ্যামাজন সেজমেকার জাম্পস্টার্ট দ্বারা চালিত নেটিভ এবং সুরক্ষিত জেনারেটিভ এআই সরবরাহ করে | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1965894
সময় স্ট্যাম্প: এপ্রিল 18, 2024

এমএল প্রশিক্ষণ এবং অনুমান কর্মক্ষমতা এবং খরচ অপ্টিমাইজ করতে অ্যামাজন মিউজিক কীভাবে NVIDIA-এর সাথে SageMaker ব্যবহার করে | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1916113
সময় স্ট্যাম্প: নভেম্বর 21, 2023