핵심 요약
- 전자책과 오디오북 파일을 넣으면 자동으로 음성과 텍스트 위치를 맞춰주는 도구 '스토리텔러'의 동기화 원리가 소개되었습니다.
- 단순 음성 정렬과 달리 챕터 순서 차이, 생략된 텍스트, 낭독 시 단어 변경 등 책 매체 특유의 불일치 문제를 해결해야 했습니다.
- 조잡한 파이썬 스크립트로 시작해 현재는 모바일 앱과 리더기 플러그인까지 지원하는 소프트웨어 생태계로 발전했습니다.
요약 오디오북을 들으면서 전자책(EPUB)의 텍스트가 오디오 재생에 맞춰 한 줄 한 줄 하이라이트되는 '몰입형 독서(Immersive Reading)' 환경을 자동으로 만들어주는 오픈소스 도구 '스토리텔러(Storyteller)'의 개발 일지가 공개되었습니다.
스토리텔러는 사용자가 전자책 파일과 오디오북 파일을 넣기만 하면, 사용자의 추가 입력 없이 오디오 속 단어와 전자책 텍스트의 위치를 자동으로 찾아내 동기화해 줍니다. 이후 EPUB 규격에 내장된 오디오 동기화 시스템인 '미디어 오버레이(Media Overlays)'를 활용해 낭독에 맞춰 문장이 실시간 하이라이트되는 일체형 EPUB 파일을 생성합니다.
개발자에 따르면 프로젝트 초기는 복잡하게 얽힌 while 루프로 이루어진 조잡한 파이썬 스크립트 하나로 시작되었습니다. 당시에는 미디어 오버레이를 지원하는 전자책 뷰어 앱이나 기기가 거의 없어 직접 휴대폰 뷰어 앱으로 테스트를 거쳐야 했습니다.
특히 단순한 음성 정렬과 달리 책 매체 특유의 복잡한 난관들이 존재했습니다. 오디오북은 전자책과 챕터 순서가 다르거나(예: 서문이나 감사의 글이 오디오북에선 맨 뒤에 배치), 한쪽에만 존재하는 챕터(전자책의 목차/부록 생략 등)가 흔합니다. 또한 낭독 과정에서 일부 문장이 통째로 누락되거나, 오디오북 특성에 맞춰 '읽다'라는 단어를 '듣다'로 바꾸어 낭독하는 등 텍스트 불일치 문제가 발생합니다. 개발자는 이러한 현실적인 데이터 불일치 문제를 해결하며 초기 스크립트 수준이던 프로젝트를 웹, 모바일, e-리더 플러그인을 아우르는 대규모 소프트웨어 생태계로 발전시켰다고 밝혔습니다.
Sponsored · 광고