# Transui A compact GTK3 desktop transcription tool for OpenAI-compatible and llama.cpp `/v1/audio/transcriptions` endpoints. ## Dependencies On Debian/Ubuntu install the following packages yourself before compiling: ```sh sudo apt install cmake g++ pkg-config libgtk-3-dev libcurl4-openssl-dev \ libgstreamer1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good libsecret-1-dev \ libjson-glib-dev wtype xdotool ``` `wtype` is used on Wayland and `xdotool` on X11. They are runtime tools, so you only need the one matching your session. API keys are saved in the freedesktop Secret Service (GNOME Keyring, KWallet Secret Service, and so on), not in the settings file. ## Build ```sh cmake -S . -B build cmake --build build sudo cmake --install build ``` ## Commands ```sh transui settings # configure endpoints, prompt, and destination transui record # open the record window transui # same as record ``` Bind `transui record` to a shortcut in your desktop environment. Transui does not register a global shortcut itself. Recording stops automatically after two continuous seconds without detected speech. The **Hosted first, local fallback** setting tries the Hosted endpoint, then the Local endpoint when the first request fails. With it disabled, Transui uses the Local endpoint only. Both a normal response (`{"text":"..."}`) and llama.cpp event response (`{"type":"transcript.text.done","text":"..."}`) are accepted.