Создавайте синхронизированные субтитры и звук с помощью генератора субтитров Amazon Polly.

Amazon PollyСлужба преобразования текста в речь, созданная с помощью искусственного интеллекта, позволяет автоматизировать и масштабировать ваши интерактивные голосовые решения, помогая повысить производительность и сократить расходы.

Поскольку наши клиенты продолжают использовать Amazon Polly из-за его богатого набора функций и простоты использования, мы заметили спрос на возможность одновременного создания синхронизированного звука и субтитров или скрытых титров для заданного ввода текста. В AWS мы постоянно работаем в обратном направлении от запросов наших клиентов, поэтому в этом посте мы описываем метод одновременной генерации аудио и субтитров для заданного текста.

Хотя субтитры и титры часто используются взаимозаменяемо, в том числе в этом посте, между ними есть небольшие различия:

  • Субтитры – В субтитрах язык текста, отображаемый на экране, отличается от языка аудио и не отображает ничего недиалогового, например значимых звуков. Основная цель — охватить аудиторию, которая не говорит на языке аудио в видео.
  • Субтитры (закрытые/открытые) - Субтитры отображают диалоги, которые произносятся в аудио на том же языке. Его основная цель — повысить доступность в тех случаях, когда звук не может быть услышан конечным потребителем из-за ряда проблем. Скрытые титры являются частью файла, отличного от источника аудио/видео, и могут включаться и выключаться по усмотрению пользователя, в то время как открытые титры являются частью видеофайла и не могут быть отключены пользователем.

Преимущества использования Amazon Polly для создания аудио с субтитрами или субтитрами

Представьте себе следующий вариант использования: вы готовите презентацию на основе слайдов для портала онлайн-обучения. Каждый слайд включает в себя экранный контент и повествование. Контент на экране представляет собой базовую схему, а повествование переходит в детали. Вместо того, чтобы записывать человеческий голос, что может быть громоздким и непоследовательным, вы можете использовать Amazon Polly для создания повествования. Amazon Polly производит высококачественные, согласованные голоса. Нет необходимости в постпродакшне. В будущем, если вам потребуется обновить часть презентации, вам нужно будет обновить только затронутые слайды. Голос соответствует оригинальным слайдам. Кроме того, когда Amazon Polly генерирует аудио, добавляются субтитры, которые появляются синхронно с аудио. Вы экономите время, потому что не требуется ручная запись, и экономите дополнительное время, когда требуются обновления. Ваша презентация также имеет большую ценность, поскольку подписи помогают учащимся воспринимать контент. Это беспроигрышное решение.

Существует множество вариантов использования субтитров, например реклама в социальных сетях, спортзалах, кофейнях и других местах, где обычно что-то показывают по телевизору с отключенным звуком и фоновой музыкой; онлайн-обучение и занятия; виртуальные встречи; публичные электронные объявления; смотреть видео в дороге без наушников и не мешая попутчикам; и еще несколько.

Независимо от области применения, субтитры могут помочь в следующем:

  • Универсальный доступ – Люди с нарушениями слуха могут лучше воспринимать ваш контент.
  • Сохранение – Онлайн-обучение легче воспринимается и запоминается электронными учащимися, когда задействовано больше человеческих органов чувств.
  • достижимость – Ваш контент может дойти до людей, у которых есть конкурирующие приоритеты, например, игры и просмотр новостей одновременно, или люди, чей родной язык отличается от языка аудио.
  • Возможности поиска - Контент доступен для поиска поисковыми системами. В то время как большинство поисковых систем не могут оптимально искать видео, поисковые системы могут использовать текстовые файлы субтитров и сделать ваш контент более доступным для поиска.
  • Социальная вежливость – Иногда может быть грубо воспроизводить звук из-за вашего окружения, или звук может быть плохо слышен из-за окружающего шума.
  • постижение – Содержание легче понять независимо от акцента говорящего, родного языка говорящего или скорости речи. Вы также можете делать заметки, не просматривая повторно одну и ту же сцену.

Обзор решения

Библиотека, представленная в этом посте, использует Amazon Polly для генерации звука и субтитров для вводимого текста. Вы можете легко интегрировать эту библиотеку в свои приложения для преобразования текста в речь. Он поддерживает несколько аудиоформатов и субтитры в форматах файлов VTT и SRT, которые наиболее часто используются в отрасли.

В этом посте мы сосредоточимся на PollyVTT() синтаксис и опции, а также предложить несколько примеров, демонстрирующих, как использовать Python SubtitleGeneratorForPolly для одновременной генерации синхронных файлов аудио и субтитров для заданного ввода текста. Формат выходного аудиофайла может быть PCM(wav), OGG или MP3, а формат файла субтитров может быть VTT или SRT. Более того, SubtitleGeneratorForPolly поддерживает все Amazon Polly synthesize_speech параметров и расширяет богатый набор функций Amazon Polly.

Ассоциация polly-vtt библиотека и ее зависимости доступны на GitHub.

Установите и используйте функцию

Прежде чем мы рассмотрим некоторые примеры использования PollyVTT(), функция, которая питает SubtitleGeneratorForPolly, давайте посмотрим на его установку и синтаксис.

Установите библиотеку, используя следующий код:

pip install

Чтобы запустить из командной строки, вы просто запускаете polly-vtt:

Usage: polly-vtt [OPTIONS] BASE_FILENAME VOICE_ID OUTPUT_FORMAT TEXT

Следующий код показывает ваши варианты:

--caption-format TEXT 'srt' or 'vtt'
--help Show this message and exit. 

BASE_FILENAME: Base filename for both the audio and caption files 
VOICE_ID: Polly voice to use (Case-sensitive)
OUTPUT_FORMAT: Amazon Polly output format: pcm, mp3, ogg_vorbis 
TEXT: Full text to be digitized 
Caption format: srt or vtt

Давайте теперь рассмотрим несколько примеров.

Пример 1

В этом примере создается аудиофайл PCM вместе с файлом субтитров SRT для двух простых предложений:

$ polly-vtt testfile Joanna pcm "this is a test. this is a second sentence." --caption-format srt 

testfile.wav written successfully.
testfile.wav.srt written successfully.
Total Audio Length: 0:00:03.017500 
# of Sentences: 2

Пример 2

В этом примере показано, как использовать абзац текста в качестве входных данных. При этом создаются аудиофайлы в форматах WAV, MP3 и OGG, а также субтитры в форматах SRT и VTT. В следующем примере создается шесть файлов для заданного входного текста:

  • pcm_testfile.wav
  • pcm_testfile.wav.vtt
  • mp3_testfile.mp3
  • mp3_testfile.mp3.vtt
  • ogg_testfile.ogg
  • ogg_testfile.ogg.srt

Смотрите следующий код:

from polly_vtt import PollyVTT 

text = "News content is shaped by its own unique characteristics. Sentences and paragraphs are usually short and highly in formative because writers have to compress information into a limited space. Depending on the theme, news articles may con tain relevant terminology, place names, abbreviations, people’s names, and quotes. Excellent news writing is clear, precis e, and avoids ambiguity. The writing is dynamic, especially in online articles, because content may get updated multiple times per day as new information becomes available." 

polly_vtt = PollyVTT() 

# pcm with VTT captions 
polly_vtt.generate( 
"pcm_testfile", 
Text=text, 
VoiceId="Joanna", 
OutputFormat="pcm", 
) 

# mp3 with VTT captions 
polly_vtt.generate( 
"mp3_testfile", 
Text=text, 
VoiceId="Joanna", 
OutputFormat="mp3", 
)
 
# ogg with SRT captions 
polly_vtt.generate( 
"ogg_testfile", 
"srt",
Text=text, 
VoiceId="Joanna", 
OutputFormat="ogg_vorbis", 
) 

Пример 3

Однако в большинстве случаев вы хотите передать текст в качестве входного файла. Ниже приведен пример этого на Python с тем же выводом, что и в предыдущем примере:

from polly_vtt import PollyVTT
import os
import boto3
import json

polly_vtt = PollyVTT()

try:
	f=open("input.txt", "r")
	print("file is opened")
	polly_vtt.generate(
	"pcm_testfile",
	Text=f.read(),
	VoiceId="Joanna",
	OutputFormat="pcm",
	)
	f.close()
except:
	print("error occurred while converting to PCM")
print("end of file")

# mp3 with VTT captions
try:
	f=open("input.txt", "r")
	print("file is opened")
	polly_vtt.generate(
	"mp3_testfile",
	Text=f.read(),
	VoiceId="Joanna",
	OutputFormat="mp3",
	)
	f.close()
except:
	print("error occurred while converting to MP3")
print("end of file")

# ogg with SRT captions
try:
	f=open("input.txt", "r")
	print("file is opened")
	polly_vtt.generate(
	"ogg_testfile",
	"srt",
	Text=f.read(),
	VoiceId="Joanna",
	OutputFormat="ogg_vorbis",
	)
	f.close()
except:
	print("error occurred while converting to OGG")
print("end of file")

Ниже приводится отзыв внутренней группы обучения AWS об использовании Amazon Polly со скрытыми субтитрами:

В следующем видеоролике представлена ​​короткая демонстрация того, как команда внутреннего обучения AWS использует PollyVTT():

Заключение

В этом посте мы поделились методом одновременной генерации аудио и субтитров для заданного текста. PollyVTT() функции и SubtitleGeneratorForPolly эффективное и действенное решение общего требования к субтитрам. Команда Amazon Polly продолжает изобретать и предлагать упрощенные решения для сложных требований клиентов.

Дополнительные руководства и информацию об Amazon Polly см. Блог машинного обучения AWS.


Об авторах

Создавайте синхронизированные субтитры и аудио с помощью генератора субтитров Amazon Polly PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Абхишек Сони является архитектором партнерских решений в AWS. Он работает с клиентами, чтобы предоставить технические рекомендации по оптимальному результату рабочих нагрузок на AWS.

Создавайте синхронизированные субтитры и аудио с помощью генератора субтитров Amazon Polly PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай. Дан Макки использует аудио, видео и кофе для преобразования контента в целевые, модульные и структурированные курсы. В своей роли руководителя проекта Curriculum Developer для домена NetSec в Amazon Web Services он использует свой опыт в области сетей центров обработки данных, чтобы помочь экспертам в данной области воплощать идеи в жизнь.

Создавайте синхронизированные субтитры и аудио с помощью генератора субтитров Amazon Polly PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Орландо Карам является техническим разработчиком учебной программы в Amazon Web Services, что означает, что он может поиграть с новыми интересными технологиями, а затем рассказать об этом. Иногда он также использует эти крутые технологии, чтобы облегчить себе работу.

Отметка времени:

Больше от Машинное обучение AWS