오늘은 음성비서 프로젝트를 시작하는데, speech to text 관련하여 찾아보다가, open ai의 whisper을 한번 시도해보았다.
whisper은 api가 있긴하지만 유료이기 때문에 github에서 로컬에 직접 설치하여 사용해봤다.
whisper webui 등도 있다고하고, 보통 colab에 설치해서 자주 사용한다고 하는데, 나는 프로젝트를 진행해보느라 컴퓨터도 사양이 되길래 로컬에 직접 설치해봤다.
1. Whisper Github
사실 Readme를 읽으면 모든 방법이 자세하게 남아있다. 그래도 영어를 읽기 싫어하는 분이 있기 때문에 간단하게 겪은과정을 설명해보겠다.
2. 가상환경 생성 및 python, pytorch 설치
우선 readme에 따르면, 모델은 python 3.99와 pytorch 1.10.1 에서 train, test 됐다고 하는데,
python 3.8-3.11과 pytorch 최근버전에서 호환된다고 한다.
나는 gpu를 이용하기 위해서 기존에 세팅해둔 cuda에 맞춰서 버전을 깔았다.
-> cuda 11.2 / python 3.9.0 / pytorch 1.7.1 (gpu세팅 법은 분 블로그에 따로 작성해두었습니다. )
3. Whisper 설치
그리고 아래 코드를 차근차근 가상환경에다가 설치해준다.
pip install openai-whisper
pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git
4. FFmpeg 설치
다음으로 동영상 처리 라이브러리인 FFmpeg를 설치했다.
위 링크에서 window 중 "windows builds from gyan.dev"를 누르고 아래 2개중 아무거나 설치해도된다.
나는 C드라이브에 설치해줬다.
이후, fmpeg 폴더 안의 bin 경로를 복사한 후 시스템 환경 변수로 들어가서 Path부분에 경로를 추가하고, cmd에서 아래 명령어를 쳤을 때 뭐라뭐라 나오면 제대로 설치된 것이다.
ffmpeg -version
5. Whisper 사용
사실 이 다음부터 쉽다.
우선 가상환경에서 아래 코드를 쳐서 cuda가 정상적으로 나오는지 확인한다. cuda가 아니라 cpu가 나온다면, gpu설정이 제대로 되지 않은 것이므로, pytorch 버전 등을 잘 확인하여 다시 해야한다.
import whisper
model=whisper.load_model("base")
print(model.device)
여기까지 잘 진행되었다면 이제 test를 하나 해보자. 프롬프트에서 가상환경을 활성화시키고 아래 코드를 치면 처음 실행시 모델을 다운받는다.
! whisper '파일경로.mp3' --language Korean --model large-v2
정상은 모델을 다운받은 뒤, 해당 음성을 인식하여 text로 출력해줄 것이다.
이제 테스트까지 완료되었기 때문에 whisper을 사용해보자.
import whisper
model = whisper.load_model(whisper_type)
result = model.transcribe("tmp.wav",fp16=False)
text=result["text"]
return text
위 코드에서 whisper_type은 내가 임의로 만든 변수고, 여기에는 "tiny", "base", "small", "medium", "large" 중 하나를 넣으면 된다.( 당연히 모델이 커질수록 시간이 좀 더 걸리지만 정확하다. gpu없으면 medium도 힘들지도?..)
아무튼 각 모델별로 첫 실행 때는 모델을 다운받고 진행할 것이다.
위의 코드에서 fp16=False는 원래 readme에는 안적혀있는데, 나의 경우에는 저 옵션을 안넣으면 torch에러가 뜨면서 실행이 안된다. fp16 안넣어도 되는 사람은 그냥 해보시길~
6. 마무리
위까지 저 transcribe만 사용해도 이제 stt는 진행될거고, 더 많은 예제는 공식 github에 있다. 끝!
'프로젝트 > 음성비서' 카테고리의 다른 글
Voice secretary 버전 2.0.0 (0) | 2023.11.02 |
---|---|
KT GenieLabs api 이용하기 (0) | 2023.11.02 |
Voice secretary 버전 1.5.0 (0) | 2023.11.02 |
Voice secretary 버전 1.0.0 (0) | 2023.11.02 |
kakao KoGpt 설치 (0) | 2023.10.26 |