OpenAI Whisper는 68만 시간의 다국어 음성 데이터로 학습한 범용 음성 인식(ASR) 모델이다. 99개 언어를 지원하며 번역, 언어 감지, 타임스탬프 추출 기능을 제공한다.
모델 크기 비교
| 모델 | 파라미터 | VRAM | 상대 속도 | WER(en) |
|---|
| tiny | 39M | ~1GB | 32× | 5.6% |
| base | 74M | ~1GB | 16× | 4.2% |
| small | 244M | ~2GB | 6× | 3.3% |
| medium | 769M | ~5GB | 2× | 2.9% |
| large-v3 | 1550M | ~10GB | 1× | 2.7% |
기본 사용법
python
import whisper
model = whisper.load_model("medium")
result = model.transcribe(
"audio.mp3",
language="ko",
task="transcribe",
word_timestamps=True,
verbose=False,
)
print(result["text"])
for segment in result["segments"]:
print(f"[{segment['start']:.2f}s -> {segment['end']:.2f}s] {segment['text']}")
faster-whisper (고성능 구현체)
python
from faster_whisper import WhisperModel
model = WhisperModel(
"large-v3",
device="cuda",
compute_type="int8_float16",
)
segments, info = model.transcribe(
"audio.mp3",
beam_size=5,
language="ko",
vad_filter=True,
vad_parameters=dict(min_silence_duration_ms=500),
)
print(f"감지 언어: {info.language} (확률: {info.language_probability:.2f})")
for segment in segments:
print(f"[{segment.start:.2f}s] {segment.text}")
관련 문서