Subot 프로젝트에 대하여 (v1)
2024년 11월 10일
소개 #
계기 #
내 분야에서는 중국에 고수가 정말 많다.
일하다가 정말 좋은 정보가 많은 kanxue 라는 중국 사이트를 찾게됐고, 그 사이트에서 강의도 올라오는 것을 확인했다.
강의 목차만 봐도 지금까지 봐온 모든 강의, 정보 중에서 제일 고급 강의였고 꼭 듣고야 말겠다는 생각이 들었다.
처음에는 영상을 받아서 whisper라는 STT AI를 사용했지만 자막 추출이 정말 오래걸렸고 추출된 자막도 udemy의 발음 안좋다는 강의의 자동생성 자막을 가져온 느낌이라 돈내고 돈 값 못할 것 같다는 생각만 들었다.
두번째는 삼성 갤럭시탭의 통역 기능을 이용해봤는데, 이것도 통역이 엉성했고 글씨크기 조절도 안되는 것처럼 보여서 사용하기엔 어려움이 있었다.
결국 직접 만드는게 ai도 중국어에 특화된 원하는 모델을 쓸 수 있고, 나에게 맞는 용도로 커스텀해서 쓸 수 있을것 같아서 시작했다.
진짜 소개 #
이제는 정말 중국어 강의를 듣고싶기 때문에 구글 삼성 페이스북이 해주기 전에 먼저 시작하는 프로젝트 입니다.
다른 회사가 먼저 만들어낸다고 하더라도 그게 제가 원하는 중-한 실시간 번역일지는 잘 모르겠고, 원하는 모델을 입맛에 맞게 적용할 수 있다면 이 프로젝트의 의미는 충분합니다.
이 프로젝트의 목적은 아래와 같습니다.
- OCR 로 영상에 있는 자막 실시간 인식 후 번역
- STT 로 자막이 없는 강의에 자막을 달아주는 기능 (중요)
OCR #
제가 원하는건 중-한 번역이기 때문에 중국어의 인식률이 높은 OCR이 필요했고 baidu의 paddleocr을 사용하기로 결정했습니다. (이런걸 만들어주다니 압도적 감사)
STT #
PaddleSpeech, Wenet 등 여러가지 고민을 많이 해봤는데 기존 paddleocr과 하루종일 설정을 맞추다가 하루를 날렸습니다.
Whisper stream
번역 #
일단 meta의 nllb-200-distilled-600M 을 사용했습니다. IT 업계의 용어를 번역해버리는 상황을 피해야 되기 때문에 임시로 사용하는 모델입니다.
사용법 #
환경 세팅 #
개발자의 환경 세팅이기 때문에 본인에 맞는 환경을 설치하면 좋습니다.
-
그래픽카드가 지원하는 cuda 버전 확인
1nvcc -V # cuda 설치 확인 2nvidia-smi # 지원되는 cuda 버전 확인 -
pytorch gpu 버전 명령어 확인 및 설치
https://pytorch.org/get-started/locally/ -
python 3.12.7 설치
-
pip 나머지 패키지 설치
1git clone <this project> 2# pip install pyautogui transformers paddlepaddle-gpu paddleocr 3pip install -r requirements.txt
실행 #
1python ./subot.py
실행을 해보면 보이는 OCR Scanner 버튼으로 번역할 자막이 있는 범위를 지정하고, Translator 기능을 이용해 인식한 자막을 번역하는 것이 전부이다.