Son birkaç yılda, çevrimiçi eğitim platformları, öğrencilerin katılımı için etkili bir ortam sunduğu için video tabanlı öğrenmelerin benimsenmesinde ve talepte bir artış gördü. Uluslararası pazarlara açılmak ve kültürel ve dilsel olarak çeşitli bir nüfusa hitap etmek için işletmeler, içeriği birden çok dile yerelleştirerek öğrenme tekliflerini çeşitlendirmeye de bakıyorlar. Bu işletmeler, yerelleştirme kullanım örneklerini çözmek için güvenilir ve uygun maliyetli yollar arıyor.
İçeriği yerelleştirmek, esas olarak orijinal seslerin yeni dillere çevrilmesini ve altyazı gibi görsel yardımcıların eklenmesini içerir. Geleneksel olarak, bu süreç maliyet açısından engelleyicidir, manueldir ve yerelleştirme uzmanlarıyla çalışmak da dahil olmak üzere çok zaman alır. Aşağıdakiler gibi AWS makine öğrenimi (ML) hizmetlerinin gücüyle Amazon Yazısı, Amazon Tercüme, ve Amazon Polly, uygulanabilir ve uygun maliyetli bir yerelleştirme çözümü oluşturabilirsiniz. Mevcut ses ve video akışlarınızın dökümünü oluşturmak için Amazon Transcribe'ı kullanabilir ve ardından bu dökümü Amazon Translate'i kullanarak birden çok dile çevirebilirsiniz. Ardından, çevrilmiş metni kulağa doğal gelen insan konuşmasına dönüştürmek için bir metinden konuşmaya hizmeti olan Amazon Polly'yi kullanabilirsiniz.
Yerelleştirmenin bir sonraki adımı, içeriğe erişilebilirliği ve anlamayı iyileştirebilecek ve izleyicilerin videoları daha iyi anlamalarına yardımcı olabilecek altyazılar eklemektir. Video içeriğinde altyazı oluşturma, çevrilen konuşma orijinal konuşma zamanlaması ile eşleşmediğinden zor olabilir. Ses ve altyazılar arasındaki bu senkronizasyon, dikkate alınması gereken kritik bir görevdir, çünkü senkronize olmazlarsa izleyicilerin içeriğinizle bağlantısını kesebilir. Amazon Polly, etkinleştirme yoluyla bu zorluğa bir çözüm sunuyor Konuşma işaretleriOluşturulan konuşma çıkışıyla senkronize edilebilecek bir altyazı dosyası oluşturmak için kullanabileceğiniz .
Bu gönderide, orijinal bir İngilizce video kullandığımız ve bunu İspanyolca'ya dönüştürdüğümüz AWS ML hizmetlerini kullanan bir yerelleştirme çözümünü inceliyoruz. Ayrıca İspanyolca'da senkronize edilmiş bir altyazı dosyası oluşturmak için konuşma işaretlerini kullanmaya odaklanıyoruz.
Çözüme genel bakış
Aşağıdaki şemada çözüm mimarisi gösterilmektedir.
Çözüm, girdi olarak bir video dosyası ve hedef dil ayarlarını alır ve videonun dökümünü oluşturmak için Amazon Transcribe'ı kullanır. Ardından, dökümü hedef dile çevirmek için Amazon Translate'i kullanırız. Çevrilen metin, hedef dilde ses akışını ve konuşma işaretlerini oluşturmak için Amazon Polly'ye bir girdi olarak sağlanır. Amazon Polly geri dönüyor konuşma işareti çıkışı zaman, tür, başlangıç, bitiş ve değer gibi alanları içeren satırla ayrılmış bir JSON akışında. Değer, girişte istenen konuşma işaretinin türüne göre değişebilir, örneğin: SSML, mengene, kelime veya cümle. Örneğimiz için, şunu istedik: konuşma işareti türü as word
. Bu seçenekle Amazon Polly, bir cümleyi cümle içindeki tek tek kelimelere ve ses akışındaki başlangıç ve bitiş zamanlarına böler. Bu meta verilerle, konuşma işaretleri daha sonra Amazon Polly tarafından oluşturulan ilgili ses akışı için altyazıları oluşturmak üzere işlenir.
Son olarak, kullanıyoruz AWS Elemental MediaConvert son videoyu çevrilmiş ses ve ilgili altyazılarla birlikte oluşturmak için.
Aşağıdaki video, çözümün nihai sonucunu göstermektedir:
AWS Step Functions iş akışı
Biz kullanmak AWS Basamak İşlevleri Bu süreci düzenlemek için. Aşağıdaki şekil, Step Functions iş akışının üst düzey bir görünümünü göstermektedir (daha iyi anlaşılır olması için bazı adımlar şemadan çıkarılmıştır).
İş akışı adımları aşağıdaki gibidir:
- Bir kullanıcı kaynak video dosyasını bir Amazon Basit Depolama Hizmeti (Amazon S3) kovası.
- The S3 olay bildirimi tetikler AWS Lambda işlev durum_makinesi.py (şemada gösterilmemiştir), bu da Step Functions durum makinesini çağırır.
- İlk adım, Sesi metne dönüştür, Lambda işlevini çağırır transkripsiyon.py, kaynak videodan sesin bir dökümünü oluşturmak için Amazon Transcribe'ı kullanır.
Aşağıdaki örnek kod, Amazon Transcribe kullanılarak bir transkripsiyon işinin nasıl oluşturulacağını gösterir. Boto3 Python SDK'sı:
İş tamamlandıktan sonra çıktı dosyaları S3 kovasına kaydedilir ve süreç, içeriği çevirmenin sonraki adımına devam eder.
- The Transkripsiyonu çevir adım Lambda işlevini çağırır tercüme.py Bu, transkripti hedef dile çevirmek için Amazon Translate'i kullanır. Burada, senkron/gerçek zamanlı çeviriyi kullanarak tercüme_metni işlevi:
Eşzamanlı çevirinin, çevirebileceği belge boyutuyla ilgili sınırları vardır; bu yazı itibariyle, 5,000 bayta ayarlanmıştır. Daha büyük belge boyutları için, aşağıdakileri kullanarak işi oluşturmak için eşzamansız bir yol kullanmayı düşünün. start_text_translation_iş ve durumu kontrol ederek tarif_metin_translation_iş.
- Bir sonraki adım, bir Adım İşlevleridir. Paralel durum makinemizde paralel dallar oluşturduğumuz durum.
- İlk dalda Lambda işlevini, Lambda işlevini çağırıyoruz. create_polly_audio.py Amazon Polly ses akışımızı oluşturmak için:
Burada kullandığımız start_speech_synthesis_task Amazon Polly sesini oluşturan konuşma sentezi görevini tetiklemek için Amazon Polly Python SDK yöntemi. biz ayarladık
OutputFormat
içinmp3
Bu, Amazon Polly'ye bu API çağrısı için bir ses akışı oluşturmasını söyler. - İkinci dalda Lambda fonksiyonunu çağırıyoruz. create_speech_marks.py konuşma işaretleri çıktısı oluşturmak için:
- İlk dalda Lambda işlevini, Lambda işlevini çağırıyoruz. create_polly_audio.py Amazon Polly ses akışımızı oluşturmak için:
- yine kullanırız start_speech_synthesis_task yöntem ama belirtin
OutputFormat
içinjson
, Amazon Polly'ye bu API çağrısı için konuşma işaretleri oluşturmasını söyler.
İkinci dalın bir sonraki adımında Lambda işlevini çağırıyoruz. create_subtitles.pykonuşma işaretleri çıktısından bir altyazı dosyası oluşturmak için mantığı uygulayan .
Dosyadaki Python modülünü kullanır webvtt_utils.py. Bu modül, altyazı dosyasını oluşturmak için birden çok yardımcı işleve sahiptir; böyle bir yöntem get_phrases_from_speechmarks
konuşma işaretleri dosyasının ayrıştırılmasından sorumludur. Konuşma işaretleri JSON yapısı, her bir kelime için ayrı ayrı sadece başlangıç zamanı sağlar. SRT dosyası için gereken altyazı zamanlamasını oluşturmak için, önce konuşma işaretleri dosyasındaki kelimeler listesinden yaklaşık n (n=10) kelimelik ifadeler oluşturuyoruz. Daha sonra SRT dosya formatına, cümledeki ilk kelimeden başlangıç zamanını alarak ve bitiş zamanı için (n+1) kelimenin başlangıç zamanını kullanarak sıralı girişi oluşturmak için 1 ile çıkarıyoruz. . Aşağıdaki işlev, cümleleri SRT dosyasına yazmaya hazırlanırken oluşturur:
- Son adım, Medya Dönüştürme, Lambda işlevini çağırır create_mediaconvert_job.py Amazon Polly'den gelen ses akışını ve altyazı dosyasını kaynak video dosyasıyla birleştirerek daha sonra bir S3 klasöründe depolanan son çıktı dosyasını oluşturmak. Bu adım kullanır
MediaConvert
, yayın düzeyinde özelliklere sahip dosya tabanlı bir video kod dönüştürme hizmeti. Kolayca isteğe bağlı video içeriği oluşturmanıza olanak tanır ve gelişmiş video ve ses özelliklerini basit bir web arabirimiyle birleştirir. Burada yine Python kullanıyoruz Boto3 oluşturmak için SDKMediaConvert
Görev:
Önkoşullar
Başlamadan önce, aşağıdaki ön koşullara sahip olmanız gerekir:
Çözümü dağıtın
Çözümü AWS CDK kullanarak dağıtmak için aşağıdaki adımları tamamlayın:
- klonlamak Depo:
- AWS CDK'nin olduğundan emin olmak için desteksiz, komutu çalıştır
cdk bootstrap
deponun kökünden: - Çalışma dizinini havuzun kök dizinine değiştirin ve aşağıdaki komutu çalıştırın:
Varsayılan olarak, hedef ses ayarları ABD İspanyolcası (es-US
). Farklı bir hedef dil ile test etmeyi planlıyorsanız, aşağıdaki komutu kullanın:
İşlemin tamamlanması birkaç dakika sürer, ardından hedef video dosyasını çevrilmiş ses ve çevrilmiş altyazılarla birlikte görüntülemek için kullanabileceğiniz bir bağlantı görüntülenir.
Çözümü test edin
Bu çözümü test etmek için aşağıdakilerin küçük bir kısmını kullandık. AWS re:Invent 2017 videosu Amazon Transcribe'ın ilk kez tanıtıldığı YouTube'dan. Çözümü kendi videonuzla da test edebilirsiniz. Test videomuzun orijinal dili İngilizce'dir. Bu çözümü dağıttığınızda, hedef ses ayarlarını belirtebilir veya ses ve altyazı oluşturmak için İspanyolca'yı kullanan varsayılan hedef ses ayarlarını kullanabilirsiniz. Çözüm, video dosyasını yüklemek için kullanılabilecek bir S3 klasörü oluşturur.
- Amazon S3 konsolunda kovaya gidin
PollyBlogBucket
. - Kovayı seçin,
/inputVideo
dizini ve video dosyasını yükleyin (çözüm mp4 türündeki videolarla test edilmiştir). Bu noktada, bir S3 olay bildirimi, durum makinesini başlatan Lambda işlevini tetikler. - Step Functions konsolunda durum makinesine göz atın (
ProcessAudioWithSubtitles
). - Yerini bulmak için durum makinesinin çalıştırmalarından birini seçin. Grafik Denetçisi.
Bu, her durum için çalıştırma sonuçlarını gösterir. Step Functions iş akışının tamamlanması birkaç dakika sürer ve ardından tüm adımların başarıyla tamamlanıp tamamlanmadığını doğrulayabilirsiniz.
Çıktıyı gözden geçirin
Çıktıyı gözden geçirmek için Amazon S3 konsolunu açın ve ses dosyasının (.mp3) ve konuşma işareti dosyasının (.marks) altındaki S3 klasöründe depolanıp saklanmadığını kontrol edin. <ROOT_S3_BUCKET>/<UID>/synthesisOutput/
.
Aşağıda, çevrilmiş metinden oluşturulan konuşma işareti dosyasının bir örneği verilmiştir:
Bu çıktıda, metnin her bölümü konuşma işaretleri açısından bölünmüştür:
- zaman – İlgili ses akışının başlangıcından itibaren milisaniye cinsinden zaman damgası
- tip – Konuşma işaretinin türü (cümle, sözcük, sözcük öbeği veya SSML)
- başlama – Giriş metnindeki nesnenin başlangıcının bayt (karakter değil) cinsinden ofseti (viseme işaretleri hariç)
- son – Giriş metninde nesnenin sonunun bayt cinsinden (karakter değil) uzaklığı (viseme işaretleri hariç)
- değer - Cümledeki tek tek kelimeler
Oluşturulan altyazı dosyası S3 kovasına geri yazılır. dosyanın altında bulabilirsiniz <ROOT_S3_BUCKET>/<UID>/subtitlesOutput/
. Altyazı dosyasını inceleyin; içerik aşağıdaki metne benzer olmalıdır:
Altyazı dosyası ve ses dosyası oluşturulduktan sonra, MediaConvert kullanılarak nihai kaynak video dosyası oluşturulur. İş durumunun doğru olup olmadığını doğrulamak için MediaConvert konsolunu kontrol edin. COMPLETE
.
MediaConvert işi tamamlandığında, son video dosyası oluşturulur ve altında bulunabilen S3 kovasına geri kaydedilir. <ROOT_S3_BUCKET>/<UID>/convertedAV/
.
Bu dağıtımın bir parçası olarak, son video bir Amazon CloudFront (CDN) bağlantısı ve terminalde veya AWS CloudFormation konsol.
Orijinal videoyu ek ses ve altyazı seçenekleriyle görüntülemek için URL'yi bir tarayıcıda açın. Çevrilen ses ve altyazıların senkronize olduğunu doğrulayabilirsiniz.
Sonuç
Bu yazıda, manuel müdahaleye gerek kalmadan video dosyalarının yeni dil versiyonlarının nasıl oluşturulacağını tartıştık. İçerik oluşturucular, videolarının ses ve altyazılarını senkronize etmek ve küresel bir kitleye ulaşmak için bu süreci kullanabilir.
Büyük hacimleri işlemek ve ihtiyaçlarınıza göre ölçeklendirmek için bu yaklaşımı kendi üretim hatlarınıza kolayca entegre edebilirsiniz. Amazon Polly'nin kullandığı Nöral TTS (NTTS) doğal ve insan benzeri metin-konuşma sesleri üretmek. Ayrıca destekler SSML'den konuşma oluşturma, size Amazon Polly'nin sağlanan metinden nasıl konuşma oluşturduğu konusunda ek kontrol sağlar. Amazon Polly ayrıca bir çeşitli farklı sesler ihtiyaçlarınızı desteklemek için birden fazla dilde.
adresini ziyaret ederek AWS makine öğrenimi hizmetlerini kullanmaya başlayın. Ürün sayfasıveya başvurun Amazon Makine Öğrenimi Çözümleri Laboratuvarı Kuruluşunuza makine öğrenimi çözümleri getirmek için uzmanlarla işbirliği yapabileceğiniz sayfa.
Ek kaynaklar
Bu çözümde kullanılan hizmetler hakkında daha fazla bilgi için aşağıdakilere bakın:
yazarlar hakkında
reagan rosario AWS'de eğitim teknolojisi şirketlerine odaklanan bir çözüm mimarı olarak çalışıyor. Müşterilerin AWS Cloud'da ölçeklenebilir, yüksek düzeyde kullanılabilir ve güvenli çözümler oluşturmasına yardımcı olmayı seviyor. Yazılım mühendisliği ve mimarisine odaklanarak çeşitli teknoloji rollerinde çalışan on yıldan fazla bir deneyime sahiptir.
Anıl Kodali Amazon Web Services ile bir Çözüm Mimarıdır. AWS EdTech müşterileriyle birlikte çalışarak, mevcut iş yüklerini buluta geçirmeye ve bulut öncelikli bir yaklaşımla yeni iş yükleri tasarlamaya yönelik en iyi mimari uygulamalar konusunda onlara rehberlik ediyor. AWS'ye katılmadan önce, bulut geçişlerinde onlara yardımcı olmak için büyük perakendecilerle çalıştı.
Prasanna Saraswathi Krishnan Amazon Web Services ile EdTech müşterileri ile çalışan bir Çözüm Mimarıdır. En iyi uygulamaları kullanarak bulut mimarilerini ve veri stratejilerini yönlendirmelerine yardımcı olur. Geçmişi dağıtık bilgi işlem, büyük veri analitiği ve veri mühendisliğidir. Makine öğrenimi ve doğal dil işleme konusunda tutkulu.
- AI
- yapay zeka
- AI sanat üreteci
- yapay zeka robotu
- Amazon ML Çözümleri Laboratuvarı
- Amazon Polly
- Amazon Yazısı
- Amazon Tercüme
- yapay zeka
- yapay zeka sertifikası
- bankacılıkta yapay zeka
- yapay zeka robotu
- yapay zeka robotları
- yapay zeka yazılımı
- AWS Makine Öğrenimi
- blockchain
- blockchain konferans ai
- zeka
- konuşma yapay zekası
- kripto konferans ai
- dal-e
- derin öğrenme
- google ai
- makine öğrenme
- Platon
- plato yapay zekası
- Plato Veri Zekası
- Plato Oyunu
- PlatoVeri
- plato oyunu
- ölçek ai
- sözdizimi
- zefirnet