avans06 commited on
Commit
ed2c604
1 Parent(s): 6fc9a01

Update to support faster-whisper-large-v3.

Browse files
Files changed (3) hide show
  1. app.py +1 -1
  2. config.json5 +5 -0
  3. src/whisper/fasterWhisperContainer.py +5 -1
app.py CHANGED
@@ -57,7 +57,7 @@ MAX_FILE_PREFIX_LENGTH = 17
57
  # Limit auto_parallel to a certain number of CPUs (specify vad_cpu_cores to get a higher number)
58
  MAX_AUTO_CPU_CORES = 8
59
 
60
- WHISPER_MODELS = ["tiny", "base", "small", "medium", "large", "large-v1", "large-v2"]
61
 
62
  class VadOptions:
63
  def __init__(self, vad: str = None, vadMergeWindow: float = 5, vadMaxMergeSize: float = 150, vadPadding: float = 1, vadPromptWindow: float = 1,
 
57
  # Limit auto_parallel to a certain number of CPUs (specify vad_cpu_cores to get a higher number)
58
  MAX_AUTO_CPU_CORES = 8
59
 
60
+ WHISPER_MODELS = ["tiny", "base", "small", "medium", "large", "large-v1", "large-v2", "large-v3"]
61
 
62
  class VadOptions:
63
  def __init__(self, vad: str = None, vadMergeWindow: float = 5, vadMaxMergeSize: float = 150, vadPadding: float = 1, vadPromptWindow: float = 1,
config.json5 CHANGED
@@ -26,6 +26,11 @@
26
  "name": "large-v2",
27
  "url": "large-v2"
28
  },
 
 
 
 
 
29
  // Uncomment to add custom Japanese models
30
  //{
31
  // "name": "whisper-large-v2-mix-jp",
 
26
  "name": "large-v2",
27
  "url": "large-v2"
28
  },
29
+ {
30
+ "name": "large-v3",
31
+ "url": "avans06/faster-whisper-large-v3",
32
+ "type": "huggingface"
33
+ },
34
  // Uncomment to add custom Japanese models
35
  //{
36
  // "name": "whisper-large-v2-mix-jp",
src/whisper/fasterWhisperContainer.py CHANGED
@@ -43,7 +43,7 @@ class FasterWhisperContainer(AbstractWhisperContainer):
43
  model_url = model_config.url
44
 
45
  if model_config.type == "whisper":
46
- if model_url not in ["tiny", "base", "small", "medium", "large", "large-v1", "large-v2"]:
47
  raise Exception("FasterWhisperContainer does not yet support Whisper models. Use ct2-transformers-converter to convert the model to a faster-whisper model.")
48
  if model_url == "large":
49
  # large is an alias for large-v1
@@ -55,6 +55,10 @@ class FasterWhisperContainer(AbstractWhisperContainer):
55
  device = "auto"
56
 
57
  model = WhisperModel(model_url, device=device, compute_type=self.compute_type)
 
 
 
 
58
  return model
59
 
60
  def create_callback(self, language: str = None, task: str = None,
 
43
  model_url = model_config.url
44
 
45
  if model_config.type == "whisper":
46
+ if model_url not in ["tiny", "base", "small", "medium", "large", "large-v1", "large-v2", "large-v3"]:
47
  raise Exception("FasterWhisperContainer does not yet support Whisper models. Use ct2-transformers-converter to convert the model to a faster-whisper model.")
48
  if model_url == "large":
49
  # large is an alias for large-v1
 
55
  device = "auto"
56
 
57
  model = WhisperModel(model_url, device=device, compute_type=self.compute_type)
58
+ if "large-v3" in model_url:
59
+ # Working with Whisper-large-v3
60
+ # https://github.com/guillaumekln/faster-whisper/issues/547#issuecomment-1797962599
61
+ model.feature_extractor.mel_filters = model.feature_extractor.get_mel_filters(model.feature_extractor.sampling_rate, model.feature_extractor.n_fft, n_mels=128)
62
  return model
63
 
64
  def create_callback(self, language: str = None, task: str = None,