I'm deaf, so I built offline live captions for Linux that make a third of the mistakes of Live Captions
청각장애인을 위해 만든 Linux 오프라인 실시간 자막 앱, Live Captions보다 오인식 3분의 1
NowCaption은 Linux에서 데스크톱 오디오나 마이크 음성을 실시간 자막으로 보여주는 오픈소스 앱입니다. 개발자는 자체 음성 모델이 선명한 음성에서 단어 오류율 2.5%를 기록했다고 밝혔으며, 앱은 CPU에서 오프라인으로 동작합니다.
- 주제
에디터 노트
접근성 도구로서의 가치는 로컬 처리와 실제 사용 환경에 맞춘 설정에서 드러납니다. 음성은 기기 밖으로 나가지 않고, 색상이나 위치를 조정할 수 있으며, 사용자의 요청으로 자막 색상 선택지도 추가했습니다. 다만 2.5%와 8.1%는 개발자가 같은 테스트에서 얻었다고 제시한 수치입니다. 제공된 설명에는 테스트 데이터의 구성과 평가 절차가 없어 다른 언어나 잡음 환경의 성능까지 나타내지는 않습니다. 댓글에서도 영어 콘텐츠와 스페인어 콘텐츠의 차이가 언급됐고, 개발자는 현재 모델이 영어에 최적화됐다고 답했습니다. 음악과 대화가 섞인 입력에서의 성능은 질문만 있고 확인 결과는 없습니다. 여러 사람이 한 오디오 트랙에 합쳐지는 앱에서는 화자 식별도 어렵다고 개발자가 설명합니다. 따라서 지금 확인되는 범위는 Linux에서 영어 음성을 로컬 처리하는 자막 앱이며, 다국어와 혼합 음성 처리는 별도의 과제로 남아 있습니다.
AI 요약
Linux 데스크톱에서 재생하는 영상, 통화, 게임 등의 소리나 마이크 입력을 작은 창에 실시간 자막으로 표시하는 NowCaption이 공개됐습니다. 청각장애인과 난청인을 위한 앱으로, 음성을 외부로 보내지 않고 CPU에서 처리합니다. GPU나 계정도 필요하지 않습니다.
모델과 성능
개발자는 NVIDIA FastConformer 스트리밍 모델을 미세 조정한 자체 음성 인식 모델을 사용합니다. 모델은 int8 ONNX 형식이며 80ms의 lookahead를 둡니다. 선명한 음성 테스트에서 단어 오류율은 2.5%로, upstream Live Captions의 8.1%보다 낮았다고 합니다. Reddit 게시물에서는 같은 테스트 기준 자막 표시 지연이 약 0.25초 대 0.42초, 메모리 사용량이 약 280MB 대 895MB라고 설명합니다. 문장부호와 대문자 표기에는 Edge-Punct-Casing을 사용합니다. 음성 모델은 CC-BY-4.0, 문장부호 모델은 Apache-2.0, 앱 코드는 MIT 라이선스입니다.
설치와 사용
Flathub가 아닌 프로젝트 제공 Flatpak 저장소에서 설치할 수 있으며 x86_64와 ARM64를 지원합니다. KDE Plasma, Hyprland, Sway에서는 자막 창이 다른 창 위에 표시됩니다. GNOME에서는 창 메뉴에서 Always on Top을 직접 선택해야 합니다. 글자 크기와 색상, 배경, 위치를 바꿀 수 있고, 대본을 복사하거나 저장하거나 지울 수도 있습니다. 설정은 재실행과 업데이트 뒤에도 유지됩니다.
개발자는 강한 억양이나 불분명한 녹음에서는 음성 모델이 앞선 문맥을 확보하지 못해 정적 뒤 첫 단어를 놓치거나 잘못 인식하기 쉽다고 설명합니다. 현재 모델은 영어에 최적화되어 있으며, 다국어 지원은 개발 초기 단계입니다.
Reddit 반응
- @J4mi7 — 흰색보다 노란색 자막을 선호합니다. 노란색, 시안색, 라임색을 추가할 수 있을까요? Live Caption Live 개발자에게 색상 추가를 요청했지만 반영되지 않았습니다.
- @Techlm77 — 좋습니다. 추가되면 알려드리겠습니다.
- @Techlm77 — 새 업데이트에 추가했습니다.
- @dra_cula — Live Captions를 시험했을 때 영상 앞부분에 대화와 함께 인트로 음악이 나오자 음악과 대화를 구별하지 못하고 몇 분 동안 자막에 [음악]만 표시했습니다. 이 앱은 더 잘 처리할 수 있는지 궁금합니다.
- @redonculous — 회의 자막을 저장할 수 있나요? 화자 식별 기능도 있나요?
- @Techlm77 — 저장은 가능합니다. 다만 Discord나 VRChat 같은 앱은 여러 사용자의 오디오를 하나의 트랙으로 합치기 때문에 개별 목소리를 분리하고 화자를 식별하기 어렵습니다.
- @GwynSunlight — 영어 콘텐츠에서는 잘 작동하지만 스페인어에서는 그렇지 않습니다.
- @Techlm77 — 현재 모델은 영어에 맞춰 최적화했습니다. 다국어 지원을 계획하고 조사 중이지만, 실시간 다국어 모델은 정확도와 지연 시간에서 단점이 있습니다. 앞으로 스페인어 지원도 개선하겠습니다.
- @South_Plant_7876 — '실수를 3분의 1로 만든다'보다 '오류를 3분의 2 줄인다'고 표현하는 편이 더 좋습니다.
- @Techlm77 — 알려줘서 고맙습니다. 지금 바꾸겠습니다. 게시물 제목은 수정할 수 없다는 걸 방금 알았습니다.
원문: Reddit / 번역·요약: Trawling