Overtone Captions: 반응형 비디오를 위한 다중 형식 자막 시스템
개요
Overtone은 다양한 화면 종횡비에 적응하는 반응형 자막을 생성하여 경직된 일률적 자막 문제를 해결하기 위해 설계된 자막 시스템입니다. 단일 .overtone.json 파일에 단어 단위 타이밍과 화자 데이터를 저장함으로써, 개발자는 16:9 데스크톱 플레이어와 9:16 모바일 소셜 미디어 형식 등 다양한 플레이어 형태에 맞는 고유한 자막 컷을 하나의 소스에서 생성할 수 있습니다.
반응형 자막 및 서식 지정
WebVTT나 TTML과 같은 기존 자막 형식은 완성된 큐를 저장하므로, 플레이어가 다양한 화면 너비에 맞춰 텍스트를 효과적으로 재배치하는 데 한계가 있습니다. Overtone은 각 발화 단어를 관련 타임스탬프 및 화자 식별자와 함께 저장함으로써 이 문제를 해결합니다.
이 접근 방식을 통해 시스템은 다양한 디스플레이 프로필에 특정 줄 바꿈 규칙을 적용할 수 있습니다. 이러한 규칙은 약한 단어(예: "the" 또는 "of")에서 줄 바꿈을 피하고, 이름과 숫자를 함께 유지하며, 말하기 중의 일시 정지가 텍스트의 끊김으로 반영되도록 하여 언어적 가독성을 우선시합니다. 이 시스템에는 웹 기반 비디오 플레이어에 이러한 반응형 자막을 원활하게 통합할 수 있는 video.js 플러그인이 포함되어 있습니다.
전사 및 처리 파이프라인
Overtone은 전사 정확도와 서식을 개선하기 위해 다중 엔진 파이프라인을 활용합니다.
- 전사: 이 시스템은 여러 엔진을 사용하여 오디오를 처리합니다. 텍스트 기반 엔진(
gpt-transcribe)이 단어 식별을 처리하고, 타이밍 엔진(Azure AI Speech)이 단어 단위 타임스탬프와 화자 레이블을 제공합니다. - 교정: LLM 기반 편집기가 전사 내용을 검토하여 잘못 들은 용어를 수정하고, 화자를 식별하며, 핵심 단어에 레이블을 지정합니다. 제공된 문맥과 용어집을 사용하여 정확도를 높이고, 불확실한 수정 사항은 수동 검토를 위해 표시합니다.
- 재편집: 기존 자막(SRT 또는 WebVTT)은
overtone recut명령을 사용하여 시스템으로 가져올 수 있으며, 전체 재전사 없이도 큐를 Overtone 형식으로 다시 처리할 수 있습니다.
성능 및 벤치마크
Overtone은 표준 자동 자막 방식에 비해 "조용한 실패"를 최소화하고 줄 바꿈 품질을 개선하는 데 중점을 둡니다. 벤치마크에 따르면 Overtone은 표준 길이 제한 기반 알고리즘과 비교하여 접속사나 전치사로 줄이 끝나는 어색한 줄 바꿈 빈도를 크게 줄이는 것으로 나타났습니다. 이 시스템은 확장 가능하도록 설계되어 다양한 전사 제공업체를 지원하며 언어별 규칙 세트를 위한 모듈식 아키텍처를 제공합니다.
커뮤니티 피드백
이 프로젝트를 둘러싼 논의는 현대 미디어에서 자동 자막의 품질 저하에 대한 커지는 불만을 강조합니다. 사용자들은 현재 업계 표준이 정확도가 낮고 인간의 감독이 부족한 경우가 많다고 지적했습니다. 향후 기능의 잠재력과 관련하여, 댓글 작성자들은 화면 텍스트 번역을 더 잘 처리할 수 있기를 강력히 희망했습니다.
"화면상의 외국어 텍스트를 번역할 수 있는 시스템이 반드시 마련되기를 간곡히 부탁드립니다. 약간 차별화된 폰트를 사용하는 것이 가장 이상적입니다. 누군가 다른 언어로 된 표지판 옆을 지나갈 때 그에 대한 코멘트는 번역되지만, 정작 표지판은 번역되지 않는 경우가 너무 많습니다!" — @handle
기술적 구현
Overtone은 처리용 CLI, 재생용 video.js 플러그인, 형식 사양 패키지를 포함한 Node.js 패키지 세트로 구축되었습니다. whisper.cpp 및 Ollama를 통한 오프라인 처리나 OpenAI 및 Azure와 같은 제공업체를 통한 클라우드 기반 처리를 지원합니다. 이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되며 GitHub에서 사용할 수 있습니다.