Spaces:
Build error
Build error
Update to support faster-whisper-large-v3.
Browse files- app.py +1 -1
- config.json5 +5 -0
- 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,
|