Whisper 시작하기 (CLI·Python)

Whisper 시작하기 (CLI·Python)

Whisper는 커맨드 라인에서도, 파이썬 코드에서도 바로 쓸 수 있게 만들어졌어요. 설치가 끝나면 음성 파일 한 개만으로 번역과 인식 결과를 얻을 수 있죠.

출처: openai/whisper README

먼저 커맨드 라인 예시를 볼게요. 오디오 파일 여러 개를 넘기면 turbo 모델로 전사를 시작해요.

whisper audio.flac audio.mp3 audio.wav --model turbo

기본 설정(즉 turbo 모델)은 영어 전사에 잘 맞아요. 그런데 turbo 모델은 번역 작업을 위해 학습되지 않았어요. 비영어 음성을 영어로 번역해야 한다면, tiny, base, small, medium, large 같은 다국어 모델을 써야 해요. 비영어 음성이 섞인 파일은 언어를 명시해서 처리할 수 있어요.

파이썬에서도 똑같이 쉽게 쓸 수 있어요.

import whisper

model = whisper.load_model("turbo")
result = model.transcribe("audio.mp3")
print(result["text"])

내부적으로 transcribe()는 파일 전체를 읽고, 30초 단위의 슬라이딩 윈도우로 오디오를 처리하면서 각 윈도우에 대해 자기회귀 시퀀스-투-시퀀스 예측을 수행해요. 그래서 긴 파일도 잘게 잘라 이해한다고 보면 돼요.

더 낮은 레벨로 접근하고 싶을 땐 whisper.detect_language()whisper.decode()를 쓸 수 있어요. 예를 들어 아래처럼 명시적으로 디코딩 옵션을 만들어 결과를 얻는 식이에요.

options = whisper.DecodingOptions()
result = whisper.decode(model, mel, options)

더 알아보기