From 3e6eef031d9517a264b80de0156e05c2c5071c14 Mon Sep 17 00:00:00 2001 From: Raphael Fakhri <153192858+RaphaelFakhri@users.noreply.github.com> Date: Sun, 18 Oct 2026 20:09:02 +0000 Subject: [PATCH] Report the language code when transcribe() is given a language name --- tests/test_transcribe.py | 10 ++++++++++ whisper/transcribe.py | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/test_transcribe.py b/tests/test_transcribe.py index 599221af5..730409413 100644 --- a/tests/test_transcribe.py +++ b/tests/test_transcribe.py @@ -40,3 +40,13 @@ def test_transcribe(model_name: str): timing_checked = True assert timing_checked + + +@pytest.mark.parametrize("language", ["English", "EN"]) +def test_language_is_reported_as_a_code(language: str): + model = whisper.load_model("tiny") + audio_path = os.path.join(os.path.dirname(__file__), "jfk.flac") + + result = model.transcribe(audio_path, language=language, temperature=0.0) + assert result["language"] == "en" + assert "my fellow americans" in result["text"].lower() diff --git a/whisper/transcribe.py b/whisper/transcribe.py index 56b29fbc8..a6732684b 100644 --- a/whisper/transcribe.py +++ b/whisper/transcribe.py @@ -156,7 +156,9 @@ def transcribe( f"Detected language: {LANGUAGES[decode_options['language']].title()}" ) - language: str = decode_options["language"] + # report a language given by name (e.g. "English") as its code (e.g. "en") + language: str = decode_options["language"].lower() + language = decode_options["language"] = TO_LANGUAGE_CODE.get(language, language) task: str = decode_options.get("task", "transcribe") tokenizer = get_tokenizer( model.is_multilingual,