vocalinux

VocaHQAGPL-3.0活跃维护

Linux 上的离线语音听写工具,基于 whisper.cpp、Whisper 和 VOSK 引擎,支持 GPU 加速,在 X11 和 Wayland 下都能把说的话直接输入到任意应用。

Free, open-source, 100% offline voice dictation for Linux. Speak and type anywhere via whisper.cpp, Whisper & VOSK engines, GPU-accelerated, works on X11 + Wayland!

v0.18.6发布于 2026-11-08 23:00 UTC1,011star +11 / 7 天109fork同步于 2026-11-10 23:52 UTC

怎么上手

由 README 提炼,执行前请确认
pip install vocalinux
vocalinux --help
硬件要求按 README 说明

README 未给出具体显存或内存要求;GPU 加速通过 whisper.cpp 的 Vulkan 后端支持 AMD、Intel、NVIDIA 显卡,未列型号。

需要 CUDA
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Linux 桌面离线语音听写工具,说话即输入到当前焦点应用

Linux 上的离线语音听写工具,基于 whisper.cpp、Whisper 和 VOSK 引擎,支持 GPU 加速,在 X11 和 Wayland 下都能把说的话直接输入到任意应用。

核心能力

  • 用 whisper.cpp 等本地引擎在机器上完成语音转文字
  • 通过 xdotool、IBus、wtype、ydotool 或剪贴板注入文本
  • whisper.cpp 走 Vulkan 加速 AMD、Intel、NVIDIA 显卡
  • 支持按住说话与切换式两种触发方式
  • 内置语音命令处理换行、标点和删除上句

容易踩的坑

首次使用需先下载模型,之后才能离线转写;Neural VAD 依赖 onnxruntime,手动/PyPI 安装需 pip install "vocalinux[vad]";远程 HTTP API 默认关闭,启用后不再是在设备上处理。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.18.6
  1. nightly-2026-11-10Nightly Build - 0.18.6.dev20261110+5648785pre-release2026-11-10 · 2026-11-10 09:32 UTC
    查看更新说明

    Nightly Build 0.18.6.dev20261110+5648785

    This is a nightly development build. It may contain bugs or incomplete features. Use at your own risk.


    What's in This Build

    Commit Details:

    • SHA: 5648785
    • Message: chore(release): v0.18.6 (#1054)
    • Author: Jatin K Malik
    • Date: 2026-11-08 14:52:14 -0800

    Changes Since Last Nightly

    No new commits since last nightly


    Installation

    Quick Install (Recommended)

    Download the wheel file below and install:

    pip install vocalinux-0.18.6.dev20261110+5648785-py3-none-any.whl
    
    From PyPI (Stable)

    For the latest stable release:

    pip install vocalinux
    
    Using Install Script
    curl -fsSL https://raw.githubusercontent.com/VocaHQ/vocalinux/main/install.sh | bash
    
    AppImage (no install, no root)

    Download the .AppImage matching your CPU (x86_64 or aarch64) below:

    chmod +x Vocalinux-0.18.6.dev20261110+5648785-x86_64.AppImage
    ./Vocalinux-0.18.6.dev20261110+5648785-x86_64.AppImage
    

    Requires xdotool/wtype/ydotool on the host for text injection, same as the PyPI install path.


    Build Information

    PropertyValue
    Version0.18.6.dev20261110+5648785
    Base Version0.18.6
    Build Date20261110
    Python3.11+
    OSLinux (X11 & Wayland)

    Files

    • vocalinux-0.18.6.dev20261110+5648785-py3-none-any.whl - Python wheel (recommended)
    • vocalinux-0.18.6.dev20261110+5648785.tar.gz - Source distribution
    • Vocalinux-0.18.6.dev20261110+5648785-x86_64.AppImage - Self-contained, no install (Intel/AMD)
    • Vocalinux-0.18.6.dev20261110+5648785-aarch64.AppImage - Self-contained, no install (ARM64, added shortly after this release is published)

    Links


    Only the 3 most recent nightly builds are kept. This build will be automatically deleted when newer nightlies are created.

    Generated on 2026-11-10 09:32:10 UTC

  2. nightly-2026-11-09Nightly Build - 0.18.6.dev20261109+5648785pre-release2026-11-09 · 2026-11-09 09:28 UTC
    查看更新说明

    Nightly Build 0.18.6.dev20261109+5648785

    This is a nightly development build. It may contain bugs or incomplete features. Use at your own risk.


    What's in This Build

    Commit Details:

    • SHA: 5648785
    • Message: chore(release): v0.18.6 (#1054)
    • Author: Jatin K Malik
    • Date: 2026-11-08 14:52:14 -0800

    Recent Commits

    • 5648785 chore(release): v0.18.6 (#1054)
    • 0ff1482 fix(settings): keep the follow-layout readout in step with layout switches (#1050)
    • 02db0d3 fix(injection): release Ctrl/Shift after the wtype paste chord (#1049)
    • 8fac6e2 fix(packaging): ship gtk-layer-shell with the .deb, .rpm and Flatpak (#1044)
    • 0a4d637 fix(overlay): detect Wayland by GType so the fallback overlay stays compact (#1030) (#1035)
    • f70357f fix(overlay): quit Vocalinux when the dock closes the overlay window (#1028) (#1036)
    • 61bfb1e fix(ui): escape device names and test errors in the audio status label (#1043)
    • c461cf5 fix(snap): build from locked python inputs and verify artifacts (#1041)
    • 80e3019 feat(parakeet): add optional Underdog Bark 3.0 models, int8 and 4-bit (#1031)
    • f3913fb fix(ui): show the selected microphone's full name in the device tooltip (#1029) (#1037)

    Installation

    Quick Install (Recommended)

    Download the wheel file below and install:

    pip install vocalinux-0.18.6.dev20261109+5648785-py3-none-any.whl
    
    From PyPI (Stable)

    For the latest stable release:

    pip install vocalinux
    
    Using Install Script
    curl -fsSL https://raw.githubusercontent.com/VocaHQ/vocalinux/main/install.sh | bash
    
    AppImage (no install, no root)

    Download the .AppImage matching your CPU (x86_64 or aarch64) below:

    chmod +x Vocalinux-0.18.6.dev20261109+5648785-x86_64.AppImage
    ./Vocalinux-0.18.6.dev20261109+5648785-x86_64.AppImage
    

    Requires xdotool/wtype/ydotool on the host for text injection, same as the PyPI install path.


    Build Information

    PropertyValue
    Version0.18.6.dev20261109+5648785
    Base Version0.18.6
    Build Date20261109
    Python3.11+
    OSLinux (X11 & Wayland)

    Files

    • vocalinux-0.18.6.dev20261109+5648785-py3-none-any.whl - Python wheel (recommended)
    • vocalinux-0.18.6.dev20261109+5648785.tar.gz - Source distribution
    • Vocalinux-0.18.6.dev20261109+5648785-x86_64.AppImage - Self-contained, no install (Intel/AMD)
    • Vocalinux-0.18.6.dev20261109+5648785-aarch64.AppImage - Self-contained, no install (ARM64, added shortly after this release is published)

    Links


    Only the 3 most recent nightly builds are kept. This build will be automatically deleted when newer nightlies are created.

    Generated on 2026-11-09 09:28:30 UTC

  3. v0.18.6最新正式版2026-11-08 · 2026-11-08 23:00 UTC

    Vocalinux v0.18.6

    A patch on the 0.18 stable line. It fixes a stuck Ctrl key after paste on Sway, a dock Quit that did nothing on GNOME, an empty overlay window on KDE, and a Settings layout readout that did not follow layout switches.

    Highlights

    FixWhat changed
    Ctrl no longer sticks after pasteThe wtype paste chord used alongside ydotool now releases Ctrl and Shift on Sway and other wlroots compositors
    Dock Quit closes VocalinuxQuit from the GNOME Wayland dock or taskbar menu now quits the app
    No empty overlay windowThe Wayland fallback overlay is detected by GType and stays compact
    gtk-layer-shell packaged.deb/.rpm recommend it and the Flatpak bundles it, so the overlay stays out of the KDE/wlroots taskbar
    Settings follows layout switchesThe follow-layout readout and picker update while Settings is open

    Bug Fixes

    Text injection

    • Release Ctrl/Shift after the wtype paste chord (#1049 by @jatinkrmalik; fixes #1048 reported by @rafaeln)

    Overlay and tray

    • Quit Vocalinux when the dock closes the overlay window (#1036 by @jatinkrmalik; fixes #1028 reported by @lavoie005)
    • Detect Wayland by GType so the fallback overlay stays compact (#1035 by @jatinkrmalik; refs #1030 reported by @Satlinker)

    Settings

    • Keep the follow-layout readout in step with layout switches (#1050 by @jatinkrmalik; fixes #1047 reported by @hopsayer)
    • Show the selected microphone's full name in the device tooltip, and escape device names and test errors in the audio status label (#1037, #1043 by @jatinkrmalik; refs #1029 reported by @cmcclung-ANGENG)

    Packaging

    • Ship gtk-layer-shell with the .deb, .rpm and Flatpak (#1044 by @jatinkrmalik; refs #1030)
    • Build the Snap from locked Python inputs and verify the installed artifact (#1041 by @sesav)

    Improvements

    • Optional Underdog Bark 3.0 models for the Parakeet engine, int8 and 4-bit, English only (#1031 by @AlexThunder1989)

    Thanks

    @AlexThunder1989 and @sesav for their PRs, and @rafaeln, @hopsayer, @Satlinker, @steffenmichalek, @jmcastagnetto, @lavoie005 and @cmcclung-ANGENG for their reports.

    Install / Upgrade

    Quick Install (Recommended)

    curl -fsSL https://raw.githubusercontent.com/VocaHQ/vocalinux/v0.18.6/install.sh | bash
    

    From Source

    git clone https://github.com/VocaHQ/vocalinux.git
    cd vocalinux
    ./install.sh
    

    From PyPI

    # Install the Linux system packages first:
    # GTK/AppIndicator, PortAudio, and xdotool/wtype are required.
    python3 -m venv ~/.local/share/vocalinux-pypi/venv --system-site-packages
    source ~/.local/share/vocalinux-pypi/venv/bin/activate
    pip install vocalinux
    vocalinux
    

    PyPI installs the Python package only. For automatic system dependency, desktop integration, and model setup, use the Quick Install command above. See docs/INSTALL.md for distro-specific PyPI prerequisites.

    Arch Linux (AUR)

    yay -S vocalinux
    

    AppImage (no install, no root)

    Download the .AppImage matching your CPU (x86_64 or aarch64, the latter attached shortly after this release is published) below:

    chmod +x Vocalinux-0.18.6-x86_64.AppImage
    ./Vocalinux-0.18.6-x86_64.AppImage
    

    Still requires xdotool/wtype/ydotool on the host for text injection, same as the PyPI path.

    Distro packages (.deb / .rpm)

    Download the package matching your distro and CPU (amd64/x86_64, or arm64/aarch64 attached shortly after this release is published):

    # Debian / Ubuntu
    sudo apt install ./vocalinux_*_amd64.deb
    
    # Fedora
    sudo dnf install ./vocalinux-*.x86_64.rpm
    

    Thin packages: Python, GTK, PyGObject and the AppIndicator typelib come from the distro, and apt/dnf resolves them. Only pywhispercpp and pynput are vendored (the first is packaged by neither distro, the second is missing on Fedora). whisper.cpp runs on CPU in these packages; the Vulkan buil

  4. nightly-2026-11-07Nightly Build - 0.18.5.dev20261107+0a4d637pre-release2026-11-07 · 2026-11-07 08:34 UTC
    查看更新说明

    Nightly Build 0.18.5.dev20261107+0a4d637

    This is a nightly development build. It may contain bugs or incomplete features. Use at your own risk.


    What's in This Build

    Commit Details:

    • SHA: 0a4d637
    • Message: fix(overlay): detect Wayland by GType so the fallback overlay stays compact (#1030) (#1035)
    • Author: Jatin K Malik
    • Date: 2026-11-02 19:17:27 -0800

    Recent Commits

    • 0a4d637 fix(overlay): detect Wayland by GType so the fallback overlay stays compact (#1030) (#1035)
    • f70357f fix(overlay): quit Vocalinux when the dock closes the overlay window (#1028) (#1036)
    • 61bfb1e fix(ui): escape device names and test errors in the audio status label (#1043)
    • c461cf5 fix(snap): build from locked python inputs and verify artifacts (#1041)
    • 80e3019 feat(parakeet): add optional Underdog Bark 3.0 models, int8 and 4-bit (#1031)
    • f3913fb fix(ui): show the selected microphone's full name in the device tooltip (#1029) (#1037)
    • d11af1c chore(deps): bump the github-actions group with 4 updates (#1042)
    • 122a5e6 feat(web): Linux-flavoured 404 page that sends visitors back (#1040)
    • f7147bd fix(web): SEO fixes from Search Console and Lighthouse audit (#1039)
    • 6389e81 docs(web): 16 new SEO pages for v0.17–v0.18 features and more distros (#1038)

    Installation

    Quick Install (Recommended)

    Download the wheel file below and install:

    pip install vocalinux-0.18.5.dev20261107+0a4d637-py3-none-any.whl
    
    From PyPI (Stable)

    For the latest stable release:

    pip install vocalinux
    
    Using Install Script
    curl -fsSL https://raw.githubusercontent.com/VocaHQ/vocalinux/main/install.sh | bash
    
    AppImage (no install, no root)

    Download the .AppImage matching your CPU (x86_64 or aarch64) below:

    chmod +x Vocalinux-0.18.5.dev20261107+0a4d637-x86_64.AppImage
    ./Vocalinux-0.18.5.dev20261107+0a4d637-x86_64.AppImage
    

    Requires xdotool/wtype/ydotool on the host for text injection, same as the PyPI install path.


    Build Information

    PropertyValue
    Version0.18.5.dev20261107+0a4d637
    Base Version0.18.5
    Build Date20261107
    Python3.11+
    OSLinux (X11 & Wayland)

    Files

    • vocalinux-0.18.5.dev20261107+0a4d637-py3-none-any.whl - Python wheel (recommended)
    • vocalinux-0.18.5.dev20261107+0a4d637.tar.gz - Source distribution
    • Vocalinux-0.18.5.dev20261107+0a4d637-x86_64.AppImage - Self-contained, no install (Intel/AMD)
    • Vocalinux-0.18.5.dev20261107+0a4d637-aarch64.AppImage - Self-contained, no install (ARM64, added shortly after this release is published)

    Links


    Only the 3 most recent nightly builds are kept. This build will be automatically deleted when newer nightlies are created.

    Generated on 2026-11-07 08:34:47 UTC

  5. nightly-2026-11-06Nightly Build - 0.18.5.dev20261106+0a4d637pre-release2026-11-06 · 2026-11-06 09:07 UTC
    查看更新说明

    Nightly Build 0.18.5.dev20261106+0a4d637

    This is a nightly development build. It may contain bugs or incomplete features. Use at your own risk.


    What's in This Build

    Commit Details:

    • SHA: 0a4d637
    • Message: fix(overlay): detect Wayland by GType so the fallback overlay stays compact (#1030) (#1035)
    • Author: Jatin K Malik
    • Date: 2026-11-02 19:17:27 -0800

    Recent Commits

    • 0a4d637 fix(overlay): detect Wayland by GType so the fallback overlay stays compact (#1030) (#1035)
    • f70357f fix(overlay): quit Vocalinux when the dock closes the overlay window (#1028) (#1036)
    • 61bfb1e fix(ui): escape device names and test errors in the audio status label (#1043)
    • c461cf5 fix(snap): build from locked python inputs and verify artifacts (#1041)
    • 80e3019 feat(parakeet): add optional Underdog Bark 3.0 models, int8 and 4-bit (#1031)
    • f3913fb fix(ui): show the selected microphone's full name in the device tooltip (#1029) (#1037)
    • d11af1c chore(deps): bump the github-actions group with 4 updates (#1042)
    • 122a5e6 feat(web): Linux-flavoured 404 page that sends visitors back (#1040)
    • f7147bd fix(web): SEO fixes from Search Console and Lighthouse audit (#1039)
    • 6389e81 docs(web): 16 new SEO pages for v0.17–v0.18 features and more distros (#1038)

    Installation

    Quick Install (Recommended)

    Download the wheel file below and install:

    pip install vocalinux-0.18.5.dev20261106+0a4d637-py3-none-any.whl
    
    From PyPI (Stable)

    For the latest stable release:

    pip install vocalinux
    
    Using Install Script
    curl -fsSL https://raw.githubusercontent.com/VocaHQ/vocalinux/main/install.sh | bash
    
    AppImage (no install, no root)

    Download the .AppImage matching your CPU (x86_64 or aarch64) below:

    chmod +x Vocalinux-0.18.5.dev20261106+0a4d637-x86_64.AppImage
    ./Vocalinux-0.18.5.dev20261106+0a4d637-x86_64.AppImage
    

    Requires xdotool/wtype/ydotool on the host for text injection, same as the PyPI install path.


    Build Information

    PropertyValue
    Version0.18.5.dev20261106+0a4d637
    Base Version0.18.5
    Build Date20261106
    Python3.11+
    OSLinux (X11 & Wayland)

    Files

    • vocalinux-0.18.5.dev20261106+0a4d637-py3-none-any.whl - Python wheel (recommended)
    • vocalinux-0.18.5.dev20261106+0a4d637.tar.gz - Source distribution
    • Vocalinux-0.18.5.dev20261106+0a4d637-x86_64.AppImage - Self-contained, no install (Intel/AMD)
    • Vocalinux-0.18.5.dev20261106+0a4d637-aarch64.AppImage - Self-contained, no install (ARM64, added shortly after this release is published)

    Links


    Only the 3 most recent nightly builds are kept. This build will be automatically deleted when newer nightlies are created.

    Generated on 2026-11-06 09:07:35 UTC

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Vocalinux

    Voice dictation for Linux

    Ubuntu Debian Fedora Arch openSUSE

    Privacy: on-device X11 & Wayland License: AGPL-3.0 Python 3.11+ GitHub release

    AppImage .deb .rpm Flatpak Snap AUR PyPI Nix flake

    Discord VocaHQ Follow on X

    Website · Install · Docs · Releases

    Vocalinux turns speech into typed text in whatever app has focus. It is a free, AGPL-3.0-licensed desktop app for X11 and Wayland. After you download a model, local engines (whisper.cpp by default, plus OpenAI Whisper, Faster Whisper, VOSK, and Parakeet) run speech-to-text on your machine. An optional remote HTTP API is off unless you configure it.

    No Voca account is required. Models download once. After that, speech-to-text stays on your machine.

    Current release: v0.18.6. Patch: Ctrl no longer stays held after a paste on Sway and other wlroots compositors, Quit from the dock or taskbar closes Vocalinux on GNOME, the Wayland fallback overlay no longer opens as a large empty window, the .deb, .rpm and Flatpak ship gtk-layer-shell, and the Settings layout readout follows layout switches. Details: docs/UPDATE.md.

    Features

    • On-device after model download: Local engines; speech-to-text stays on your machine
    • X11 and Wayland: Text injection via xdotool, IBus, wtype, ydotool, or clipboard fallback
    • Several engines: whisper.cpp (default), OpenAI Whisper, Faster Whisper, VOSK, Parakeet, plus optional remote HTTP API or local VocaGateway from Settings (not on-device)
    • GPU acceleration: Vulkan for AMD, Intel, and NVIDIA with whisper.cpp
    • Toggle or push-to-talk: New installs default to hold Right Alt; existing configs keep their shortcut
    • System tray + settings: Searchable sidebar, Speech Model simple setup with Advanced as an island, status icons, audio feedback
    • Start on login: XDG autostart (desktop session, not a systemd service)
    • Packaging: install script, .deb / .rpm, AppImage, AUR, PyPI, Snap (--edge), Flatpak (release bundles and local build; not on Flathub), Nix flake

    Screenshots

    Vocalinux in action. Full gallery on the website screenshots page.

    Product

    Settings

    Install

    Recommended (interactive installer)

    curl -fsSL https://raw.githubusercontent.com/VocaHQ/vocalinux/main/install.sh -o /tmp/vl.sh
    bash /tmp/vl.sh
    

    Prefer to review the script first: open /tmp/vl.sh before running it, or clone the repo and run ./install.sh locally.

    The installer detects hardware, recommends an engine, downloads a default model (~74MB for whisper.cpp tiny), installs neural VAD when ONNX Runtime is available, and sets up desktop integration. Typical install time with whisper.cpp is about 1-2 minutes.

    EngineWhen to use
    whisper.cpp (default)Best default; Vulkan GPU on AMD, Intel, and NVIDIA
    Whisper (OpenAI)PyTorch path; NVIDIA/CUDA
    Faster WhisperCPU-friendly Whisper via CTranslate2 / INT8
    VOSKLow RAM / minimal footprint
    ParakeetCPU; NVIDIA NeMo ASR via sherpa-onnx; 25 European languages
    Remote APIOffload to a server you configure

    Non-interactive options:

    bash /tmp/vl.sh --auto                              # whisper.cpp defaults
    bash /tmp/vl.sh --auto --engine=whisper             # OpenAI Whisper
    bash /tmp/vl.sh --auto --engine=faster_whisper      # Faster Whisper (CPU)
    bash /tmp/vl.sh --auto --engine=vosk                # VOSK only
    bash /tmp/vl.sh --auto --engine=parakeet            # Parakeet (CPU)
    

    For a specific release tag, see GitHub Releases or ./install.sh --tag=v0.18.6.

    Arch Linux (AUR)

    yay -S vocalinux
    

    See docs/AUR.md.

    AppImage

    Download the x86_64 or aarch64 AppImage from Releases, mark it executable, and run it. Built against glibc 2.35 (Debian 12+, Ubuntu 22.04+, Fedora 36+, Arch, Tumbleweed). Host text-injection tools (xdotool on X11; wtype / ydotool / clipboard tools on Wayland) are still required. Current AppImages rebuild whisper.cpp with Vulkan and use the host GPU driver. Prefer the installer when you want system deps, a CUDA build, and models set up automatically.

    Distro packages (.deb / .rpm)

    Download the .deb (Debian 12+, Ubuntu 24.04+) or .rpm (Fedora) matching your CPU from Releases and install with sudo apt install ./vocalinux_*.deb or sudo dnf install ./vocalinux-*.rpm. Thin packages: Python and GTK come from the distro. No auto-update; CPU whisper.cpp. Details in docs/INSTALL.md.

    Flatpak (any distro)

    Install and auto-update via the self-hosted VocaHQ remote (flatpak update picks up each release):

    flatpak install https://vocahq.github.io/vocalinux-flatpak/com.vocalinux.Vocalinux.flatpakref
    

    The .flatpakref adds the vocahq remote and resolves the GNOME runtime through Flathub. Manually instead:

    flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
    flatpak remote-add --if-not-exists vocahq https://vocahq.github.io/vocalinux-flatpak/vocahq.flatpakrepo
    flatpak install vocahq com.vocalinux.Vocalinux
    

    Or sideload a GitHub Release bundle (Vocalinux-<version>-x86_64.flatpak or -aarch64.flatpak) after the Flathub GNOME runtime is present — bundles do not auto-update:

    flatpak install --user ./Vocalinux-<version>-x86_64.flatpak
    

    Local build:

    flatpak install flathub org.gnome.Platform//50 org.gnome.Sdk//50
    flatpak-builder --user --install --force-clean build-dir \
      packaging/flatpak/com.vocalinux.Vocalinux.yml
    flatpak run com.vocalinux.Vocalinux
    

    Ships whisper.cpp with Vulkan. It is not on Flathub (submission flathub#9368 closed 2026-07-23 on policy grounds). Details: packaging/flatpak/README.md.

    Snap (Ubuntu Snap Store)

    Listing: snapcraft.io/vocalinux. stable is promoted from candidate after QA. Tagged releases also attach vocalinux_<version>_amd64.snap on GitHub.

    sudo snap install vocalinux --edge
    sudo snap connect vocalinux:audio-record   # if mic is not auto-connected
    sudo snap connect vocalinux:raw-input      # global keyboard shortcuts (evdev)
    sudo snap connect vocalinux:hardware-observe  # list keyboards (/proc/bus/input/devices)
    

    Native Wayland typing uses the RemoteDesktop portal: the compositor asks once on first dictation, nothing to connect. The recipe ships no uinput plug and no ydotool; the Store denied the super-privileged grant, which held the 0.17.0+ revisions and left v0.16.2 (rev 7) on edge. On KDE Plasma, KWin's portal can mistype letter case (KDE bug 489021); set Virtual Keyboard to "IBus Wayland" so dictation types correctly.

    GitHub .snap files through v0.18.2 declare uinput, so KDE users who want ydotool can sideload that build and connect the plug manually:

    sudo snap install --dangerous ./vocalinux_0.18.2_amd64.snap
    sudo snap connect vocalinux:uinput   # only in the v0.18.x sideload; the recipe no longer ships it
    

    Nix / NixOS (flake)

    nix run github:VocaHQ/vocalinux          # try it
    nix profile install github:VocaHQ/vocalinux
    

    The flake also ships nixosModules.vocalinux and homeManagerModules.vocalinux for declarative installs (programs.vocalinux.enable = true). The bundled pywhispercpp builds with Vulkan GPU inference. Details: packaging/nix/README.md.

    From source

    git clone https://github.com/VocaHQ/vocalinux.git
    cd vocalinux
    ./install.sh
    # or pick the engine up front
    ./install.sh --engine=whisper_cpp
    ./install.sh --engine=vosk
    ./install.sh --engine=parakeet --auto
    

    After installation

    vocalinux                 # if ~/.local/bin is on PATH
    # or
    ~/.local/share/vocalinux/venv/bin/vocalinux
    

    You can also launch Vocalinux from your application menu.

    Nightly builds

    Daily builds from main appear on Releases. Use the latest stable or beta release for production; nightlies are untested.

    Requirements

    OSLinux (Ubuntu 24.04+, Debian 12+, Fedora 42+, Arch, openSUSE Tumbleweed)
    Python3.11 or newer
    DisplayX11 or Wayland
    HardwareMicrophone; GPU optional (Vulkan)

    The distro must ship Python 3.11+ because Vocalinux uses distro PyGObject (python3-gi). Ubuntu 22.04 (Python 3.10) and Debian 11 (3.9) are below that floor. Distribution notes: docs/DISTRO_COMPATIBILITY.md.

    Usage

    Dictation

    1. Push-to-talk (default on new installs): hold Right Alt (Option on Mac-layout keyboards) and speak
    2. Speak into the microphone
    3. Release to stop, or switch to Toggle mode in Settings (double-tap a key to start/stop)

    Existing configs keep their saved shortcut.

    Voice commands

    English phrases always work. With a non-English recognition language, matching punctuation / line-break phrases in that language are also recognized (Italian virgola / punto, French virgule / point, etc.).

    CommandAction
    "new line"Line break
    "period" / "full stop" / "dot".
    "comma",
    "question mark"?
    "exclamation mark"!
    "delete that"Delete last sentence
    "capitalize"Capitalize next word

    CLI

    vocalinux --help
    vocalinux --version
    vocalinux --debug
    vocalinux --engine whisper_cpp    # default
    vocalinux --engine whisper
    vocalinux --engine faster_whisper
    vocalinux --engine vosk
    vocalinux --engine parakeet
    vocalinux --engine remote_api
    vocalinux --model medium
    vocalinux --model medium.en-q5_0  # exact whisper.cpp variant
    vocalinux --model large-v3-turbo
    vocalinux --wayland
    vocalinux --start-minimized
    

    Autostart

    Start on Login creates an XDG autostart desktop entry (~/.config/autostart/). It does not install a systemd unit. Enable from the first-run dialog, tray menu, or Settings.

    Configuration

    Stored at ~/.config/vocalinux/config.json. Prefer the Settings dialog for day-to-day changes. Settings → Speech Model starts with a simple setup; expand Advanced for engine, size, and specialization. Set post_processing.script_path to an executable to transform each transcription result (stdin → stdout) before it is injected; leave empty to disable.

    Neural VAD (Silero) is used when onnxruntime is available; install via pip install "vocalinux[vad]" for manual/PyPI installs. The installer attempts this automatically.

    Documentation

    DocumentDescription
    InstallationInstaller, AppImage, AUR, Flatpak, Snap, Nix flake, running
    Manual / PyPI installPackage lists and pip workflows
    TroubleshootingCommon failures
    User guideDictation, engines, models, tips
    Update guideUpgrade steps and release notes
    ChangelogRelease history pointers
    SupportWhere to get help
    Distribution compatibilityDistro matrix and session notes
    Remote HTTP APIOffload transcription to a server
    Local VocaGateway (optional)Start a local gateway from Settings; not on-device
    ContributingDev setup, style, PR process
    SecuritySupported versions and vulnerability reporting
    Docs indexFull documentation map

    Privacy and security

    • Local engines process audio on-device after you download a model; no Voca account required
    • Optional remote API is off by default and only used when you configure a server
    • Model downloads are checked against pinned checksums

    Report vulnerabilities privately per SECURITY.md.

    Development

    git clone https://github.com/VocaHQ/vocalinux.git
    cd vocalinux
    ./install.sh --dev
    source venv/bin/activate
    pytest
    python -m vocalinux.main --debug
    

    See CONTRIBUTING.md for the two-venv layout, just recipes, and PR guidelines.

    Roadmap

    Shipped: graphical settings, multi-language support, whisper.cpp default, Vulkan GPU, Wayland/IBus, Flatpak packaging, AppImage, .deb / .rpm packages, in-app update checker, Parakeet and Faster Whisper engines, Snap recipe.

    Planned:

    • Application-specific voice commands
    • User-customizable voice command map
    • Flathub publication (not currently listed; see #167)

    Voca ecosystem

    Vocalinux is part of VocaHQ. On-device speech-to-text first, one app per platform. Optional VocaGateway is self-hosted and not on-device.

    PlatformProjectWebsiteGitHub
    LinuxVocaLinuxvocalinux.comVocaHQ/vocalinux
    macOSVocaMacvocamac.comVocaHQ/vocamac
    WindowsVocaWinvocawin.comVocaHQ/vocawin
    PhoneVocaPhonevocaphone.vocahq.comVocaHQ/vocaphone
    GatewayVocaGatewayvocagateway.vocahq.comVocaHQ/vocagateway

    Talk to us: Discord · X @vocahq · [email protected]

    Contributing

    Bug reports, docs, and code are welcome. Start with CONTRIBUTING.md and good first issues.

    Contributors

    Thanks to everyone who has contributed code, docs, or fixes:

    Repository mirrors

    GitHub is the primary forge for issues, PRs, CI, and releases.

    RoleURL
    Primaryhttps://github.com/VocaHQ/vocalinux
    Read-only mirror (Codeberg)https://codeberg.org/jatinkrmalik/vocalinux

    Open issues and pull requests on GitHub only.

    License

    This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0), aligning with the other VocaHQ distribution projects.

    You may use, study, modify, and redistribute the software under AGPL-3.0. If you run a modified version as a network service, AGPL also requires that you make the corresponding source available.

    Star Chart

    Star History Chart

    Optional Orukeet model

    With the Parakeet engine installed, Settings → Speech Model → Parakeet also offers orukeet-v0.1.0. It uses the existing local sherpa-onnx recognizer for 25 European languages; the recommended Parakeet model and default whisper.cpp engine stay unchanged.

    The download comes from a pinned revision of oruk/orukeet on Hugging Face. Vocalinux checks every file against its bundled SHA-256 pins and checks the publisher's release manifest against those same pins. The manifest download participates in Hugging Face's normal model-download accounting. Cached recognition works offline and does not send audio or usage events. The model occupies about 641 MiB; its CC BY-SA 4.0 weights license and NVIDIA attribution are included.

    Optional Underdog Bark 3.0 models

    Settings → Speech Model → Parakeet also offers two builds of Underdog Bark 3.0, an English fine-tune of Parakeet TDT 0.6B v3 (CC BY 4.0): bark-3.0 (int8, 653 MiB) and bark-3.0-int4 (4-bit, 379 MiB, about half the memory, slower). Both come from a pinned revision of velddev/Underdog-Bark-3.0-sherpa-onnx, an unofficial sherpa-onnx conversion not made or endorsed by Conway Research. They run on the existing sherpa-onnx recognizer, every file is checked against its bundled SHA-256 pin, and the downloads include the license and attribution notice. Choose one for English dictation of conversational speech, bark-3.0-int4 when memory is tight; for read or multilingual speech keep v3-european.