작동 방식
Wavetotext는 브라우저 안에서만 실행되는 무료 음성 텍스트 변환기입니다.
음성 모델
받아쓰기에는 OpenAI가 공개한 오픈 소스 음성 인식 모델 Whisper를 씁니다. Hugging Face 커뮤니티가 브라우저용으로 바꾼 tiny, base, small 버전을 오픈 소스 라이브러리 Transformers.js로 불러옵니다. 브라우저가 WebGPU를 지원하면 모델이 그래픽카드에서 실행됩니다. 저희 테스트에서는 프로세서보다 약 5배 빨랐지만 그래픽카드에 따라 다릅니다.
파일은 이렇게 처리됩니다
- 브라우저가 오디오를 열어 Whisper가 쓰는 16kHz 모노로 바꿉니다. 브라우저가 열지 못하는 동영상은 역시 브라우저에서 실행되는 동영상 변환기 ffmpeg를 거칩니다.
- 단어가 잘리지 않도록 자르는 지점 근처의 가장 조용한 순간에서 최대 30초 길이로 나눕니다. 소리가 없는 부분은 건너뜁니다.
- Whisper가 각 부분을 타임스탬프가 붙은 텍스트로 바꿉니다. 이 작업은 백그라운드에서 돌아가므로 페이지가 멈추지 않습니다.
- 나눈 부분을 하나로 합쳐 고치고 복사하고 내려받을 수 있는 텍스트로 만듭니다.
- 화자 구분을 켜면 pyannote 모델이 1분 단위로 누가 언제 말하는지 표시합니다. 그다음 WeSpeaker 모델이 화자마다 목소리 지문을 만들고, 비슷한 지문끼리 묶어 화자 1, 화자 2 식으로 나눕니다.
여러 파일
추가한 파일은 목록에 들어가 하나씩 처리되므로 많은 파일을 넣어도 기기에 무리가 가지 않습니다. 끝난 텍스트는 브라우저에 저장되어 나중에 다시 볼 수 있습니다.
한계
작은 Whisper 모델은 서버에서 돌아가는 큰 모델보다 정확도가 낮습니다. 이름과 드문 단어를 잘못 듣고, 큰 소음과 겹치는 말에 약하며, 학습 데이터가 적은 언어에서 약합니다. 화자 구분은 추정입니다. 비슷한 목소리, 짧은 대답, 동시에 하는 말은 이름표가 틀릴 수 있습니다.
문의
Wavetotext는 Wavetotext 팀이 운영합니다. 질문, 오류, 아이디어: [email protected]