|
@@ -84,13 +84,16 @@ def transcribe(
|
|
mel = log_mel_spectrogram(audio)
|
|
mel = log_mel_spectrogram(audio)
|
|
|
|
|
|
if decode_options.get("language", None) is None:
|
|
if decode_options.get("language", None) is None:
|
|
- if verbose:
|
|
|
|
- print("Detecting language using up to the first 30 seconds. Use `--language` to specify the language")
|
|
|
|
- segment = pad_or_trim(mel, N_FRAMES).to(model.device).to(dtype)
|
|
|
|
- _, probs = model.detect_language(segment)
|
|
|
|
- decode_options["language"] = max(probs, key=probs.get)
|
|
|
|
- if verbose is not None:
|
|
|
|
- print(f"Detected language: {LANGUAGES[decode_options['language']].title()}")
|
|
|
|
|
|
+ if not model.is_multilingual:
|
|
|
|
+ decode_options["language"] = "en"
|
|
|
|
+ else:
|
|
|
|
+ if verbose:
|
|
|
|
+ print("Detecting language using up to the first 30 seconds. Use `--language` to specify the language")
|
|
|
|
+ segment = pad_or_trim(mel, N_FRAMES).to(model.device).to(dtype)
|
|
|
|
+ _, probs = model.detect_language(segment)
|
|
|
|
+ decode_options["language"] = max(probs, key=probs.get)
|
|
|
|
+ if verbose is not None:
|
|
|
|
+ print(f"Detected language: {LANGUAGES[decode_options['language']].title()}")
|
|
|
|
|
|
language = decode_options["language"]
|
|
language = decode_options["language"]
|
|
task = decode_options.get("task", "transcribe")
|
|
task = decode_options.get("task", "transcribe")
|
|
@@ -282,7 +285,8 @@ def cli():
|
|
os.makedirs(output_dir, exist_ok=True)
|
|
os.makedirs(output_dir, exist_ok=True)
|
|
|
|
|
|
if model_name.endswith(".en") and args["language"] not in {"en", "English"}:
|
|
if model_name.endswith(".en") and args["language"] not in {"en", "English"}:
|
|
- warnings.warn(f"{model_name} is an English-only model but receipted '{args['language']}'; using English instead.")
|
|
|
|
|
|
+ if args["language"] is not None:
|
|
|
|
+ warnings.warn(f"{model_name} is an English-only model but receipted '{args['language']}'; using English instead.")
|
|
args["language"] = "en"
|
|
args["language"] = "en"
|
|
|
|
|
|
temperature = args.pop("temperature")
|
|
temperature = args.pop("temperature")
|