Skip to content

Picking a model takes four decisions: simple and advanced mode #779

Description

@kacperpaczos

The Speech Model panel asks about the engine, the model size, the specialization and the language.

I know what language I speak and whether I want it faster or more accurate. I do not know whether I want Medium or Small — that depends on my GPU and my RAM, not on my preferences. I also do not know whether I want multilingual or English-only, because that is the question "do you only speak English" asked in implementation terms.

The app can already work both of those out. It detects the backend and the memory, it knows the selected language, and from that it computes a model which it prints as a recommendation (#778). It just does not use that to set the panel.

Simple mode

Language

Main language:  [ Polish v ]
[ ] I also dictate whole texts in other languages

Unchecked pins the language, checked turns on auto-detect. The engine takes one language or none, a pair cannot be passed, so those are exactly the two available options.

There is deliberately no separate field for a second language. With the main language pinned, the multilingual model handles inserted foreign words — "zrób refactor tego handlera" does not require declaring English. A second language starts to matter only for whole utterances, and the checkbox covers that. Worth confirming with a short test before freezing the UI.

Priority: fastest / balanced / most accurate
Privacy: everything local / cloud allowed

Engine, size and specialization follow from those unambiguously.

Where the main language comes from

Order: keyboard layout, then system settings, then a fallback. Reasoning in #777. The detected value should be shown on first run and easy to correct, not applied silently.

Advanced mode

Today's four controls unchanged, plus a note on what simple mode would have picked, and a way back to automatic.

Two things to account for

With English selected, the .en variant weighs the same and recognises better, so the derivation should pick it. That is #776.

The Large size has no English-only variant, only multilingual ones. "English only + highest accuracy" is therefore not satisfiable, and simple mode has to say so, otherwise the language choice gets silently ignored. Similar to #681 and #692.

Storing the configuration

Simple mode should store what the user chose — languages, priority, privacy — and compute the model at startup. Advanced mode is an explicit pin that overrides the derivation.

Right now the configuration keeps five parallel records of the model choice, and that is where the divergences in #681 and #692 come from.

Question

What should the fallback be when neither the keyboard layout nor the system settings point at a supported language — English, or auto-detect?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions