voxtype 1.1.1 is a fix release. Hybrid-GPU laptops get the GPU they ask for, paste mode follows your driver order and pastes in terminals, quiet microphones stop losing short dictations, config edits stop breaking your file, and clipboard output no longer waits on your input devices. Everything in 1.1.0 is included.
Hybrid-GPU laptops get the GPU they ask for (#577, #611)
On Intel + NVIDIA laptops, VOXTYPE_VULKAN_DEVICE=nvidia now moves Whisper to the discrete card. It used to show the selection in voxtype setup gpu --status and then initialize the iGPU anyway. A daemon started at login also stops losing the race with the graphics driver: it waits for a render node before loading the model, instead of falling back to CPU until a restart.
[whisper]
gpu_wait_secs = 5 # 0 disables the wait
Why it matters: the reporter measured 17.7s to transcribe 20.7s of audio that takes under 2s on the GPU. Reported by Literato2 and co-authored by repparw. voxtype setup gpu also stops reporting Vulkan missing on NixOS and Guix (#430), reported by Ezequiel Ramis.
Paste mode: driver order and terminals (#750)
Paste mode ignored driver_order and always sent the keystroke with wtype, so keycode-based XWayland clients like xfreerdp received Escape instead of Ctrl+V. Paste mode now follows your order. New installs also default to paste_keys = "shift+insert", because many terminals bind Ctrl+V to something else. Existing configs keep whatever they have. Reported by Scalix.
Clipboard output is instant, and "From" transcripts paste again
Clipboard mode checked for held modifier keys before copying, which opened every input device on the machine. On a desktop with 36 of them that took about 760 ms per dictation. Clipboard output never presses a key, so the check is gone there, and the same dictation copies in under 2 ms. Thanks to derekszen for tracking the cost down in #543.
Transcripts starting with "From " were offered only as application/mbox, because wl-copy guessed they were email, and text fields wouldn't paste them (#738). Voxtype now tells wl-copy it's plain text. Reported by ivokosir.
Quiet microphones no longer lose short dictations
The energy VAD compared audio to a fixed loudness level, so on a webcam mic at 40% input volume short sentences were discarded as silence. Each recording's own background noise is now measured, and speech has to stand out from it. A loud mic behaves exactly as before, and a high threshold you set on purpose stays high. When a recording is discarded you now get a notification instead of what looked like a hang.
[output.notification]
on_no_speech = false # turn the notice off
Your config survives voxtype editing it
voxtype setup model could leave a duplicate model = line that stopped the daemon from starting. --config other.toml on setup commands wrote your real config instead. voxtype configure saved the post-process command under a section voxtype never reads. All three are fixed, and every edit now goes through the same TOML editor as voxtype config set, so comments survive. A section in the wrong place now gets a startup warning, and voxtype config set reaches every scalar setting, including the whole [soniox] section.
Model overrides work on every engine
voxtype --model X record start only worked when Whisper was the engine. Now the name picks its engine: on a Parakeet setup, --model base.en transcribes with Whisper and --model moonshine-base with Moonshine. transcribe does the same, and an unknown name fails with the command that fixes it.
The GTK4 OSD survives a monitor going away (#580)
Closing the lid with an external monitor attached segfaulted the GTK4 OSD, from a GTK bug (gtk#8366) triggered by Hyprland's hotplug handling. The OSD now works around it on affected GTK versions only. Reported by Vlad Noskov. OSD recipes also apply from the command line with voxtype setup osd --recipe NAME (#709), with recipes by OldJobobo.
Hotkey fixes from Ryan Ronnander (#787, #788)
Push-to-talk on a chord like RightAlt + RightCtrl now ends when you release in either order, and Print Screen is bindable as key = "PRINTSCREEN".
Bug fixes
- A second
voxtype daemonno longer damages the running one before refusing - A
record cancelsent right before or afterrecord startis no longer lost - Two
meeting startcalls close together no longer create two meetings - A
--filerecording that hits the time limit is written to the file instead of typed - File output that can't be written falls back to the clipboard instead of dropping your text
- Eager processing no longer repeats words at chunk boundaries, and silent eager recordings no longer come back as "you"
- Paraformer and Omnilingual put spaces back in English output
- Unloading Parakeet with
on_demand_loadingreturns its memory to the system record stop --waitreads your configuredstate_file(#714), reported by Zhang Erning- OSD waveforms scroll at the display refresh rate (#746), contributed by Carmine Paolino