chore(release): prepare v0.8.0-beta (#280)
* chore(release): prepare v0.8.0-beta * docs(web): align release messaging with v0.8.0-beta features * docs(web): tighten homepage messaging for v0.8.0-beta
This commit is contained in:
@@ -28,48 +28,44 @@
|
||||
|
||||
**A seamless free open-source private voice dictation system for Linux**, comparable to built-in solutions on macOS and Windows.
|
||||
|
||||
## 📚 What's New in v0.7.0-beta
|
||||
## 📚 What's New in v0.8.0-beta
|
||||
|
||||
> 🎉 **Major Release: Autostart, Tabbed Settings & Intel GPU Support!** — The most feature-rich Vocalinux release yet.
|
||||
> 🎉 **Major Release: Push-to-Talk, command controls, and reliability upgrades.**
|
||||
|
||||
### 🚀 Highlights (v0.6.3 → v0.7.0)
|
||||
### 🚀 Highlights (v0.7.0 → v0.8.0)
|
||||
|
||||
| Feature | Description |
|
||||
|---------|-------------|
|
||||
| **🖥️ Autostart Support** | Launch Vocalinux automatically on desktop session startup |
|
||||
| **⚙️ Tabbed Settings** | Completely redesigned settings dialog with organized tabs |
|
||||
| **🎮 Intel GPU Detection** | Automatically detects incompatible Intel GPUs and falls back to CPU |
|
||||
| **🔒 Single Instance** | Prevents multiple Vocalinux instances from running simultaneously |
|
||||
| **🎤 Push-to-Talk Mode** | Hold the shortcut key to speak, release to stop |
|
||||
| **⚙️ Voice Commands Toggle** | Enable/disable command parsing with smart VOSK auto-enable |
|
||||
| **⌨️ Shortcut Reliability** | Improved live mode switching and callback lifecycle stability |
|
||||
| **🧠 Better Input Handling** | More robust IBus detection and text injection behavior |
|
||||
|
||||
### ✨ New Features (v0.7.0)
|
||||
### ✨ New Features (v0.8.0)
|
||||
|
||||
- **Autostart on Login** — Added XDG autostart support via settings dialog and system tray
|
||||
- **Tabbed Settings Dialog** — reorganized settings into Speech Engine, Recognition, Text Injection, Audio Feedback, and General tabs
|
||||
- **Intel GPU Compatibility Detection** — Detects incompatible Intel GPUs and automatically falls back to CPU processing
|
||||
- **Multiple Instance Prevention** — Shows notification and exits if Vocalinux is already running
|
||||
- **Evdev Device Management** — Automatically removes disconnected input devices to prevent CPU spin
|
||||
- **Push-to-Talk Shortcut Mode** — Added a second shortcut mode alongside double-tap toggle
|
||||
- **Mode-aware Shortcut UI** — Settings now clearly describe toggle vs push-to-talk behavior
|
||||
- **Voice Commands Optional Mode** — Commands can be disabled, with auto mode optimized for VOSK
|
||||
|
||||
### 🐛 Bug Fixes (v0.7.0)
|
||||
### 🐛 Bug Fixes (v0.8.0)
|
||||
|
||||
- **#254**: Improved GPU detection to avoid false positives on systems without dev libraries
|
||||
- **#251**: Skip IBus setup when daemon is not running, enable fallback to other methods
|
||||
- **#243**: Prevent `dnf check-update` from exiting script on Fedora
|
||||
- **#240**: Raise exception on IBus setup failure to enable automatic fallback
|
||||
- **#234**: Removed leading space from first speech transcription
|
||||
- **#242/#253**: Removed disconnected evdev devices to prevent CPU spin
|
||||
- **#277**: Detect active IBus input method before using IBus injection path
|
||||
- **#275**: Auto-detect supported audio channel count for better microphone compatibility
|
||||
- **#268**: Prevent GTK startup dialog crash on Fedora
|
||||
- **#261**: Resolve text injection reliability issues across desktop environments
|
||||
- **#259**: Prevent recognition-thread state flicker
|
||||
- **#262/#263**: Auto-detect device sample rate for broader audio hardware support
|
||||
|
||||
### 🔧 Recent Improvements
|
||||
|
||||
- **Web SEO Enhancements** — Added 7 new optimized pages for organic traffic
|
||||
- **Mobile Responsiveness** — Improved mobile and tablet layout for the website
|
||||
- **Better Fedora Support** — Fixed dnf check-update behavior
|
||||
- **Improved Device Handling** — More robust handling of input device connections/disconnections
|
||||
- **Web SEO Expansion** — Added 8 additional optimized pages for discoverability
|
||||
- **Web Visual Refresh** — Updated homepage gradients and voice-brand styling
|
||||
|
||||
---
|
||||
|
||||
## ✨ Features
|
||||
|
||||
- 🎤 **Double-tap Ctrl** to start/stop voice dictation
|
||||
- 🎤 **Toggle or Push-to-Talk** activation modes
|
||||
- ⚡ **Real-time transcription** with minimal latency
|
||||
- 🌎 **Universal compatibility** across all Linux applications
|
||||
- 🔒 **100% Offline operation** for privacy and reliability
|
||||
@@ -121,7 +117,7 @@ Here are some screenshots showcasing Vocalinux in action:
|
||||
Our new interactive installer guides you through setup with intelligent hardware detection:
|
||||
|
||||
```bash
|
||||
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
|
||||
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
|
||||
```
|
||||
|
||||
**Choose your engine:**
|
||||
@@ -135,25 +131,25 @@ The installer will:
|
||||
- **Download the appropriate model** (~39MB for whisper.cpp tiny)
|
||||
- **Install in ~1-2 minutes** (vs 5-10 min with old Whisper)
|
||||
|
||||
> **Note**: Installs v0.7.0-beta. For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
|
||||
> **Note**: Installs v0.8.0-beta. For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
|
||||
|
||||
### Installation Options
|
||||
|
||||
**Default (whisper.cpp - recommended):**
|
||||
```bash
|
||||
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
|
||||
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
|
||||
```
|
||||
Fastest installation (~1-2 min), universal GPU support via Vulkan.
|
||||
|
||||
**Whisper (OpenAI) - if you prefer PyTorch:**
|
||||
```bash
|
||||
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=whisper
|
||||
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=whisper
|
||||
```
|
||||
NVIDIA GPU only (~5-10 min, downloads PyTorch + CUDA).
|
||||
|
||||
**VOSK only - for low-RAM systems:**
|
||||
```bash
|
||||
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=vosk
|
||||
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=vosk
|
||||
```
|
||||
Lightweight option (~40MB), works on systems with 4GB RAM.
|
||||
|
||||
@@ -214,9 +210,9 @@ Or launch it from your application menu!
|
||||
|
||||
### Voice Dictation
|
||||
|
||||
1. **Double-tap Ctrl** to start recording
|
||||
1. **Toggle mode**: Double-tap the shortcut key (default Ctrl) to start recording
|
||||
2. Speak clearly into your microphone
|
||||
3. **Double-tap Ctrl** again (or pause speaking) to stop
|
||||
3. **Toggle mode**: Double-tap again (or pause speaking) to stop, or **Push-to-Talk mode**: release the key to stop
|
||||
|
||||
### Voice Commands
|
||||
|
||||
|
||||
+3
-3
@@ -4,10 +4,10 @@
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 0.7.x | :white_check_mark: |
|
||||
| 0.8.x | :white_check_mark: |
|
||||
| 0.7.x | :x: |
|
||||
| 0.6.x | :x: |
|
||||
| 0.5.x | :x: |
|
||||
| < 0.5 | :x: |
|
||||
| < 0.6 | :x: |
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
|
||||
+3
-3
@@ -7,10 +7,10 @@ This guide provides detailed instructions for installing Vocalinux on Linux syst
|
||||
### One-liner Installation (Recommended)
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh | bash
|
||||
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash
|
||||
```
|
||||
|
||||
> **Note**: Installs v0.7.0-beta with **whisper.cpp** (our default engine). For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
|
||||
> **Note**: Installs v0.8.0-beta with **whisper.cpp** (our default engine). For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
|
||||
|
||||
That's it! The installer handles everything automatically:
|
||||
- ✅ Installs whisper.cpp (~1-2 minutes, no heavy dependencies!)
|
||||
@@ -508,7 +508,7 @@ Already have Vocalinux installed? See the [Update Guide](UPDATE.md) for instruct
|
||||
|
||||
Quick update command:
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh | bash
|
||||
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash
|
||||
```
|
||||
|
||||
## Getting Help
|
||||
|
||||
@@ -326,6 +326,7 @@ git push origin v0.5.1-beta
|
||||
| 0.6.2-beta | 2026-02-17 | Beta | Bug fixes |
|
||||
| 0.6.3-beta | 2026-02-19 | Beta | GPU detection improvements |
|
||||
| 0.7.0-beta | 2026 | Beta | Autostart, tabbed settings, Intel GPU support, single instance |
|
||||
| 0.8.0-beta | 2026-03-01 | Beta | Push-to-talk mode, optional voice commands, input/audio compatibility fixes |
|
||||
|
||||
## Questions?
|
||||
|
||||
|
||||
+20
-24
@@ -2,42 +2,38 @@
|
||||
|
||||
This guide explains how to update Vocalinux to the latest version.
|
||||
|
||||
## What's New in v0.7.0-beta
|
||||
## What's New in v0.8.0-beta
|
||||
|
||||
### 🚀 Highlights
|
||||
|
||||
| Feature | Description |
|
||||
|---------|-------------|
|
||||
| **🖥️ Autostart Support** | Launch Vocalinux automatically on desktop session startup |
|
||||
| **⚙️ Tabbed Settings** | Completely redesigned settings dialog with organized tabs |
|
||||
| **🎮 Intel GPU Detection** | Automatically detects incompatible Intel GPUs and falls back to CPU |
|
||||
| **🔒 Single Instance** | Prevents multiple Vocalinux instances from running simultaneously |
|
||||
| **🎤 Push-to-Talk Mode** | Hold the shortcut key to speak, release to stop |
|
||||
| **⚙️ Voice Commands Toggle** | Enable or disable voice commands, with VOSK auto-enable in auto mode |
|
||||
| **⌨️ Shortcut Reliability** | Improved callback lifecycle and mode switching stability |
|
||||
| **🧠 Input Compatibility** | Better IBus detection and audio device/channel compatibility |
|
||||
|
||||
### ✨ New Features
|
||||
|
||||
- **Autostart on Login** — Added XDG autostart support via settings dialog and system tray
|
||||
- **Tabbed Settings Dialog** — Reorganized settings into Speech Engine, Recognition, Text Injection, Audio Feedback, and General tabs
|
||||
- **Intel GPU Compatibility Detection** — Detects incompatible Intel GPUs and automatically falls back to CPU processing
|
||||
- **Multiple Instance Prevention** — Shows notification and exits if Vocalinux is already running
|
||||
- **Evdev Device Management** — Automatically removes disconnected input devices to prevent CPU spin
|
||||
- **Push-to-Talk Shortcut Mode** — Added hold-to-speak mode alongside double-tap toggle mode
|
||||
- **Mode-aware Shortcut UI** — Updated settings text and behavior for toggle vs push-to-talk workflows
|
||||
- **Voice Commands Optional** — Voice commands can be disabled, with automatic enable behavior for VOSK
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
- **#254**: Improved GPU detection to avoid false positives on systems without dev libraries
|
||||
- **#251**: Skip IBus setup when daemon is not running, enable fallback to other methods
|
||||
- **#243**: Prevent `dnf check-update` from exiting script on Fedora
|
||||
- **#240**: Raise exception on IBus setup failure to enable automatic fallback
|
||||
- **#234**: Removed leading space from first speech transcription
|
||||
- **#242/#253**: Removed disconnected evdev devices to prevent CPU spin
|
||||
- **#277**: Detect active IBus input method before using IBus injection
|
||||
- **#275**: Detect and use device-supported channel count
|
||||
- **#268**: Prevent GTK startup dialog crash on Fedora
|
||||
- **#261**: Resolve text injection issues for better reliability
|
||||
- **#259**: Prevent recognition thread state flicker
|
||||
- **#262/#263**: Auto-detect audio sample rate for better hardware compatibility
|
||||
|
||||
### 🔧 Improvements
|
||||
|
||||
- **Web SEO Enhancements** — Added 7 new optimized pages for organic traffic
|
||||
- **Mobile Responsiveness** — Improved mobile and tablet layout for the website
|
||||
- **Better Fedora Support** — Fixed dnf check-update behavior
|
||||
- **Improved Device Handling** — More robust handling of input device connections/disconnections
|
||||
- **Web SEO Enhancements** — Added 8 additional optimized pages for discoverability
|
||||
- **Homepage Refresh** — Updated voice-themed visual polish on the web landing page
|
||||
|
||||
See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.7.0-beta).
|
||||
See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.8.0-beta).
|
||||
|
||||
---
|
||||
|
||||
@@ -48,7 +44,7 @@ See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/
|
||||
Simply re-run the installation command:
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh | bash
|
||||
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash
|
||||
```
|
||||
|
||||
The installer will:
|
||||
@@ -62,7 +58,7 @@ The installer will:
|
||||
```bash
|
||||
cd vocalinux
|
||||
git fetch origin
|
||||
git checkout v0.7.0-beta
|
||||
git checkout v0.8.0-beta
|
||||
./install.sh
|
||||
```
|
||||
|
||||
@@ -98,7 +94,7 @@ If your update doesn't go smoothly, try a clean reinstall:
|
||||
./uninstall.sh
|
||||
|
||||
# Reinstall fresh
|
||||
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh | bash
|
||||
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash
|
||||
```
|
||||
|
||||
### Old Version Still Running
|
||||
|
||||
+8
-7
@@ -32,9 +32,9 @@ Vocalinux supports login autostart using the standard Linux desktop-session mech
|
||||
|
||||
1. **Launch the application**: Run `vocalinux` in a terminal or launch it from your application menu
|
||||
2. **Find the tray icon**: Look for the microphone icon in your system tray
|
||||
3. **Start voice typing**: Click the tray icon and select "Start Voice Typing" from the menu, or use the double-tap Ctrl keyboard shortcut
|
||||
3. **Start voice typing**: Click the tray icon and select "Start Voice Typing", or use your configured shortcut mode (toggle or push-to-talk)
|
||||
4. **Speak clearly**: As you speak, your words will be transcribed into the currently focused application
|
||||
5. **Stop voice typing**: Click the tray icon and select "Stop Voice Typing" when you're done, or use the double-tap Ctrl keyboard shortcut again
|
||||
5. **Stop voice typing**: Click the tray icon and select "Stop Voice Typing" when you're done, double-tap again in toggle mode, or release the key in push-to-talk mode
|
||||
|
||||
### Understanding the Status Icons
|
||||
|
||||
@@ -67,7 +67,7 @@ Vocalinux supports several commands that you can speak to control formatting:
|
||||
4. **Quiet environment**: Minimize background noise when possible
|
||||
5. **Learn commands**: Familiarize yourself with voice commands for punctuation and formatting
|
||||
6. **Use GPU acceleration**: If you have a GPU (AMD, Intel, or NVIDIA), whisper.cpp will automatically use it for faster transcription
|
||||
7. **Choose the right model**:
|
||||
7. **Choose the right model**:
|
||||
- For real-time dictation: Use `tiny` or `base` (fastest)
|
||||
- For better accuracy: Use `vocalinux --model medium` or `--model large`
|
||||
8. **Check debug logs**: Run `vocalinux --debug` to see which backend is being used (Vulkan, CUDA, or CPU)
|
||||
@@ -76,10 +76,11 @@ Vocalinux supports several commands that you can speak to control formatting:
|
||||
|
||||
### Keyboard Shortcut
|
||||
|
||||
Vocalinux uses a double-tap Ctrl keyboard shortcut for starting and stopping voice typing:
|
||||
Vocalinux supports two shortcut modes for controlling voice typing:
|
||||
|
||||
- **Double-tap Ctrl**: Quickly press the Ctrl key twice to toggle voice typing on or off
|
||||
- The time between taps should be less than 0.3 seconds to be recognized as a double-tap
|
||||
- **Toggle mode (default)**: Double-tap the shortcut key (Ctrl by default) to start/stop voice typing
|
||||
- **Push-to-talk mode**: Hold the configured shortcut key to speak, then release to stop
|
||||
- Configure mode and key in **Settings -> Shortcuts**
|
||||
|
||||
### Model Settings
|
||||
|
||||
@@ -109,7 +110,7 @@ Vocalinux now offers **three speech recognition engines**:
|
||||
### Changing Engine and Model
|
||||
|
||||
1. Open settings from the tray icon menu (right-click)
|
||||
2. Go to the "Recognition" tab
|
||||
2. Go to the "Speech Engine" tab
|
||||
3. Select your **Speech Engine**:
|
||||
- whisper_cpp (recommended)
|
||||
- whisper
|
||||
|
||||
+3
-3
@@ -174,7 +174,7 @@ while [[ $# -gt 0 ]]; do
|
||||
echo " --test Run tests after installation"
|
||||
echo " --venv-dir=PATH Specify custom virtual environment directory"
|
||||
echo " --skip-models Skip downloading speech models during installation"
|
||||
echo " --tag=TAG Install specific release tag (default: v0.7.0-beta)"
|
||||
echo " --tag=TAG Install specific release tag (default: v0.8.0-beta)"
|
||||
echo " --help Show this help message"
|
||||
echo ""
|
||||
echo "Examples:"
|
||||
@@ -215,7 +215,7 @@ echo ""
|
||||
|
||||
check_running_processes
|
||||
|
||||
INSTALL_TAG="${INSTALL_TAG:-v0.7.0-beta}"
|
||||
INSTALL_TAG="${INSTALL_TAG:-v0.8.0-beta}"
|
||||
|
||||
# Check if running from within the vocalinux repo or remotely (via curl)
|
||||
REPO_URL="https://github.com/jatinkrmalik/vocalinux.git"
|
||||
@@ -1073,7 +1073,7 @@ if [[ "$INTERACTIVE_MODE" == "yes" ]]; then
|
||||
if [ ! -t 0 ]; then
|
||||
print_error "Interactive mode requires a terminal (TTY)."
|
||||
print_error "Please run from a terminal, or use automatic mode:"
|
||||
print_error " curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh | bash"
|
||||
print_error " curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ def check_dependencies():
|
||||
logger.error("")
|
||||
logger.error("For the best experience, install using the recommended method:")
|
||||
logger.error(
|
||||
" curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh | bash"
|
||||
" curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash"
|
||||
)
|
||||
return False
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
Version information for Vocalinux.
|
||||
"""
|
||||
|
||||
__version__ = "0.7.0-beta"
|
||||
__version_info__ = (0, 7, 0, "beta")
|
||||
__version__ = "0.8.0-beta"
|
||||
__version_info__ = (0, 8, 0, "beta")
|
||||
__author__ = "Jatin K Malik"
|
||||
__email__ = "jatinkrmalik@gmail.com"
|
||||
__license__ = "GPL-3.0"
|
||||
|
||||
@@ -40,7 +40,7 @@ Use this checklist when testing Vocalinux on a new Linux distribution.
|
||||
### Standard Installation
|
||||
- [ ] Download installer
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh -o /tmp/vl.sh
|
||||
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh
|
||||
```
|
||||
|
||||
- [ ] Run installer
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "vocalinux-website",
|
||||
"version": "0.7.0",
|
||||
"version": "0.8.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "vocalinux-website",
|
||||
"version": "0.7.0",
|
||||
"version": "0.8.0",
|
||||
"dependencies": {
|
||||
"@types/node": "^20.14.10",
|
||||
"@types/react": "^18.3.3",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vocalinux-website",
|
||||
"version": "0.7.0",
|
||||
"version": "0.8.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -5,6 +5,20 @@ import { SeoSubpageShell } from "@/components/seo-subpage-shell";
|
||||
import { absoluteUrl, buildPageMetadata } from "@/lib/seo";
|
||||
|
||||
const releases = [
|
||||
{
|
||||
version: "v0.8.0-beta",
|
||||
date: "2026-03-01",
|
||||
type: "beta",
|
||||
highlights: [
|
||||
"Push-to-talk shortcut mode (hold to speak, release to stop)",
|
||||
"Optional voice commands with VOSK auto-enable behavior",
|
||||
"Improved shortcut mode switching and callback reliability",
|
||||
"IBus active-method detection before text injection",
|
||||
"Audio hardware compatibility fixes (sample rate and channel count)",
|
||||
"Fedora startup dialog stability fix",
|
||||
"Web SEO expansion and homepage visual refresh",
|
||||
],
|
||||
},
|
||||
{
|
||||
version: "v0.7.0-beta",
|
||||
date: "2026-02-22",
|
||||
@@ -146,7 +160,7 @@ export default function ChangelogPage() {
|
||||
headline: "Vocalinux Changelog - Release History",
|
||||
description:
|
||||
"Complete release history for Vocalinux, the offline voice dictation software for Linux.",
|
||||
dateModified: "2026-02-19",
|
||||
dateModified: "2026-03-01",
|
||||
author: {
|
||||
"@type": "Person",
|
||||
name: "Jatin K Malik",
|
||||
|
||||
@@ -69,15 +69,15 @@ const faqCategories = [
|
||||
questions: [
|
||||
{
|
||||
q: "How do I start and stop dictation?",
|
||||
a: "Double-tap the Ctrl key to toggle dictation on/off. You can customize this shortcut in the settings panel.",
|
||||
a: "By default, toggle mode uses double-tap Ctrl to start/stop dictation. You can also switch to push-to-talk mode (hold key to speak, release to stop) in Settings.",
|
||||
},
|
||||
{
|
||||
q: "Does Vocalinux work with Wayland?",
|
||||
a: "Yes! Vocalinux supports both X11 and Wayland through IBus text injection. The installer automatically configures the right backend for your system.",
|
||||
a: "Yes. Vocalinux supports both X11 and Wayland, including IBus-based flows on Wayland with improved active-method detection for more reliable text injection.",
|
||||
},
|
||||
{
|
||||
q: "Can I use voice commands?",
|
||||
a: "Yes. Vocalinux supports voice commands like 'new line', 'delete that', 'select all', and more. Commands are processed in real-time.",
|
||||
a: "Yes. Vocalinux supports commands like 'new line', 'delete that', 'select all', and more. Voice commands are optional and can be enabled or disabled in Settings.",
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -56,7 +56,7 @@ const distroConfig: Record<DistroSlug, DistroConfig> = {
|
||||
],
|
||||
postInstallChecks: [
|
||||
"Run vocalinux and confirm the tray indicator appears.",
|
||||
"Double-tap Ctrl in a text field and verify speech-to-text starts.",
|
||||
"Use toggle mode (double-tap Ctrl) or push-to-talk mode and verify dictation starts.",
|
||||
"Set language and model size in the settings panel for your workload.",
|
||||
],
|
||||
},
|
||||
@@ -87,7 +87,7 @@ const distroConfig: Record<DistroSlug, DistroConfig> = {
|
||||
],
|
||||
postInstallChecks: [
|
||||
"Run vocalinux from terminal and test transcription in GNOME Text Editor or VS Code.",
|
||||
"Verify push-to-dictate behavior with your preferred keyboard layout.",
|
||||
"Verify toggle mode and push-to-talk behavior with your preferred keyboard layout.",
|
||||
"Confirm startup behavior and language settings persist after reboot.",
|
||||
],
|
||||
},
|
||||
@@ -119,7 +119,7 @@ const distroConfig: Record<DistroSlug, DistroConfig> = {
|
||||
postInstallChecks: [
|
||||
"Run vocalinux and test dictation in multiple apps (terminal, browser, editor).",
|
||||
"Confirm your chosen speech engine model balances latency and accuracy.",
|
||||
"Back up ~/.config/vocalinux/config.yaml after tuning preferences.",
|
||||
"Back up ~/.config/vocalinux/config.json after tuning preferences.",
|
||||
],
|
||||
},
|
||||
};
|
||||
@@ -264,7 +264,7 @@ export default async function DistroInstallPage({
|
||||
{
|
||||
"@type": "HowToStep",
|
||||
name: "Start dictating",
|
||||
text: "Launch vocalinux and double-tap Ctrl to begin dictation.",
|
||||
text: "Launch vocalinux and use toggle mode or push-to-talk mode to begin dictation.",
|
||||
url: absoluteUrl(`/install/${distro}`),
|
||||
},
|
||||
],
|
||||
|
||||
@@ -110,7 +110,7 @@ export default function InstallGuidesPage() {
|
||||
Launch with
|
||||
<code className="ml-1.5 rounded bg-zinc-200 px-1.5 py-0.5 dark:bg-zinc-800">vocalinux</code>.
|
||||
</li>
|
||||
<li>Double-tap Ctrl to start or stop dictation in any text field.</li>
|
||||
<li>Use toggle mode (double-tap Ctrl) or push-to-talk mode to control dictation in any text field.</li>
|
||||
<li>
|
||||
Choose whisper.cpp for speed, Whisper for maximum model compatibility, or VOSK for
|
||||
low-RAM systems.
|
||||
|
||||
+17
-10
@@ -65,7 +65,7 @@ const homeJsonLd = [
|
||||
},
|
||||
description:
|
||||
"Offline voice dictation and speech-to-text for Linux with whisper.cpp and VOSK.",
|
||||
"softwareVersion": "0.7.0-beta",
|
||||
"softwareVersion": "0.8.0-beta",
|
||||
author: {
|
||||
"@type": "Person",
|
||||
name: "Jatin K Malik",
|
||||
@@ -77,7 +77,9 @@ const homeJsonLd = [
|
||||
featureList: [
|
||||
"100% offline speech recognition",
|
||||
"Works with X11 and Wayland",
|
||||
"Double-tap Ctrl activation",
|
||||
"Toggle and push-to-talk shortcut modes",
|
||||
"Optional voice commands with VOSK-aware defaults",
|
||||
"Adaptive audio and IBus-aware text injection",
|
||||
"whisper.cpp, Whisper, and VOSK support",
|
||||
"Linux desktop integration",
|
||||
],
|
||||
@@ -134,7 +136,7 @@ const homeJsonLd = [
|
||||
{
|
||||
"@type": "HowToStep",
|
||||
name: "Start dictating",
|
||||
text: "Launch vocalinux and double-tap Ctrl to begin voice dictation.",
|
||||
text: "Launch vocalinux and use toggle or push-to-talk shortcut mode to begin dictation.",
|
||||
url: "https://vocalinux.com/#install",
|
||||
},
|
||||
],
|
||||
@@ -290,7 +292,7 @@ export default function HomePage() {
|
||||
/>
|
||||
<span className="font-bold text-lg sm:text-xl">Vocalinux</span>
|
||||
<span className="hidden sm:inline-block text-xs bg-gradient-to-r from-primary/20 to-green-500/20 text-primary border border-primary/30 px-2.5 py-1 rounded-full font-semibold shadow-sm shadow-primary/20">
|
||||
v0.7.0 Beta
|
||||
v0.8.0 Beta
|
||||
</span>
|
||||
</Link>
|
||||
|
||||
@@ -408,7 +410,7 @@ export default function HomePage() {
|
||||
100% offline voice dictation for Linux.
|
||||
</p>
|
||||
<p className="text-lg sm:text-xl md:text-2xl text-muted-foreground mb-8 max-w-3xl mx-auto">
|
||||
Just double-tap Ctrl and speak.
|
||||
Use toggle mode or push-to-talk and start speaking.
|
||||
</p>
|
||||
|
||||
{/* CTA Buttons */}
|
||||
@@ -553,8 +555,8 @@ export default function HomePage() {
|
||||
{[
|
||||
{
|
||||
icon: <Keyboard className="h-6 w-6 text-primary" />,
|
||||
title: "Double-tap Ctrl",
|
||||
description: "In the real app, just double-tap Ctrl to start dictating anywhere",
|
||||
title: "Flexible Shortcut Modes",
|
||||
description: "Use toggle mode (double-tap) or push-to-talk mode to dictate anywhere",
|
||||
},
|
||||
{
|
||||
icon: <Zap className="h-6 w-6 text-primary" />,
|
||||
@@ -617,7 +619,7 @@ export default function HomePage() {
|
||||
<FeatureCard
|
||||
icon={<Keyboard className="h-6 w-6 text-primary" />}
|
||||
title="Simple Activation"
|
||||
description="Double-tap Ctrl to start, double-tap again to stop. No complex keyboard shortcuts to memorize."
|
||||
description="Choose toggle mode (double-tap) or push-to-talk mode (hold key). Simple, predictable control."
|
||||
/>
|
||||
<FeatureCard
|
||||
icon={<Globe className="h-6 w-6 text-primary" />}
|
||||
@@ -627,7 +629,7 @@ export default function HomePage() {
|
||||
<FeatureCard
|
||||
icon={<Settings className="h-6 w-6 text-primary" />}
|
||||
title="Fully Configurable"
|
||||
description="Adjust model size, language, activation method, and more. GUI settings panel or config file — your choice."
|
||||
description="Adjust model size, language, activation mode, and voice command behavior. GUI settings panel or config file — your choice."
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -1086,7 +1088,12 @@ export default function HomePage() {
|
||||
{
|
||||
question: "How do I customize the activation shortcut?",
|
||||
answer:
|
||||
"The default is double-tap Ctrl. You can customize this via the GUI settings dialog or by editing ~/.config/vocalinux/config.yaml. Any key combination is supported.",
|
||||
"The default is toggle mode with double-tap Ctrl, and you can switch to push-to-talk in Settings. You can also customize this via the GUI settings dialog or by editing ~/.config/vocalinux/config.json.",
|
||||
},
|
||||
{
|
||||
question: "Can I disable voice commands?",
|
||||
answer:
|
||||
"Yes. Voice commands are optional and can be enabled or disabled in Settings. VOSK-focused setups can use auto behavior while keeping full control over command parsing.",
|
||||
},
|
||||
{
|
||||
question: "Is Vocalinux free?",
|
||||
|
||||
@@ -235,7 +235,7 @@ export default function RsiPreventionPage() {
|
||||
<ul className="space-y-2 text-sm text-muted-foreground">
|
||||
<li className="inline-flex items-start gap-2">
|
||||
<CheckCircle2 className="mt-0.5 h-4 w-4 flex-shrink-0 text-green-500" />
|
||||
Double-tap Ctrl to start/stop—no mouse required
|
||||
Toggle mode or push-to-talk control—no mouse required
|
||||
</li>
|
||||
<li className="inline-flex items-start gap-2">
|
||||
<CheckCircle2 className="mt-0.5 h-4 w-4 flex-shrink-0 text-green-500" />
|
||||
|
||||
@@ -10,8 +10,8 @@ const shortcutCategories = [
|
||||
icon: Mic,
|
||||
iconColor: "text-blue-500",
|
||||
shortcuts: [
|
||||
{ keys: ["Ctrl", "Ctrl"], action: "Toggle dictation on/off (double-tap)", note: "Primary activation" },
|
||||
{ keys: ["Ctrl", "Ctrl"], action: "Start/stop recording", note: "Same as toggle" },
|
||||
{ keys: ["Ctrl", "Ctrl"], action: "Toggle mode: start/stop dictation", note: "Default mode" },
|
||||
{ keys: ["Hold Ctrl"], action: "Push-to-talk mode: speak while held", note: "Release to stop" },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -27,6 +27,7 @@ const shortcutCategories = [
|
||||
{ keys: ["\"paste here\""], action: "Paste clipboard", note: "Voice command" },
|
||||
{ keys: ["\"undo\""], action: "Undo last action", note: "Voice command" },
|
||||
{ keys: ["\"redo\""], action: "Redo last action", note: "Voice command" },
|
||||
{ keys: ["Settings Toggle"], action: "Enable/disable voice commands", note: "Optional in v0.8.0-beta" },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -43,7 +44,7 @@ const shortcutCategories = [
|
||||
icon: Settings,
|
||||
iconColor: "text-violet-500",
|
||||
shortcuts: [
|
||||
{ keys: ["Config File"], action: "~/.config/vocalinux/config.yaml", note: "Manual editing" },
|
||||
{ keys: ["Config File"], action: "~/.config/vocalinux/config.json", note: "Manual editing" },
|
||||
],
|
||||
},
|
||||
];
|
||||
@@ -61,7 +62,7 @@ function Mic(props: { className?: string }) {
|
||||
export const metadata: Metadata = buildPageMetadata({
|
||||
title: "Keyboard Shortcuts & Voice Commands - Vocalinux",
|
||||
description:
|
||||
"Learn Vocalinux keyboard shortcuts and voice commands. Double-tap Ctrl to dictate, use voice commands for editing, and customize your workflow.",
|
||||
"Learn Vocalinux keyboard shortcut modes and voice commands. Use toggle mode or push-to-talk, then customize activation and command behavior.",
|
||||
path: "/shortcuts",
|
||||
keywords: [
|
||||
"vocalinux shortcuts",
|
||||
@@ -78,7 +79,7 @@ export default function ShortcutsPage() {
|
||||
headline: "Vocalinux Keyboard Shortcuts & Voice Commands",
|
||||
description:
|
||||
"Complete guide to Vocalinux keyboard shortcuts and voice commands for efficient Linux voice dictation.",
|
||||
dateModified: "2026-02-19",
|
||||
dateModified: "2026-03-01",
|
||||
author: {
|
||||
"@type": "Person",
|
||||
name: "Jatin K Malik",
|
||||
@@ -111,8 +112,8 @@ export default function ShortcutsPage() {
|
||||
Keyboard Shortcuts & Voice Commands
|
||||
</h1>
|
||||
<p className="mb-8 max-w-4xl text-lg text-muted-foreground">
|
||||
Master Vocalinux with keyboard shortcuts and voice commands. Double-tap Ctrl to start
|
||||
dictating, then use voice commands to edit and format.
|
||||
Master Vocalinux with keyboard shortcuts and voice commands. Use toggle mode (double-tap)
|
||||
or push-to-talk mode, then apply voice commands for editing and formatting.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
@@ -130,8 +131,15 @@ export default function ShortcutsPage() {
|
||||
</kbd>
|
||||
</div>
|
||||
<span className="text-muted-foreground">→</span>
|
||||
<span className="font-medium">Start/Stop Dictation</span>
|
||||
<span className="font-medium">Toggle Mode: Start/Stop Dictation</span>
|
||||
</div>
|
||||
<p className="mt-3 text-sm text-muted-foreground">
|
||||
Push-to-talk mode is also available: hold your configured key to dictate, release to stop.
|
||||
You can switch modes in Settings.
|
||||
</p>
|
||||
<p className="mt-2 text-sm text-muted-foreground">
|
||||
Voice commands can be enabled or disabled from Settings depending on your workflow.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
{/* Shortcut Categories */}
|
||||
@@ -188,7 +196,7 @@ export default function ShortcutsPage() {
|
||||
configuration file directly:
|
||||
</p>
|
||||
<div className="rounded-lg bg-zinc-950 p-4">
|
||||
<code className="text-sm text-green-400">~/.config/vocalinux/config.yaml</code>
|
||||
<code className="text-sm text-green-400">~/.config/vocalinux/config.json</code>
|
||||
</div>
|
||||
<p className="mt-4 text-sm text-muted-foreground">
|
||||
Open Vocalinux and access Settings from the tray icon to change keyboard shortcuts
|
||||
|
||||
@@ -72,7 +72,7 @@ const troubleshootingItems = [
|
||||
},
|
||||
{
|
||||
title: "Keyboard shortcut not working",
|
||||
symptoms: ["Double-tap Ctrl doesn't start dictation", "Custom shortcuts ignored"],
|
||||
symptoms: ["Shortcut mode doesn't start dictation", "Custom shortcuts ignored"],
|
||||
solutions: [
|
||||
"Check if another application is capturing the shortcut",
|
||||
"Verify Vocalinux is running (check system tray)",
|
||||
|
||||
Reference in New Issue
Block a user