Views
No views yet
pip install -U 'transformers[torch]>=4.35.0' https://github.com/PythonicCafe/faster-whisper/archive/refs/heads/feature/large-v3.zip#egg=faster-whisper1import time
2
3import faster_whisper
4
5
6filename = "my-audio.mp3"
7initial_prompt = "My podcast recording" # Or `None`
8word_timestamps = False
9vad_filter = True
10temperature = 0.0
11language = "pt"
12model_size = "large-v3"
13device, compute_type = "cuda", "float16"
14# or: device, compute_type = "cpu", "float32"
15
16model = faster_whisper.WhisperModel(model_size, device=device, compute_type=compute_type)
17
18segments, transcription_info = model.transcribe(
19 filename,
20 word_timestamps=word_timestamps,
21 vad_filter=vad_filter,
22 temperature=temperature,
23 language=language,
24 initial_prompt=initial_prompt,
25)
26print(transcription_info)
27
28start_time = time.time()
29for segment in segments:
30 row = {
31 "start": segment.start,
32 "end": segment.end,
33 "text": segment.text,
34 }
35 if word_timestamps:
36 row["words"] = [
37 {"start": word.start, "end": word.end, "word": word.word}
38 for word in segment.words
39 ]
40 print(row)
41end_time = time.time()
42print(f"Transcription finished in {end_time - start_time:.2f}s")pip install -U 'faster-whisper>=0.9.0'1import time
2
3import faster_whisper.transcribe
4
5
6# Monkey patch 1 (add model to list)
7faster_whisper.utils._MODELS["large-v3"] = "turicas/faster-whisper-large-v3"
8
9# Monkey patch 2 (fix Tokenizer)
10faster_whisper.transcribe.Tokenizer.encode = lambda self, text: self.tokenizer.encode(text, add_special_tokens=False)
11
12filename = "my-audio.mp3"
13initial_prompt = "My podcast recording" # Or `None`
14word_timestamps = False
15vad_filter = True
16temperature = 0.0
17language = "pt"
18model_size = "large-v3"
19device, compute_type = "cuda", "float16"
20# or: device, compute_type = "cpu", "float32"
21
22model = faster_whisper.transcribe.WhisperModel(model_size, device=device, compute_type=compute_type)
23
24# Monkey patch 3 (change n_mels)
25from faster_whisper.feature_extractor import FeatureExtractor
26model.feature_extractor = FeatureExtractor(feature_size=128)
27
28# Monkey patch 4 (change tokenizer)
29from transformers import AutoProcessor
30model.hf_tokenizer = AutoProcessor.from_pretrained("openai/whisper-large-v3").tokenizer
31model.hf_tokenizer.token_to_id = lambda token: model.hf_tokenizer.convert_tokens_to_ids(token)
32
33segments, transcription_info = model.transcribe(
34 filename,
35 word_timestamps=word_timestamps,
36 vad_filter=vad_filter,
37 temperature=temperature,
38 language=language,
39 initial_prompt=initial_prompt,
40)
41print(transcription_info)
42
43start_time = time.time()
44for segment in segments:
45 row = {
46 "start": segment.start,
47 "end": segment.end,
48 "text": segment.text,
49 }
50 if word_timestamps:
51 row["words"] = [
52 {"start": word.start, "end": word.end, "word": word.word}
53 for word in segment.words
54 ]
55 print(row)
56end_time = time.time()
57print(f"Transcription finished in {end_time - start_time:.2f}s")1pip install -U 'ctranslate2>=3.21.0' 'transformers-4.35.0' 'OpenNMT-py==2.*' sentencepiece
2ct2-transformers-converter --model openai/whisper-large-v3 --output_dir whisper-large-v3-ct2whisper-large-v3-ct2/.