Storyteller: как алгоритм выравнивания синхронизирует электронные и аудиокниги

Automating Immersive Reading

Автор рассказывает о разработке алгоритма выравнивания для Storyteller — платформы, которая синхронизирует текст электронной книги с аудиозаписью, используя спецификацию EPUB Media Overlays. Он описывает трудности, с которыми сталкиваются существующие системы: разный порядок глав, пропущенные фрагменты и альтернативные формулировки. Решение основано на применении модели MMS для генерации CTC-эмиссий и последующего поиска границ глав в аудио. В статье подробно объясняются основы CTC, Wav2Vec 2.0 и жадного декодирования.

Мы можем взять аудио, подать его в MMS порциями и получить CTC-эмиссии — двухмерную матрицу, где каждый вектор содержит вероятности символов для каждого 20-миллисекундного фрейма аудио.
  1. smoores

    На днях я взял неделю отпуска, чтобы заново реализовать алгоритм принудительного выравнивания Storyteller. Storyteller[1] — это открытая, самостоятельно размещаемая платформа для создания, управления и чтения/прослушивания «читаемых вслух» книг — книг, в которые встроено озвучивание и которые могут подсвечивать каждое предложение (и/или слово, с помощью этого нового алгоритма!) по мере чтения вслух. Принудительное выравнивание — это процесс определения того, где каждый фрагмент текста начинается и заканчивается в аудиокниге.

    В любом случае, я очень доволен тем, как получился новый алгоритм! Надеюсь, кому-то ещё он покажется интересным.

    [1] https://storyteller-platform.dev

  2. SamBam

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

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

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

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

    Можно также попробовать интерфейсы, где подсветка была бы более «размытой», сосредоточенной на произносимом слове, но переходящей на соседние слова (возможно, до жёсткой остановки на границе предложения), чтобы вести глаз к нему. Я представляю что-то вроде красно-синего цвета текста в редакторе BeeLine.

  3. cainxinth

    Именно так я вычитываю тексты. Я включаю программу чтения с экрана, пока читаю свою работу. Мозг выполняет некоторую автокоррекцию, которую вы даже не замечаете, и иногда пропускает опечатку, когда вы читаете без аудио.

  4. mobeets

    Это действительно впечатляет! Одна из вещей, которую я часто хотел, — это способ слушать электронную книгу (например, во время готовки), а затем позже сесть и читать с того места, где остановился. По сути, это требует той же функциональности, которую предлагает Storyteller (синхронизация прогресса в электронной книге и аудиокниге), хотя, возможно, это излишне для данного случая (поскольку я мог бы обойтись более грубым выравниванием). В любом случае, подходит ли Storyteller для этого? Или есть другие инструменты для этой задачи?

  5. orphereus

    Какова цель этого вне людей с ограниченными возможностями? Зачем нужна подсветка слов, это как те TikTok и IG Reels, где показывают одно слово за раз, чтобы удержать ваше внимание.

    Конечно, если вам нужно это для чтения книги (опять же, кроме каких-либо ограничений), вам следует прекратить свои текущие привычки.

Ещё за этот день

2026-08-30