small이나 medium 모델은 집컴에서도 돌릴 수 있으니

기왕에 코랩 쓴다면 large v2 모델 추천하는데,

이게 시간이 제일 많이 걸리다 보니 저장이 끝까지 안되고 유실될 때가 종종 있어서

구글 드라이브 연동하는 방법 설명하고, 그동안 테스트해본 옵션도 가이드를 좀 써봤어
https://colab.research.google.com/drive/1qeTSvi7Bt_5RMm88ipW4fkcsMOKlDDss


일단 '연결' 눌렀을 때, GPU 백엔드로 할당되어야 속도가 보장됨


별다른 메세지 없이 연결되면 GPU 백엔드인 거고, 아래와 같은 메세지가 뜨면 할당량 다 써서 GPU 못쓰는 거야

할당량 다시 풀리는 걸 하루 정도 기다리거나, 다른 구글 계정 쓰도록.


GPU 백엔드 연결했다 치고, 구글 드라이브에 저장되도록 하는 방법을 설명할게

대본(자막)이 구글 드라이브에 저장되도록 하는 이유는, 이렇게 하면 여러 파일 처리할 때나 자리 비움으로 GPU 백엔드 연결이 끊겼을 때에도 파일이 구글 드라이브에 남기 때문이야.


코랩에서 다음 차례로 실행하면 됨.


1) 위스퍼 프로그램 설치

(처음 실행하는 경우, 구글에서 확인한 프로그램 아닌데 그래도 실행할 거냐고 물을텐데 Run Anyway 선택하면 됨)

실행이 완료되면,


2) 위스퍼 실행에 필요한 프로그램 설치

실행이 완료되면


얘를 실행하는게 아니라


더 스크롤을 내려서


3) 이쪽을 실행해서 구글 드라이브를 연결함.

연결하려면 해당 계정의 구글드라이브를 연결할 거냐고 물어볼텐데 전수 수락하면 된다.

또, 해당 구글 드라이브 들어가서 최상위에 Whisper 라는 이름의 폴더를 하나 만들어 둬야 저장이 돼. 이건 3) 실행 하기 전에 해도 되고, 실행한 후에 해도 되지만, 4) 실행하기 전에는 해둬야 함.

(이미 만들었으면 다시 만들 필요는 없음)


구글드라이브 연결 끝났으면,

4) 다음 명령 실행하고, public URL 뜨면 (URL은 실행할 때마다  달라짐) URL 클릭해서 쓰면 돼.


다음으로, 옵션 설명할게.

이게 기본 세팅.


VAD는 Voice activity detction의 약자인데, 음성이 없는 구간을 경계로 음성을 잘라서 처리하겠다는 얘기야.

none 이면 통으로 처리하고, 그 이외에는 아래 나오는 VAD - Max Merge Size 단위로 음성을 잘라서 처리함.

무식하게 딱 그 만큼씩 음성 파일을 잘라서 인식하면 대사가 잘릴 수 있는데(periodic-vad 선택하면 그렇게 됨)

기본 옵션인 silero-vad 에서는, 적당히 목소리 없는 구간 찾아서 잘라 처리해.

충분히 실험해봤지만, silero-vad 이외의 다른 옵션을 선택할 이유는 없는 것 같다.


VAD - Merge Window (s)
    최소 이 시간 안에 있는 대사는 띄엄띄엄 간격을 두어  말하더라도 같은 줄에 있는 대사로 처리돼.
    이 숫자가 짧으면 자막 나누는 개수가 늘어나고, 길면 전체 자막 개수는 줄지만 자막당 대사 길이가 늘어남


VAD - Max Merge Size (s)
    앞에도 얘기했지만, whisper가 음성을 잘라서 처리하는 단위가 되는 시간이야.
    짧게 두면  히어링 능력이 떡락하니 만지지 않는게 좋음


VAD - Padding (s)

자막 시작/끝 에 둘 여유 시간. 이게 길면 자막의 일찍 나오고 늦게 사라짐.

패딩 1초는 너무 긴 거 같아서 나는 0.3초 정도로 두고 쓰고 있어


VAD - Prompt Window (s)

이건 정확히 이해한 건지 좀 긴가민가한데,

대사 사이의 간격(무음)이 이 시간보다 길면 다음 자막으로 잘라서 처리하는 듯.

(Merge Window 이내에 있으면 자르지 않음)

숫자 1보다 작으면 쉼표나 마침표 처리가 잘 안되는 단점이 있으니 주의.


도움이 되길