Storyteller: 오디오북과 전자책을 자동으로 정렬하는 알고리즘

Automating Immersive Reading

Storyteller는 사용자가 제공한 전자책과 오디오북을 자동으로 정렬하여 각 단어가 오디오에서 언제 발화되는지 찾아내는 오픈소스 프로젝트입니다. 이 글은 그 핵심인 강제 정렬 알고리즘의 작동 방식을 설명합니다. 챕터 순서 불일치, 누락된 챕터, 건너뛴 구절, 대체 단어 선택 등 책에서 흔히 발생하는 문제를 해결하기 위해, 저자는 MMS 모델의 CTC emissions을 활용한 탐색 알고리즘과 경계 검색 기법을 개발했습니다. 이 과정을 통해 독자는 오디오북을 들으며 전자책의 문장이 하이라이트되는 몰입형 독서 경험을 할 수 있습니다.

우리는 오디오의 전체적이고 정확한 전사를 얻을 수는 없지만, 어느 정도의 텍스트 표현은 얻을 수 있습니다. Massively Multilingual Speech 모델을 사용하여 CTC emissions을 생성하고, 이를 greedy decoding하여 텍스트를 만들어낼 수 있습니다.
  1. smoores

    최근에 일주일 휴가를 내서 Storyteller의 강제 정렬 알고리즘을 다시 구현했습니다. Storyteller[1]는 '소리내어 읽는 책' — 오디오북 내레이션이 내장되어 있고, 읽는 동안 각 문장(그리고 이 새로운 알고리즘으로는 단어까지!)을 강조할 수 있는 책 — 을 만들고 관리하고 읽거나 들을 수 있는 오픈소스 자체 호스팅 플랫폼입니다. 강제 정렬은 오디오북에서 각 텍스트 조각이 시작하고 끝나는 위치를 결정하는 과정입니다.

    어쨌든, 새 알고리즘이 어떻게 완성됐는지 정말 만족스럽습니다! 다른 누군가에게도 흥미롭게 다가가길 바랍니다.

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

  2. SamBam

    개별 단어 강조가 읽기 장애가 있는 사람들에게 가장 좋은지, 아니면 넓은 범위의 전체 문장 강조가 실제로 더 나을지 궁금합니다.

    내가 읽을 때 내 눈은 문장을 왔다 갔다 뛰어다닙니다. 데모에서 이 점이 아주 분명하게 드러났습니다. 강조된 단어만 따라가기가 정말 어려웠습니다.

    제가 아주 훌륭한 독자라고 생각하는 사람이라는 점을 예로 들면, 눈이 문장을 자유롭게 오갈 수 있는 것이 이점이 있는지 궁금합니다.

    이미 문장을 강조하고 있으니 사용자 선호도 토글 같은 간단한 문제일 거라고 생각합니다.

    또한 강조가 더 '퍼져 있는' UI를 시도할 수도 있습니다. 말하는 단어에 초점을 맞추되 양쪽의 다른 단어들로 번져 나가(아마도 문장 경계의 마침표까지) 눈을 그쪽으로 이끄는 방식입니다. BeeLine 편집기의 빨강-파랑 텍스트 색상 같은 것을 상상하고 있습니다.

  3. cainxinth

    이것이 제가 교정하는 방법입니다. 제 작업을 읽는 동안 화면 읽기 프로그램을 재생합니다. 뇌는 눈치채지 못하는 사이에 자동 교정을 하고, 오디오 없이 읽을 때는 가끔 오타를 건너뛰기도 합니다.

  4. mobeets

    정말 인상적입니다! 제가 자주 원했던 것 중 하나는 (예를 들어 요리하면서) 전자책을 듣고 나중에 앉아서 중단한 부분부터 읽을 수 있는 방법입니다. 이는 본질적으로 Storyteller가 제공하는 기능(전자책과 오디오북의 진행 상황 동기화)과 동일한 기능을 필요로 하지만, 이 사용 사례에는 과할 수도 있습니다 (더 거친 정렬로도 충분할 수 있으므로). 어쨌든, Storyteller가 이런 용도에 적합한가요? 아니면 이 작업을 위한 다른 도구가 있나요?

  5. orphereus

    장애가 없는 사람들에게 이것의 목적은 무엇인가요? 왜 단어 강조가 필요한가요? TikToks나 IG 릴스에서 한 번에 한 단어씩 보여주며 시선을 사로잡는 것과 같습니다.

    확실히, (장애가 없는 경우) 이걸로 책을 읽어야 한다면, 현재의 습관을 멈춰야 합니다.

이 날의 다른 글

2026-08-30