Skip to content

feat(gui): add Language dropdown to Advanced settings panel#16

Merged
pretyflaco merged 1 commit intomainfrom
feat/gui-language-option
May 5, 2026
Merged

feat(gui): add Language dropdown to Advanced settings panel#16
pretyflaco merged 1 commit intomainfrom
feat/gui-language-option

Conversation

@pretyflaco
Copy link
Copy Markdown
Owner

Summary

Whisper's auto-detect on sparse / quiet audio (long opening silences, short initial utterances) is unreliable and can mis-classify English as ja/zh/ko, producing pages of CJK hallucinations interspersed with correctly-transcribed English fragments.

A real Blink dev-sync recorded on 2026-05-05 was rendered useless this way: the meeting was English but the .txt / .srt / .json / .summary.md / .pdf artifacts all came out in Japanese hallucinations like:

[00:01:46] Openoms: Linuxと同じです。私はセーブとクライアントについて...
[00:04:06] Jonas:   Rust SDKは、Rust SDKは、Rust SDKは、Rust SDKは、Rust SDKは...

Letting the user set the meeting language up-front via the GUI avoids the failure mode without forcing them to drop to the CLI.

Changes

  • New fourth row in the GUI Advanced expander: a Language combobox.
  • Values: auto (default) plus en, de, fr, es, tr, fa, it, pt, nl, ja, zh, ko, ar, ru (alignment-models registry plus common Whisper languages).
  • Selection writes back into self._transcribe_kwargs["language"] immediately so the next recording's transcription picks it up.
  • The CLI --language plumbing (in place since PR Add support for Apple Silicon and PyTorch device configuration #4) is unchanged; this PR only surfaces it in the GUI.

Tests

  • New test_launch_passes_explicit_language in tests/test_gui.py.
  • Existing test_launch_defaults_pass_none_through extended to assert language=='auto' is the default.

Repair workflow for affected sessions

meet transcribe <session_dir> --language en --no-summarize
# then re-apply speaker labels via meet label or apply_labels

The 2026-05-05 session this PR was motivated by has been repaired manually with --language en --mixdown mono followed by apply_labels(...).

Followups (separate PRs)

Whisper's auto-detect on sparse / quiet audio (long opening silences,
short initial utterances) is unreliable and can mis-classify English as
ja/zh/ko, producing pages of CJK hallucinations interspersed with the
correctly-transcribed English fragments.  A real Blink dev-sync recorded
on 2026-05-05 was rendered useless this way: the meeting was English but
the .txt/.srt/.json/.summary.md/.pdf came out in Japanese hallucinations.

Letting the user set the meeting language up-front via the GUI avoids
the failure mode without forcing them to drop to the CLI.

Adds a fourth row to the Advanced expander with a Language combobox.
Values cover the alignment-models registry (en/de/fr/es/tr/fa) plus
common Whisper-supported languages (it/pt/nl/ja/zh/ko/ar/ru) and the
'auto' default.  Selection is written back into self._transcribe_kwargs
on change, so the next recording's transcription picks it up.

The CLI --language plumbing (already in place since PR #4) is unchanged;
this PR only surfaces it in the GUI.
@pretyflaco pretyflaco merged commit 21b5460 into main May 5, 2026
1 check passed
pretyflaco pushed a commit that referenced this pull request May 5, 2026
Patch release containing PR #16 only.  Surfaces meeting-language choice
in the GUI to mitigate Whisper's auto-detect failure mode on sparse /
quiet audio (English meetings transcribed as ja/zh hallucinations).

No API or behavior change for CLI users; --language already existed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant