Используйте Auto Chapters для суммирования аудио- и видеофайлов в Python

Автоматические главы — это мощная функция, которая позволяет нам разбивать аудио/видео файлы на «главы», а затем автоматически создает сводку для каждой созданной главы.

Эта функция автоматических глав имеет различные приложения. На видеоплатформах, таких как YouTube, есть главы, которые помогают пользователям переходить к нужному контенту, а в проигрывателях подкастов есть главы, которые делают выпуски подкастов более доступными для поиска.

В этой статье я покажу вам, как мы можем использовать эту функцию в Python с помощью API AssemblyAI. Этот API будет выполнять преобразование речи в текст, а затем автоматически создавать главы с такими данными, как сводка, заголовок и суть.

Как суммировать аудио и видео файлы в Python

В этом руководстве мы создадим автоматические главы для видеообращения Стива Джобса в Стэнфорде в 2005 году, которое вы можете найти на YouTube. Видео длится около 15 минут, и я собираюсь использовать только аудиофайл речи в качестве входных данных.

Не стесняйтесь использовать свой собственный аудиофайл, но, чтобы получить максимальную отдачу от этой функции, убедитесь, что продолжительность используемого вами аудио превышает 5 минут.

Кроме того, нам нужно создать бесплатную учетную запись AssemblyAI, чтобы получить ключ API. После создания учетной записи перейдите на вкладку Главная и найдите поле Интегрировать API, чтобы скопировать ключ API.

Шаг 1: Загрузите свой аудиофайл и получите URL-адрес

Чтобы преобразовать речь в текст, а затем обобщить ее, нам нужно сначала загрузить аудиофайл в API AssemblyAI. Для этого нам нужно 2 входа — путь к нашему аудиофайлу (filename) и ключ API.

После этого мы создаем функцию, которая читает наш аудиофайл. Назовем эту функцию read_file. Мы будем вызывать эту функцию в почтовом запросе, чтобы загрузить наш аудиофайл. Этот почтовый запрос будет отправлен на конечную точку загрузки AssemblyAI.

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

Шаг 2: Отправьте запрос на выписку

На этом этапе мы отправляем почтовый запрос в конечную точку стенограммы AssemblyAI. Мы используем audio_url для отправки загрузки на расшифровку.

Обязательно добавьте пару ключ/значение ‘auto_chapters’: True в параметр json . Это поможет нам не только получить транскрипцию, но и обобщение.

В конце мы создаем переменную с именем transcript_id, представляющую идентификатор нашего представления, который мы будем использовать на шаге 3.

Шаг 3: Сохраните стенограмму и резюме

Чтобы получить расшифровку и сводку, сначала мы используем transcript_endpoint и transcript_id для создания переменной с именем polling_endpoint. Мы будем периодически отправлять запрос на получение этой конечной точке, чтобы проверить статус запроса, который мы отправили на шаге 2.

Только когда статус установлен на completed, мы сохраняем стенограмму в текстовом файле и сводку в файле JSON. Мы используем переменную transcript_id в качестве имени для этих двух файлов.

Вот и все! Теперь проверьте свой рабочий каталог, и вы найдете файл .txt с стенограммой и файл .json с кратким изложением.

Вот краткое содержание, заголовок и суть одного из разделов видео:

{
"summary": "You have to trust that the dots will somehow connect in your future. You have to trust in something your gut, destiny, life, karma, whatever. Because believing that the dots will connect down the road will give you the confidence to follow your heart, even when it leads you off the well worn path.",
"headline": "Because believing that the dots will connect down the road will give you the confidence to follow your heart, even when it leads you off the well worn path.",
"start": 312538,
"end": 342070,
"gist": "the dots will somehow connect"
    },

Теперь пришло ваше время попробовать это на себе. Вы можете найти код, использованный в этой статье, на моем Github.

Подпишитесь на мою рассылку с более чем 10 000 человек, чтобы получить мою памятку по Python для Data Science, которую я использую во всех своих руководствах (бесплатный PDF)

Если вам нравится читать такие истории и вы хотите поддержать меня как писателя, подумайте о том, чтобы зарегистрироваться и стать участником Medium. Это 5 долларов в месяц, что дает вам неограниченный доступ к тысячам руководств по Python и статьям по науке о данных. Если вы зарегистрируетесь по моей ссылке, я получу небольшую комиссию без каких-либо дополнительных затрат для вас.