feat(identity): rename user-visible identity to voculinux with one-time legacy import
The fork takes its own name everywhere a user can see it: binaries (voculinux, voculinux-gui), desktop entry, autostart, tray, D-Bus namespace (com.voculinux.Voculinux, no alias for the old name), config/data/cache dirs, single-instance lock, IBus engine identity, tray icons, resource prefixes, VOCULINUX_* environment names, and the update-checker user agent. The internal Python module stays vocalinux and the distribution metadata keeps the upstream URLs as provenance. On first run a previous Vocalinux install's config.json, custom dictionary, and portal restore token are copied once into the new locations (new config always wins, no merge, no write-back); models re-resolve through the pinned-checksum download path. An offline naming-sweep test proves no old-name strings remain on user-visible surfaces outside the allowlist. Refs #18
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
<div align="center">
|
||||
|
||||
<img src="https://vocalinux.com/brand/vocalinux-mark-circle.svg" width="50" height="50" alt="Vocalinux">
|
||||
<img src="https://voculinux.com/brand/voculinux-mark-circle.svg" width="50" height="50" alt="Voculinux">
|
||||
|
||||
# Vocalinux
|
||||
# Voculinux
|
||||
|
||||
**Voice dictation for Linux**
|
||||
|
||||
@@ -22,20 +22,20 @@
|
||||
[](https://github.com/VocaHQ/vocalinux/releases/latest)
|
||||
[](https://github.com/VocaHQ/vocalinux/releases/latest)
|
||||
[](#flatpak-any-distro)
|
||||
[](https://snapcraft.io/vocalinux)
|
||||
[](https://aur.archlinux.org/packages/vocalinux)
|
||||
[](https://pypi.org/project/vocalinux/)
|
||||
[](https://snapcraft.io/voculinux)
|
||||
[](https://aur.archlinux.org/packages/voculinux)
|
||||
[](https://pypi.org/project/voculinux/)
|
||||
[](packaging/nix/README.md)
|
||||
|
||||
[](https://discord.gg/t6muquAJbm)
|
||||
[](https://vocahq.com)
|
||||
[](https://x.com/vocahq)
|
||||
|
||||
[Website](https://vocalinux.com) · [Install](#install) · [Docs](#documentation) · [Releases](https://github.com/VocaHQ/vocalinux/releases)
|
||||
[Website](https://voculinux.com) · [Install](#install) · [Docs](#documentation) · [Releases](https://github.com/VocaHQ/vocalinux/releases)
|
||||
|
||||
</div>
|
||||
|
||||
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.
|
||||
Voculinux 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.
|
||||
|
||||
@@ -54,7 +54,7 @@ No Voca account is required. Models download once. After that, speech-to-text st
|
||||
|
||||
## Screenshots
|
||||
|
||||
Vocalinux in action. Full gallery on the [website screenshots page](https://vocalinux.com/screenshots/).
|
||||
Voculinux in action. Full gallery on the [website screenshots page](https://voculinux.com/screenshots/).
|
||||
|
||||
### Product
|
||||
|
||||
@@ -161,7 +161,7 @@ For a specific release tag, see [GitHub Releases](https://github.com/VocaHQ/voca
|
||||
### Arch Linux (AUR)
|
||||
|
||||
```bash
|
||||
yay -S vocalinux
|
||||
yay -S voculinux
|
||||
```
|
||||
|
||||
See [docs/AUR.md](docs/AUR.md).
|
||||
@@ -172,28 +172,28 @@ Download the `x86_64` or `aarch64` AppImage from [Releases](https://github.com/V
|
||||
|
||||
### Distro packages (.deb / .rpm)
|
||||
|
||||
Download the `.deb` (Debian 12+, Ubuntu 24.04+) or `.rpm` (Fedora) matching your CPU from [Releases](https://github.com/VocaHQ/vocalinux/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](docs/INSTALL.md).
|
||||
Download the `.deb` (Debian 12+, Ubuntu 24.04+) or `.rpm` (Fedora) matching your CPU from [Releases](https://github.com/VocaHQ/vocalinux/releases) and install with `sudo apt install ./voculinux_*.deb` or `sudo dnf install ./voculinux-*.rpm`. Thin packages: Python and GTK come from the distro. No auto-update; CPU whisper.cpp. Details in [docs/INSTALL.md](docs/INSTALL.md).
|
||||
|
||||
### Flatpak (any distro)
|
||||
|
||||
Install and auto-update via the self-hosted VocaHQ remote (`flatpak update` picks up each release):
|
||||
|
||||
```bash
|
||||
flatpak install https://vocahq.github.io/vocalinux-flatpak/com.vocalinux.Vocalinux.flatpakref
|
||||
flatpak install https://vocahq.github.io/voculinux-flatpak/com.voculinux.Voculinux.flatpakref
|
||||
```
|
||||
|
||||
The `.flatpakref` adds the `vocahq` remote and resolves the GNOME runtime through Flathub. Manually instead:
|
||||
|
||||
```bash
|
||||
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
|
||||
flatpak remote-add --if-not-exists vocahq https://vocahq.github.io/voculinux-flatpak/vocahq.flatpakrepo
|
||||
flatpak install vocahq com.voculinux.Voculinux
|
||||
```
|
||||
|
||||
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:
|
||||
Or sideload a GitHub Release bundle (`Voculinux-<version>-x86_64.flatpak` or `-aarch64.flatpak`) after the Flathub GNOME runtime is present — bundles do not auto-update:
|
||||
|
||||
```bash
|
||||
flatpak install --user ./Vocalinux-<version>-x86_64.flatpak
|
||||
flatpak install --user ./Voculinux-<version>-x86_64.flatpak
|
||||
```
|
||||
|
||||
Local build:
|
||||
@@ -201,21 +201,21 @@ Local build:
|
||||
```bash
|
||||
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
|
||||
packaging/flatpak/com.voculinux.Voculinux.yml
|
||||
flatpak run com.voculinux.Voculinux
|
||||
```
|
||||
|
||||
Ships whisper.cpp with Vulkan. It is **not on Flathub** (submission [flathub#9368](https://github.com/flathub/flathub/pull/9368) closed 2026-07-23 on policy grounds). Details: [packaging/flatpak/README.md](packaging/flatpak/README.md).
|
||||
|
||||
### Snap (Ubuntu Snap Store)
|
||||
|
||||
Listing: [snapcraft.io/vocalinux](https://snapcraft.io/vocalinux). `stable` is promoted from `candidate` after QA. Tagged releases also attach `vocalinux_<version>_amd64.snap` on GitHub.
|
||||
Listing: [snapcraft.io/voculinux](https://snapcraft.io/voculinux). `stable` is promoted from `candidate` after QA. Tagged releases also attach `voculinux_<version>_amd64.snap` on GitHub.
|
||||
|
||||
```bash
|
||||
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)
|
||||
sudo snap install voculinux --edge
|
||||
sudo snap connect voculinux:audio-record # if mic is not auto-connected
|
||||
sudo snap connect voculinux:raw-input # global keyboard shortcuts (evdev)
|
||||
sudo snap connect voculinux: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](https://bugs.kde.org/show_bug.cgi?id=489021)); set Virtual Keyboard to "IBus Wayland" so dictation types correctly.
|
||||
@@ -223,8 +223,8 @@ Native Wayland typing uses the RemoteDesktop portal: the compositor asks once on
|
||||
GitHub `.snap` files through v0.18.2 declare `uinput`, so KDE users who want ydotool can sideload that build and connect the plug manually:
|
||||
|
||||
```bash
|
||||
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
|
||||
sudo snap install --dangerous ./voculinux_0.18.2_amd64.snap
|
||||
sudo snap connect voculinux:uinput # only in the v0.18.x sideload; the recipe no longer ships it
|
||||
```
|
||||
|
||||
### Nix / NixOS (flake)
|
||||
@@ -234,13 +234,13 @@ 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](packaging/nix/README.md).
|
||||
The flake also ships `nixosModules.voculinux` and `homeManagerModules.voculinux` for declarative installs (`programs.voculinux.enable = true`). The bundled pywhispercpp builds with Vulkan GPU inference. Details: [packaging/nix/README.md](packaging/nix/README.md).
|
||||
|
||||
### From source
|
||||
|
||||
```bash
|
||||
git clone https://github.com/VocaHQ/vocalinux.git
|
||||
cd vocalinux
|
||||
cd voculinux
|
||||
./install.sh
|
||||
# or pick the engine up front
|
||||
./install.sh --engine=whisper_cpp
|
||||
@@ -251,12 +251,12 @@ cd vocalinux
|
||||
### After installation
|
||||
|
||||
```bash
|
||||
vocalinux # if ~/.local/bin is on PATH
|
||||
voculinux # if ~/.local/bin is on PATH
|
||||
# or
|
||||
~/.local/share/vocalinux/venv/bin/vocalinux
|
||||
~/.local/share/voculinux/venv/bin/voculinux
|
||||
```
|
||||
|
||||
You can also launch Vocalinux from your application menu.
|
||||
You can also launch Voculinux from your application menu.
|
||||
|
||||
### Nightly builds
|
||||
|
||||
@@ -271,7 +271,7 @@ Daily builds from `main` appear on [Releases](https://github.com/VocaHQ/vocalinu
|
||||
| **Display** | X11 or Wayland |
|
||||
| **Hardware** | Microphone; 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](docs/DISTRO_COMPATIBILITY.md).
|
||||
The distro must ship Python 3.11+ because Voculinux 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](docs/DISTRO_COMPATIBILITY.md).
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -302,20 +302,20 @@ punctuation / line-break phrases in that language are also recognized
|
||||
### CLI
|
||||
|
||||
```bash
|
||||
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
|
||||
voculinux --help
|
||||
voculinux --version
|
||||
voculinux --debug
|
||||
voculinux --engine whisper_cpp # default
|
||||
voculinux --engine whisper
|
||||
voculinux --engine faster_whisper
|
||||
voculinux --engine vosk
|
||||
voculinux --engine parakeet
|
||||
voculinux --engine remote_api
|
||||
voculinux --model medium
|
||||
voculinux --model medium.en-q5_0 # exact whisper.cpp variant
|
||||
voculinux --model large-v3-turbo
|
||||
voculinux --wayland
|
||||
voculinux --start-minimized
|
||||
```
|
||||
|
||||
### Autostart
|
||||
@@ -324,9 +324,9 @@ vocalinux --start-minimized
|
||||
|
||||
### 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.
|
||||
Stored at `~/.config/voculinux/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.
|
||||
Neural VAD (Silero) is used when `onnxruntime` is available; install via `pip install "voculinux[vad]"` for manual/PyPI installs. The installer attempts this automatically.
|
||||
|
||||
## Documentation
|
||||
|
||||
@@ -358,7 +358,7 @@ Report vulnerabilities privately per [SECURITY.md](SECURITY.md).
|
||||
|
||||
```bash
|
||||
git clone https://github.com/VocaHQ/vocalinux.git
|
||||
cd vocalinux
|
||||
cd voculinux
|
||||
./install.sh --dev
|
||||
source venv/bin/activate
|
||||
pytest
|
||||
@@ -379,11 +379,11 @@ Planned:
|
||||
|
||||
## Voca ecosystem
|
||||
|
||||
Vocalinux is part of [VocaHQ](https://vocahq.com). On-device speech-to-text first, one app per platform. Optional [VocaGateway](https://vocagateway.vocahq.com) is self-hosted and not on-device.
|
||||
Voculinux is part of [VocaHQ](https://vocahq.com). On-device speech-to-text first, one app per platform. Optional [VocaGateway](https://vocagateway.vocahq.com) is self-hosted and not on-device.
|
||||
|
||||
| Platform | Project | Website | GitHub |
|
||||
|----------|---------|---------|--------|
|
||||
| Linux | **VocaLinux** | [vocalinux.com](https://vocalinux.com) | [VocaHQ/vocalinux](https://github.com/VocaHQ/vocalinux) |
|
||||
| Linux | **Voculinux** | [voculinux.com](https://voculinux.com) | [VocaHQ/vocalinux](https://github.com/VocaHQ/vocalinux) |
|
||||
| macOS | **VocaMac** | [vocamac.com](https://vocamac.com) | [VocaHQ/vocamac](https://github.com/VocaHQ/vocamac) |
|
||||
| Windows | **VocaWin** | [vocawin.com](https://vocawin.com) | [VocaHQ/vocawin](https://github.com/VocaHQ/vocawin) |
|
||||
| Phone | **VocaPhone** | [vocaphone.vocahq.com](https://vocaphone.vocahq.com) | [VocaHQ/vocaphone](https://github.com/VocaHQ/vocaphone) |
|
||||
@@ -404,7 +404,7 @@ Bug reports, docs, and code are welcome. Start with [CONTRIBUTING.md](CONTRIBUTI
|
||||
Thanks to everyone who has contributed code, docs, or fixes:
|
||||
|
||||
<a href="https://github.com/VocaHQ/vocalinux/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=VocaHQ/vocalinux" alt="Vocalinux contributors" />
|
||||
<img src="https://contrib.rocks/image?repo=VocaHQ/vocalinux" alt="Voculinux contributors" />
|
||||
</a>
|
||||
|
||||
## Repository mirrors
|
||||
@@ -414,7 +414,7 @@ GitHub is the primary forge for issues, PRs, CI, and releases.
|
||||
| Role | URL |
|
||||
|------|-----|
|
||||
| Primary | https://github.com/VocaHQ/vocalinux |
|
||||
| Read-only mirror (Codeberg) | https://codeberg.org/jatinkrmalik/vocalinux |
|
||||
| Read-only mirror (Codeberg) | https://codeberg.org/jatinkrmalik/voculinux |
|
||||
|
||||
Open issues and pull requests on GitHub only.
|
||||
|
||||
@@ -440,7 +440,7 @@ offers `orukeet-v0.1.0`. It uses the existing local sherpa-onnx recognizer for
|
||||
engine stay unchanged.
|
||||
|
||||
The download comes from a pinned revision of
|
||||
[oruk/orukeet on Hugging Face](https://huggingface.co/oruk/orukeet). Vocalinux
|
||||
[oruk/orukeet on Hugging Face](https://huggingface.co/oruk/orukeet). Voculinux
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user