47 lines
1.4 KiB
Markdown
47 lines
1.4 KiB
Markdown
# 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. Press the same shortcut again to stop
|
|
and transcribe the current recording.
|
|
|
|
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.
|