Views
No views yet
num_beams=2, max_length=225language="ja", task="transcribe"chunk_length_s=30, stride_length_s=(5,5)(Transformers ASR pipeline)1import torch
2import torchaudio
3from transformers import WhisperProcessor, WhisperForConditionalGeneration, pipeline
4
5processor = WhisperProcessor.from_pretrained("openai/whisper-small") # tokenizer+feature_extractor
6model = WhisperForConditionalGeneration.from_pretrained("zary0/faster-whisper-ja-distill")
7
8#model.eval()
9
10forced_ids = processor.get_decoder_prompt_ids(language="ja", task="transcribe")
11
12model.generation_config.forced_decoder_ids = forced_ids
13model.config.forced_decoder_ids = forced_ids
14
15asr = pipeline(
16 "automatic-speech-recognition",
17 model=model,
18 tokenizer=processor.tokenizer,
19 feature_extractor=processor.feature_extractor,
20 chunk_length_s=30,
21 stride_length_s=(5, 5),
22 return_timestamps=False,
23 device=0 if torch.cuda.is_available() else -1,
24 generate_kwargs={
25 "max_length": 225,
26 "num_beams": 1,
27 "forced_decoder_ids": forced_ids,
28 },
29)
30
31result = asr("sample.mp3")
32print(result["text"])