ГлавнаяБлог → Расшифровка подкаста: шоу-ноуты, главы и выпуски, которые находит поиск

Расшифровка подкаста: шоу-ноуты, главы и выпуски, которые находит поиск

Опубликовано 2026-08-18 · 6 мин чтения

Для поисковика звук невидим. Часовой выпуск, набитый экспертными ответами, приносит ровно столько же органического трафика, сколько пустая страница, — пока вы не опубликуете текст. Расшифровка заодно оказывается самым дешёвым источником шоу-ноутов, глав, цитат и постов для соцсетей.

Что расшифровка даёт подкасту

Один запрос на распознавание закрывает сразу четыре задачи:

Подготовка файла

Отправляйте выпущенную версию — сведённую и отмастеренную, а не исходные дорожки. Если она не влезает в лимит запроса в 25 МБ, пережмите отдельную копию только для распознавания:

ffmpeg -i episode-42.wav -ac 1 -ar 16000 -b:a 48k episode-42.mp3

Эта копия нужна только для расшифровки, поэтому потеря качества роли не играет: моно 16 кГц — то, с чем модель и так работает внутри.

Получаем текст с таймкодами

Запрашивайте verbose_json: возвращается и полный текст, и сегменты с временем начала и конца, а главы строятся именно из сегментов.

from openai import OpenAI

client = OpenAI(base_url="https://voicesscribe.com/v1", api_key="ваш ключ")

with open("episode-42.mp3", "rb") as f:
    r = client.audio.transcriptions.create(
        model="whisper-1", file=f,
        response_format="verbose_json",
        prompt="Гость: Мария Алварес, технический директор Nordwind Systems. Темы: наблюдаемость, OpenTelemetry, дежурства.",
    )

open("episode-42.txt", "w", encoding="utf-8").write(r.text)

Имя гостя, компанию и главные термины кладите в prompt. Имена собственные общая модель путает первыми — и именно их люди набирают в поиске.

Собираем главы из сегментов

Главы — это всего лишь таймкоды с названиями. Сгруппируйте сегменты в блоки по несколько минут, а названия попросите у языковой модели:

blocks, cur, start = [], [], 0
for s in r.segments:
    cur.append(s.text)
    if s.end - start > 300:            # блоки примерно по пять минут
        blocks.append((start, " ".join(cur)))
        cur, start = [], s.end
blocks.append((start, " ".join(cur)))

for t, text in blocks:
    print(f"{int(t)//60:02d}:{int(t)%60:02d}  {title_for(text)}")

Результат кладётся прямо в описание выпуска на площадках, которые понимают таймкоды глав, и на страницу выпуска на вашем сайте.

Пишем шоу-ноуты из расшифровки

Шоу-ноуты — это сводка плюс ссылки плюс цитаты. Черновик всех трёх частей получается из текста за один проход:

notes = llm(f"""По расшифровке подкаста сделай:
- аннотацию выпуска в два предложения,
- пять пунктов о том, что именно утверждает гость,
- три цитаты дословно,
- список всех упомянутых книг, инструментов и компаний.

{transcript}""")

Список имён и продуктов обязательно проверяйте руками. Расшифровка точна на обычной речи и наименее надёжна ровно там, где встречаются имена собственные, — а именно там фактическая ошибка заметнее всего.

Публикуем так, чтобы текст читали поисковики

Расшифровка работает на поиск, только если она лежит на странице текстом:

Не выкладывайте сырой вывод распознавания. Десять минут на разбивку по абзацам и правку имён — это разница между страницей, которую читают, и стеной текста, с которой уходят.

Во сколько это обходится

Оплата идёт за минуты аудио, поэтому арифметика предсказуема: еженедельное шоу с часовыми выпусками — это около четырёх часов расшифровки в месяц. Это самая дешёвая часть подкаста: дешевле хостинга и несопоставимо дешевле монтажа, из которого выпуск получился.

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

Попробуйте на своих записях. Регистрация занимает минуту, бесплатных минут хватает, чтобы оценить качество.

Получить ключ бесплатно

Частые вопросы

Публиковать полную расшифровку или только сводку?

Публикуйте полный текст: именно он делает выпуск находимым по длинным низкочастотным запросам, на которые отвечал гость. Короткая аннотация сверху помогает читателю решить, читать ли дальше.

Правильно ли распознаётся имя гостя?

Передайте имя и компанию в параметре prompt — обычно этого достаточно. Имена собственные остаются слабым местом любой модели распознавания, поэтому перед публикацией их стоит проверить.

Как получить главы с таймкодами?

Запросите verbose_json: в ответе будут сегменты с временем начала и конца. Сгруппируйте их в блоки по несколько минут и дайте каждому название.

Можно ли расшифровать выпуск с двумя ведущими и гостем?

Да, речь распознаётся полностью, но один сведённый файл не размечается по говорящим. Если сохранилась многодорожечная сессия, расшифруйте дорожки по отдельности.

Что делать с выпуском на двух языках?

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

Читайте также