Skip to content

Commit

Permalink
transcribe() on English-only model won't complain when language="en" …
Browse files Browse the repository at this point in the history
…is not given
  • Loading branch information
jongwook committed Oct 9, 2022
1 parent 82725ce commit d18e9ea
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions whisper/transcribe.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,16 @@ def transcribe(
mel = log_mel_spectrogram(audio)

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"]
task = decode_options.get("task", "transcribe")
Expand Down Expand Up @@ -282,7 +285,8 @@ def cli():
os.makedirs(output_dir, exist_ok=True)

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"

temperature = args.pop("temperature")
Expand Down

0 comments on commit d18e9ea

Please sign in to comment.