티스토리 뷰

1. 허깅스페이스

- https://huggingface.co/openai/whisper-large-v3-turbo


2. 한국어 음성

# step1: import modeuls
import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
from datasets import load_dataset

# step2: create inference object
device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32
# model_id = "openai/whisper-large-v3-turbo"
model_id = "openai/whisper-tiny"
model = AutoModelForSpeechSeq2Seq.from_pretrained(
    model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True
)
model.to(device)

processor = AutoProcessor.from_pretrained(model_id)

pipe = pipeline(
    "automatic-speech-recognition",
    model=model,
    tokenizer=processor.tokenizer,
    feature_extractor=processor.feature_extractor,
    torch_dtype=torch_dtype,
    device=device,
    return_timestamps=True
)
# pipe = pipeline("automatic-speech-recognition", "openai/whisper-large-v3-turbo" )

# step3: 데이터 가져오기
dataset = load_dataset("distil-whisper/librispeech_long", "clean", split="validation")
sample = dataset[0]["audio"]

# step4: 추론하기
result = pipe(sample)

# step5: 후처리
print(result["text"])

 

- tiny는 정확도가 떨어지지만, 영어 학습용으로 사용하려면 일부러 성능 낮은걸 사용해 발음을 똑바로 하도록 유도할 수 있다. 따라서 정확도에 너무 집착하기 보다는 해결해야 하는 문제에 대해 생각하는 것이 중요하다!

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함