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:
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
cmake -S . -B build
cmake --build build
sudo cmake --install build
Commands
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.