준호씨의 블로그
Colab에서 OpenAI Whisper 모델을 이용해서 무료로 자막 생성하기 본문
Whisper는 OpenAI가 개발한 자동 음석 인식(ARS) 모델입니다. 다양한 언어와 억양을 이해하고 텍스트로 변환할 수 있습니다. 요즘 음성을 텍스트로 변환하는 다양한 도구들과 AI 모델, 서비스들이 나오고 있는데요. 아직 Whisper를 능가하는 경우를 보진 못했습니다.
Whisper 모델을 사용하려면 보통은 OpenAI의 API를 생각할 수 있는데요.
Whisper 모델을 OpenAI를 통해 사용하게 되면 1분에 $0.006입니다. 1시간짜리 음성을 인식시키게 되면 $0.36으로 500원 정도를 사용하게 됩니다. 비싼 가격은 아니지만 이것저것 사용하다 보면 비용을 무시하진 못할 것 같습니다.
Whisper 모델은 공개되어 있기 때문에 OpenAI API를 이용하지 않고 직접 Whisper 모델을 사용할 수 있습니다.
https://github.com/openai/whisper 에서 관련 정보를 확인해 볼 수 있습니다. Colab 예제 코드도 제공하고 있습니다.
https://huggingface.co/openai 에서 모델파일을 직접 다운로드해 볼 수도 있습니다.
사용 방법을 요약해 보면 다음과 같습니다. whisper를 설치하고 커맨드라인 명령어로 whisper를 사용하면 됩니다.
# whisper 설치
!pip install git+https://github.com/openai/whisper.git
# 음원에서 자막 생성
# 완료 되면 srt, txsv, txt, vtt 파일이 생성됩니다.
!whisper "{filepath}" --language Korean --model large
본인의 컴퓨터가 ML을 돌리기에 적합하다면 직접 돌려볼 수도 있습니다. 하지만 아직까지는 그런 환경이 구축된 경우는 잘 없을 것입니다.
다행히도 Google Colab에서 무료로 GPU를 사용할 수 있도록 제공해 주고 있기 때문에 손쉽게 사용해 볼 수 있습니다.
아래 예제 코드를 참고해 보시기 바랍니다.
whisper로 자막 생성 하기 - 웹 API 설계 원칙 1주차 1장~3장
Colab notebook
colab.research.google.com
앞서 알려드린 whisper 설치 외에 google drive 마운트 코드가 추가되어 있습니다.
from google.colab import drive
drive.mount('/content/gdrive')
이 코드를 실행하면 google 계정과 연동 작업이 이루어지고, 연동 작업이 완료되면 Colab 파일 메뉴에 google drive의 내용이 나타나는 것을 볼 수 있습니다.
본인의 google drive에 음원 파일을 올린 다음 Colab에서 불러와서 사용할 수 있습니다.
저는 QuickTime Player에서 동영상을 불러온 다음 "File > Export As > Audio Only"기능을 이용해서 음원을 추출하였습니다. 이렇게 하면 기본 m4a 파일이 생성됩니다. 구글 드라이브에 업로드하고 해당 파일 경로를 filepath 변수에 저장합니다.
filepath = '/content/gdrive/MyDrive/youtube/1주차_1장~3장.m4a'
이제 whisper 명령어를 이용해서 음원파일에서 자막을 생성하면 됩니다.
whisper 명령어를 실행하기 전에 GPU를 사용하고 있는지 확인해 두는 것이 좋습니다. 메뉴에서 "런타임 > 런타임 유형 변경"에서 GPU를 사용하도록 변경해 줍니다.
"런타임 > 런타임 유형 변경"으로 들어가면 다음과 같은 화면이 나타납니다. "하드웨어 가속기"에서 GPU가 적힌 것을 선택해 주면 됩니다.
유료사용자라면 더 좋은 GPU를 사용할 수 있겠지만, 무료로 사용할 수 있는 T4 GPU로도 Whisper를 사용하기에는 충분합니다.
참고로 pip install로 whisper를 설치하는 데 1~30분 정도 걸릴 수 있습니다. whisper 명령어 실행 시 whisper 모델파일을 다운로드하는 데에도 수십 분이 소요될 수 있습니다. 그리고 자막을 생성할 때도 한 시간 치 자막 생성에 수십 분 정도가 소요됩니다. 요즘 AI 기술개발이 빠르게 이루어지고 있기 때문에 더 빠르고, 더 성능 좋은 모델을 사용할 수 있게 되리라 기대됩니다.
'IT이야기' 카테고리의 다른 글
내가 원하는 위치(페이지)에서 크롬앱 만들기 (0) | 2024.07.02 |
---|---|
웹사이트를 앱으로 만들기 - 크롬앱 만들기 (0) | 2024.07.02 |
github - Unable to render code block 오류 해결방법 #크롬 #확장 (0) | 2024.06.02 |
OSX - brew로 wireshark 설치하기 (0) | 2024.04.17 |
유튜브영상 날짜표시하기. 1 month ago 말고 Feb 29, 2024 처럼 나오도록 (0) | 2024.04.11 |