Repository navigation
VoxCtrl v0.8.0
What's new in 0.8.0
GPU acceleration for every engine, with one switch to control it.
Moonshine and Parakeet can now run on your GPU, not just Whisper.cpp, and
every engine is turned on or off the same way: a GPU acceleration
checkbox in Settings → Engine (Whisper.cpp, Moonshine, Parakeet),
Settings → Features (S1-mini) and Settings → Text to Speech. The
Whisper.cpp Device dropdown is gone; the checkbox replaces it, and existing
settings carry over.
A chip beside each engine's name now says which device it is using — for
example ✔ Ready (Vulkan (AMD/Intel/NVIDIA)) or ✔ Ready (CPU) — so it is
always clear when the GPU is in play. S1-mini's chip follows its own
checkbox, too.
WebGPU for Moonshine and Parakeet. ONNX Runtime has no Vulkan backend, so
these two engines use its WebGPU provider instead (Direct3D 12 on Windows,
Vulkan underneath on Linux). The Windows installer now includes it for both
engines. On Linux it ships as a second download,
-linux-x86_64-vulkan-webgpu.AppImage, because the GPU library it bundles
needs glibc 2.38 or newer and would not start on Ubuntu 22.04 or Debian 12 —
those keep using the plain Vulkan AppImage, and the updater never moves an
install onto a build it cannot run.
Moonshine and Parakeet start on the CPU, on purpose. Both run part of
their work on the CPU even with the GPU provider registered, and pass data
back and forth on every decoding step. Measured on an RTX 4090, Moonshine and
Parakeet were 5–7× slower on WebGPU (S1-mini and Whisper.cpp were the ones
that gained). Turn GPU acceleration on in Settings → Engine if your
hardware behaves differently.
New: Speed test. Whether the GPU helps depends on your machine, so
Settings → Engine → Speed test measures it: it times each downloaded
engine on the CPU and on the GPU with a short speech clip, shows the results
and recommends the faster device for each, with one button to apply them. It
shows how long it expects to take (usually under a minute), a progress bar
with the time left, and can be cancelled.
S1-mini can be switched between the GPU and the CPU without restarting;
the change applies to the next cleanup.
Fixed: S1-mini never actually ran on the GPU in packaged builds. The
build step that stages the helper process rebuilt it without Vulkan and
bundled that CPU-only copy over the Vulkan one, while Settings said Vulkan.
Packaged builds now ship the Vulkan helper (cleanups measured ~60 ms instead
of ~300–450 ms on an RTX 4090), and Settings asks the helper which backend it
really has instead of assuming — so it says CPU when that is the truth. The
first cleanup after loading the model on the GPU is slower while the GPU
compiles its shaders.
Notes
Each engine reloads its model when you change its checkbox. The setting is
stored as engine.moonshine.device, engine.parakeet.device and
engine.s1_mini.gpu.
Downloads
Pick the build for your platform and GPU:
| Platform | File suffix | GPU required |
|---|---|---|
| Linux | -linux-x86_64-vulkan.AppImage |
None — GPU used if present |
| Linux (newer distros) | -linux-x86_64-vulkan-webgpu.AppImage |
None — GPU used if present; also accelerates Moonshine and Parakeet. Needs glibc 2.38+ (Ubuntu 24.04, Fedora 39, Debian 13, Arch and similar) |
| Windows | -windows-x86_64-webgpu.exe |
None — GPU used if present |
There is one Windows build. It accelerates the Moonshine and
Parakeet speech engines on any Direct3D 12 GPU — NVIDIA, AMD or
Intel — through ONNX Runtime's WebGPU provider, and runs on the CPU
when no usable GPU is found, so it replaces the separate CPU
installer rather than sitting beside it. Each engine has its own
GPU acceleration checkbox in Settings → Engine, and the chip
beside the engine's name says which device it is using. Whisper.cpp still runs on the CPU on Windows either
way, because its only GPU path here is ggml's Vulkan backend, which
does not register on Windows MSVC static builds. If your GPU is not
usable the app says so in the log and falls back to the CPU rather
than pretending. If you were running the separate CPU installer,
VoxCtrl's own updater will move you onto this one; nothing to do.
Linux has two builds. The Vulkan AppImage accelerates
any NVIDIA/AMD/Intel GPU through the host Vulkan driver and runs on
the CPU when there is no Vulkan device, so it replaces the separate
CPU AppImage rather than sitting beside it — the same file is right
whether or not you have a GPU. The Vulkan + WebGPU AppImage is the same
app plus GPU acceleration for Moonshine and Parakeet; it bundles Dawn, which
needs glibc 2.38 or newer, so it will not start on Ubuntu 22.04 or Debian 12 —
use the plain Vulkan AppImage there. VoxCtrl's updater keeps each install on
the variant it is running. If you were running the old CPU AppImage, the
updater moves you onto the Vulkan one; nothing to do.
To keep an engine on the CPU regardless, untick GPU acceleration for it
in Settings → Engine. Worth doing if your only Vulkan device is a software
rasterizer such as Mesa's lavapipe, which is slower than the CPU
backend.
The Linux .deb now requires libvulkan1, which the package
manager pulls in for you.
The Windows build is an NSIS installer, not code-signed yet, so
SmartScreen will warn that the publisher is unknown: choose
More info → Run anyway.
Windows — first run
Windows 10 21H2 or newer, or Windows 11. Everything VoxCtrl needs is
in the installer; WebView2 ships with Windows 11 and the installer
fetches it on older builds.
Two things are worth knowing before the first dictation:
- Microphone access. Windows denies it silently. If dictation
produces nothing, check Settings → Privacy & security →
Microphone and allow desktop apps. - Global shortcuts arrive through a Windows keyboard hook, so
every gesture works — but Windows does not deliver keys to it
while an elevated application has focus, or on the UAC prompt and
lock screen. Shortcuts do not fire there, and dictated text cannot
be typed into an elevated window unless VoxCtrl is elevated too.
Linux — first run
The Vulkan AppImage needs glibc 2.35 or newer (Ubuntu 22.04+, Linux Mint 21+,
Debian 12+, Fedora 36+, Arch); the Vulkan + WebGPU one needs 2.38 or newer.
Nothing has to be installed first — not even libfuse2.
# The file you downloaded: -vulkan.AppImage or -vulkan-webgpu.AppImage
APP=./VoxCtrl-linux-x86_64-vulkan.AppImage
chmod +x "$APP"
# Optional: installs the desktop entry and text-injection helpers.
# Global shortcuts need no permissions — your desktop handles them.
"$APP" --install
# Launch the application
"$APP"What's Changed
Full Changelog: v0.7.4...v0.8.0