โลคัลไลซ์เนื้อหาเป็นหลายภาษาโดยใช้บริการการเรียนรู้ของเครื่องของ AWS PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

โลคัลไลซ์เนื้อหาเป็นหลายภาษาโดยใช้บริการการเรียนรู้ของเครื่องของ AWS

ในช่วงไม่กี่ปีที่ผ่านมา แพลตฟอร์มการศึกษาออนไลน์มีการยอมรับเพิ่มขึ้นและมีความต้องการการเรียนรู้ผ่านวิดีโอเพิ่มขึ้น เนื่องจากมีสื่อที่มีประสิทธิภาพในการดึงดูดผู้เรียน เพื่อขยายไปสู่ตลาดต่างประเทศและจัดการกับประชากรที่มีความหลากหลายทางวัฒนธรรมและภาษา ธุรกิจต่างๆ ยังมองหาการกระจายข้อเสนอการเรียนรู้ของตนด้วยการแปลเนื้อหาเป็นหลายภาษา ธุรกิจเหล่านี้กำลังมองหาวิธีที่เชื่อถือได้และคุ้มค่าในการแก้ปัญหาการใช้งานการแปลเป็นภาษาท้องถิ่น

การโลคัลไลซ์เนื้อหาส่วนใหญ่รวมถึงการแปลเสียงต้นฉบับเป็นภาษาใหม่ และการเพิ่มภาพประกอบ เช่น คำบรรยาย ตามธรรมเนียมแล้ว กระบวนการนี้ไม่ต้องเสียค่าใช้จ่าย ดำเนินการเอง และใช้เวลานาน รวมถึงการทำงานร่วมกับผู้เชี่ยวชาญด้านโลคัลไลเซชัน ด้วยพลังของบริการการเรียนรู้ของเครื่อง AWS (ML) เช่น ถอดความจากอเมซอน, อเมซอนแปลภาษาและ Amazon Pollyคุณสามารถสร้างโซลูชันโลคัลไลเซชันที่ใช้งานได้จริงและคุ้มค่า คุณสามารถใช้ Amazon Transcribe เพื่อสร้างการถอดเสียงของสตรีมเสียงและวิดีโอที่มีอยู่ แล้วแปลการถอดเสียงนี้เป็นหลายภาษาโดยใช้ Amazon Translate จากนั้น คุณสามารถใช้ Amazon Polly ซึ่งเป็นบริการแปลงข้อความเป็นคำพูดเพื่อแปลงข้อความที่แปลเป็นคำพูดของมนุษย์ที่ฟังดูเป็นธรรมชาติ

ขั้นตอนต่อไปของการแปลเป็นภาษาท้องถิ่นคือการเพิ่มคำบรรยายลงในเนื้อหา ซึ่งสามารถปรับปรุงการเข้าถึงและความเข้าใจ และช่วยให้ผู้ดูเข้าใจวิดีโอได้ดีขึ้น การสร้างคำบรรยายในเนื้อหาวิดีโออาจทำได้ยากเนื่องจากคำพูดที่แปลไม่ตรงกับจังหวะเวลาของเสียงพูดต้นฉบับ การซิงโครไนซ์ระหว่างเสียงและคำบรรยายเป็นงานสำคัญที่ต้องพิจารณา เนื่องจากอาจทำให้ผู้ชมขาดการเชื่อมต่อจากเนื้อหาของคุณหากเนื้อหาไม่ตรงกัน Amazon Polly นำเสนอโซลูชันสำหรับความท้าทายนี้ผ่านการเปิดใช้งาน เครื่องหมายคำพูดซึ่งคุณสามารถใช้เพื่อสร้างไฟล์คำบรรยายที่สามารถซิงค์กับเอาต์พุตเสียงพูดที่สร้างขึ้นได้

ในโพสต์นี้ เราตรวจสอบโซลูชันการแปลเป็นภาษาท้องถิ่นโดยใช้บริการ AWS ML ซึ่งเราใช้วิดีโอภาษาอังกฤษต้นฉบับและแปลงเป็นภาษาสเปน เรายังเน้นที่การใช้เครื่องหมายคำพูดเพื่อสร้างไฟล์คำบรรยายที่ซิงค์ในภาษาสเปน

ภาพรวมโซลูชัน

ไดอะแกรมต่อไปนี้แสดงสถาปัตยกรรมโซลูชัน

โซลูชันนี้ใช้ไฟล์วิดีโอและการตั้งค่าภาษาเป้าหมายเป็นอินพุต และใช้ Amazon Transcribe เพื่อสร้างการถอดเสียงวิดีโอ จากนั้นเราใช้ Amazon Translate เพื่อแปลการถอดเสียงเป็นภาษาเป้าหมาย ข้อความที่แปลเป็นข้อมูลป้อนเข้าไปยัง Amazon Polly เพื่อสร้างสตรีมเสียงและเครื่องหมายคำพูดในภาษาเป้าหมาย Amazon Polly กลับมาอีกครั้ง เอาต์พุตเครื่องหมายคำพูด ในสตรีม JSON ที่คั่นด้วยบรรทัด ซึ่งมีฟิลด์ต่างๆ เช่น เวลา ประเภท จุดเริ่มต้น สิ้นสุด และค่า ค่าอาจแตกต่างกันไปขึ้นอยู่กับประเภทของเครื่องหมายคำพูดที่ร้องขอในการป้อนข้อมูลเช่น เอสเอสเอ็มแอล, วีเซ่, คำ หรือ ประโยค เพื่อจุดประสงค์ในตัวอย่างของเรา เราขอ เครื่องหมายคำพูดประเภท as word. ด้วยตัวเลือกนี้ Amazon Polly จะแบ่งประโยคออกเป็นคำแต่ละคำในประโยค และเวลาเริ่มต้นและสิ้นสุดในสตรีมเสียง ด้วยข้อมูลเมตานี้ เครื่องหมายคำพูดจะได้รับการประมวลผลเพื่อสร้างคำบรรยายสำหรับสตรีมเสียงที่เกี่ยวข้องซึ่งสร้างโดย Amazon Polly

สุดท้ายเราใช้ AWS Elemental MediaConvert เพื่อแสดงวิดีโอสุดท้ายพร้อมเสียงที่แปลและคำบรรยายที่เกี่ยวข้อง

วิดีโอต่อไปนี้สาธิตผลลัพธ์สุดท้ายของการแก้ปัญหา:

เวิร์กโฟลว์ AWS Step Function

เราใช้ ฟังก์ชันขั้นตอนของ AWS เพื่อประสานกระบวนการนี้ รูปภาพต่อไปนี้แสดงมุมมองระดับสูงของเวิร์กโฟลว์ Step Functions (บางขั้นตอนถูกละเว้นจากไดอะแกรมเพื่อความชัดเจนยิ่งขึ้น)

โลคัลไลซ์เนื้อหาเป็นหลายภาษาโดยใช้บริการการเรียนรู้ของเครื่องของ AWS PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ขั้นตอนเวิร์กโฟลว์มีดังนี้:

  1. ผู้ใช้อัปโหลดไฟล์วิดีโอต้นทางไปที่ an บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (Amazon S3) ถัง
  2. พื้นที่ การแจ้งเตือนเหตุการณ์ S3 ทริกเกอร์ AWS แลมบ์ดา ฟังก์ชัน state_machine.py (ไม่แสดงในแผนภาพ) ซึ่งเรียกใช้เครื่องสถานะ Step Functions
  3. ขั้นตอนแรก, ถอดเสียง, เรียกใช้ฟังก์ชันแลมบ์ดา ถอดเสียง.pyซึ่งใช้ Amazon Transcribe เพื่อสร้างการถอดเสียงจากวิดีโอต้นทาง

โค้ดตัวอย่างต่อไปนี้สาธิตวิธีสร้างงานการถอดเสียงโดยใช้ Amazon Transcribe โบโต3 หลาม 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. พื้นที่ แปลการถอดเสียงเป็นคำ ขั้นตอนเรียกฟังก์ชันแลมบ์ดา แปล.py ซึ่งใช้ Amazon Translate เพื่อแปลการถอดเสียงเป็นภาษาเป้าหมาย ที่นี่ เราใช้การแปลแบบซิงโครนัส/เรียลไทม์โดยใช้ แปล_ข้อความ ฟังก์ชั่น:
    # Real-time translation
    response = translate.translate_text(
        Text=transcribe_text,
        SourceLanguageCode=source_language_code,
        TargetLanguageCode=target_language_code,
    )
    

    การแปลแบบซิงโครนัสมีข้อ จำกัด เกี่ยวกับขนาดเอกสารที่สามารถแปลได้ ในการเขียนนี้ มันถูกตั้งค่าเป็น 5,000 ไบต์ สำหรับขนาดเอกสารที่ใหญ่ขึ้น ให้พิจารณาใช้เส้นทางแบบอะซิงโครนัสในการสร้างงานโดยใช้ start_text_translation_job และตรวจสอบสถานะได้ทาง อธิบาย_text_translation_job.

  2. ขั้นตอนต่อไปคือ Step Functions Parallel รัฐที่เราสร้างสาขาขนานในเครื่องสถานะของเรา
    1. ในสาขาแรก เราเรียกใช้ฟังก์ชันแลมบ์ดาฟังก์ชันแลมบ์ดา create_polly_audio.py เพื่อสร้างสตรีมเสียง Amazon Polly ของเรา:
      # 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']

      ที่นี่เราใช้ start_speech_synthetic_task เมธอดของ Amazon Polly Python SDK เพื่อทริกเกอร์งานการสังเคราะห์เสียงพูดที่สร้างเสียง Amazon Polly เราตั้งค่า OutputFormat ไปยัง mp3ซึ่งบอกให้ Amazon Polly สร้างสตรีมเสียงสำหรับการเรียก API นี้

    2. ในสาขาที่สอง เราเรียกใช้ฟังก์ชันแลมบ์ดา สร้าง_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']

  • เราใช้ .อีกครั้ง start_speech_synthetic_task วิธีแต่ระบุ OutputFormat ไปยัง jsonซึ่งบอกให้ Amazon Polly สร้างเครื่องหมายคำพูดสำหรับการเรียก API นี้

ในขั้นตอนต่อไปของแบรนช์ที่สอง เราเรียกใช้ฟังก์ชันแลมบ์ดา create_subtitles.pyซึ่งใช้ตรรกะในการสร้างไฟล์คำบรรยายจากเอาต์พุตเครื่องหมายคำพูด

มันใช้โมดูล Python ในไฟล์ 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. ขั้นตอนสุดท้าย, สื่อแปลง, เรียกใช้ฟังก์ชันแลมบ์ดา create_mediaconvert_job.py เพื่อรวมสตรีมเสียงจาก Amazon Polly และไฟล์คำบรรยายกับไฟล์วิดีโอต้นทางเพื่อสร้างไฟล์เอาต์พุตสุดท้าย ซึ่งจัดเก็บไว้ในบัคเก็ต S3 ขั้นตอนนี้ใช้ MediaConvertซึ่งเป็นบริการแปลงรหัสวิดีโอแบบไฟล์พร้อมคุณสมบัติระดับการออกอากาศ ช่วยให้คุณสร้างเนื้อหาวิดีโอออนดีมานด์ได้อย่างง่ายดาย และรวมความสามารถด้านวิดีโอและเสียงขั้นสูงเข้ากับอินเทอร์เฟซทางเว็บที่เรียบง่าย ที่นี่อีกครั้งเราใช้ Python โบโต3 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 Data Intelligence ค้นหาแนวตั้ง AI.

ทดสอบวิธีแก้ปัญหา

เพื่อทดสอบโซลูชันนี้ เราใช้ส่วนเล็กๆ ต่อไปนี้ วิดีโอ AWS re:Invent 2017 จาก YouTube ซึ่งเปิดตัว Amazon Transcribe เป็นครั้งแรก คุณยังสามารถทดสอบวิธีแก้ปัญหาด้วยวิดีโอของคุณเอง ภาษาต้นฉบับของวิดีโอทดสอบของเราคือภาษาอังกฤษ เมื่อคุณปรับใช้โซลูชันนี้ คุณสามารถระบุการตั้งค่าเสียงเป้าหมายหรือคุณสามารถใช้การตั้งค่าเสียงเป้าหมายเริ่มต้น ซึ่งใช้ภาษาสเปนเพื่อสร้างเสียงและคำบรรยาย โซลูชันนี้สร้างบัคเก็ต S3 ที่สามารถใช้อัปโหลดไฟล์วิดีโอได้

  1. บนคอนโซล Amazon S3 ให้ไปที่ที่เก็บข้อมูล PollyBlogBucket.
    โลคัลไลซ์เนื้อหาเป็นหลายภาษาโดยใช้บริการการเรียนรู้ของเครื่องของ AWS PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  2. เลือกที่เก็บข้อมูล ไปที่ /inputVideo ไดเร็กทอรี และอัปโหลดไฟล์วิดีโอ (โซลูชันได้รับการทดสอบกับวิดีโอประเภท mp4) ณ จุดนี้ การแจ้งเตือนเหตุการณ์ S3 จะทริกเกอร์ฟังก์ชัน Lambda ซึ่งจะเริ่มเครื่องสถานะ
  3. บนคอนโซล Step Functions ให้เรียกดูเครื่องสถานะ (ProcessAudioWithSubtitles).
  4. เลือกการทำงานของเครื่องรัฐเพื่อค้นหา สารวัตรกราฟ.

นี้แสดงผลการทำงานสำหรับแต่ละรัฐ เวิร์กโฟลว์ Step Functions ใช้เวลาสองสามนาทีจึงจะเสร็จสมบูรณ์ หลังจากนั้นคุณสามารถตรวจสอบว่าขั้นตอนทั้งหมดเสร็จสมบูรณ์หรือไม่

โลคัลไลซ์เนื้อหาเป็นหลายภาษาโดยใช้บริการการเรียนรู้ของเครื่องของ AWS PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ตรวจสอบผลลัพธ์

หากต้องการตรวจสอบผลลัพธ์ ให้เปิดคอนโซล Amazon S3 และตรวจสอบว่าไฟล์เสียง (.mp3) และไฟล์เครื่องหมายคำพูด (.marks) ถูกจัดเก็บไว้ในบัคเก็ต S3 หรือไม่ <ROOT_S3_BUCKET>/<UID>/synthesisOutput/.

โลคัลไลซ์เนื้อหาเป็นหลายภาษาโดยใช้บริการการเรียนรู้ของเครื่องของ AWS PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ต่อไปนี้คือตัวอย่างไฟล์เครื่องหมายคำพูดที่สร้างจากข้อความที่แปลแล้ว:

{"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"}

ในผลลัพธ์นี้ แต่ละส่วนของข้อความจะแยกออกเป็นเครื่องหมายคำพูด:

  • เวลา – การประทับเวลาในหน่วยมิลลิวินาทีจากจุดเริ่มต้นของสตรีมเสียงที่เกี่ยวข้อง
  • ชนิด – ประเภทของเครื่องหมายคำพูด (ประโยค คำ viseme หรือ SSML)
  • เริ่มต้น – ออฟเซ็ตเป็นไบต์ (ไม่ใช่อักขระ) ของจุดเริ่มต้นของวัตถุในข้อความที่ป้อน (ไม่รวมเครื่องหมาย viseme)
  • ปลาย – ออฟเซ็ตเป็นไบต์ (ไม่ใช่อักขระ) ของจุดสิ้นสุดของวัตถุในข้อความที่ป้อน (ไม่รวมเครื่องหมาย viseme)
  • ความคุ้มค่า – คำแต่ละคำในประโยค

ไฟล์คำบรรยายที่สร้างขึ้นจะถูกเขียนกลับไปที่บัคเก็ต 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 ตรวจสอบคอนโซล MediaConvert เพื่อตรวจสอบว่าสถานะงานคือ COMPLETE.

เมื่องาน MediaConvert เสร็จสิ้น ไฟล์วิดีโอขั้นสุดท้ายจะถูกสร้างขึ้นและบันทึกกลับไปที่บัคเก็ต S3 ซึ่งสามารถพบได้ใน <ROOT_S3_BUCKET>/<UID>/convertedAV/.

ในการปรับใช้นี้ วิดีโอสุดท้ายจะเผยแพร่ผ่าน an Amazon CloudFront (CDN) ลิงก์และแสดงในเทอร์มินัลหรือใน การก่อตัวของ AWS Cloud ปลอบใจ

เปิด URL ในเบราว์เซอร์เพื่อดูวิดีโอต้นฉบับพร้อมตัวเลือกเพิ่มเติมสำหรับเสียงและคำบรรยาย คุณสามารถตรวจสอบว่าเสียงที่แปลและคำบรรยายตรงกันหรือไม่

สรุป

ในโพสต์นี้ เราได้พูดถึงวิธีสร้างไฟล์วิดีโอเวอร์ชันภาษาใหม่โดยไม่ต้องมีการแทรกแซงด้วยตนเอง ผู้สร้างเนื้อหาสามารถใช้กระบวนการนี้เพื่อซิงโครไนซ์เสียงและคำบรรยายของวิดีโอและเข้าถึงผู้ชมทั่วโลก

คุณสามารถรวมแนวทางนี้เข้ากับไปป์ไลน์การผลิตของคุณเองได้อย่างง่ายดายเพื่อจัดการกับปริมาณมากและปรับขนาดได้ตามความต้องการของคุณ Amazon Polly ใช้ ประสาท TTS (NTTS) เพื่อสร้างเสียงจากข้อความเป็นคำพูดที่เป็นธรรมชาติและเหมือนมนุษย์ นอกจากนี้ยังรองรับ การสร้างคำพูดจากSSMLซึ่งให้คุณควบคุมเพิ่มเติมว่า Amazon Polly สร้างคำพูดจากข้อความที่ให้ไว้ได้อย่างไร Amazon Polly ยังให้บริการ a หลากหลายเสียง ในหลายภาษาเพื่อรองรับความต้องการของคุณ

เริ่มต้นกับบริการแมชชีนเลิร์นนิงของ AWS โดยไปที่ หน้าสินค้าหรืออ้างถึง ห้องปฏิบัติการโซลูชันแมชชีนเลิร์นนิงของ Amazon หน้าที่คุณสามารถทำงานร่วมกับผู้เชี่ยวชาญเพื่อนำโซลูชันแมชชีนเลิร์นนิงมาสู่องค์กรของคุณ

แหล่งข้อมูลเพิ่มเติม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบริการที่ใช้ในโซลูชันนี้ ให้อ้างอิงกับต่อไปนี้:


เกี่ยวกับผู้แต่ง

โลคัลไลซ์เนื้อหาเป็นหลายภาษาโดยใช้บริการการเรียนรู้ของเครื่องของ AWS PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI. เรแกน โรซาริโอ ทำงานเป็นสถาปนิกโซลูชันที่ AWS โดยมุ่งเน้นที่บริษัทเทคโนโลยีการศึกษา เขาชอบช่วยเหลือลูกค้าในการสร้างโซลูชันที่ปรับขนาดได้ มีความพร้อมใช้งานสูง และปลอดภัยใน AWS Cloud เขามีประสบการณ์มากกว่าทศวรรษในการทำงานในด้านเทคโนโลยีที่หลากหลาย โดยมุ่งเน้นที่วิศวกรรมซอฟต์แวร์และสถาปัตยกรรม

โลคัลไลซ์เนื้อหาเป็นหลายภาษาโดยใช้บริการการเรียนรู้ของเครื่องของ AWS PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.อนิล โคดาลี เป็นสถาปนิกโซลูชันกับ Amazon Web Services เขาทำงานร่วมกับลูกค้า AWS EdTech โดยแนะนำพวกเขาด้วยแนวทางปฏิบัติที่ดีที่สุดด้านสถาปัตยกรรมสำหรับการย้ายปริมาณงานที่มีอยู่ไปยังระบบคลาวด์ และออกแบบปริมาณงานใหม่ด้วยแนวทางที่เน้นระบบคลาวด์เป็นหลัก ก่อนร่วมงานกับ AWS เขาทำงานร่วมกับผู้ค้าปลีกรายใหญ่เพื่อช่วยพวกเขาในการย้ายระบบคลาวด์

โลคัลไลซ์เนื้อหาเป็นหลายภาษาโดยใช้บริการการเรียนรู้ของเครื่องของ AWS PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.ประสณนา สรัสวดี กฤษณะ เป็นสถาปนิกโซลูชันกับ Amazon Web Services ที่ทำงานร่วมกับลูกค้า EdTech เขาช่วยขับเคลื่อนสถาปัตยกรรมคลาวด์และกลยุทธ์ข้อมูลโดยใช้แนวทางปฏิบัติที่ดีที่สุด ภูมิหลังของเขาคือการคำนวณแบบกระจาย การวิเคราะห์ข้อมูลขนาดใหญ่ และวิศวกรรมข้อมูล เขาหลงใหลเกี่ยวกับแมชชีนเลิร์นนิงและการประมวลผลภาษาที่เป็นธรรมชาติ

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS