chore(release): prepare v0.6.0-beta with whisper.cpp as default (#181)

* docs: update all documentation for whisper.cpp as default engine

Comprehensive documentation update highlighting whisper.cpp as the new
default speech recognition engine:

README.md:
- Added 'Major Change: whisper.cpp is Now Default!' section
- Updated Features to highlight whisper.cpp and Vulkan GPU support
- Updated Quick Install section with engine choices
- Changed default engine from whisper to whisper_cpp in examples
- Updated configuration examples
- Updated roadmap to mark whisper.cpp as complete

docs/INSTALL.md:
- Added whisper.cpp section with performance benefits
- Updated installation options (--engine flag)
- Added GPU support matrix and Vulkan detection info
- Added installation time comparison table
- Updated system requirements (lower disk space for whisper.cpp)

docs/USER_GUIDE.md:
- Added comprehensive 'Choosing Your Engine' section
- Added GPU acceleration information
- Updated tips to mention whisper.cpp benefits
- Added model size recommendations

web/src/app/page.tsx:
- Updated hero to mention whisper.cpp (C++ optimized, Vulkan support)
- Changed installation time from ~5-10 min to ~1-2 min
- Updated Features section to mention Vulkan GPU support
- Added whisper.cpp as default engine card (3-column layout)
- Updated installation commands (--engine flags)
- Updated FAQ about switching engines

This ensures all documentation reflects whisper.cpp as the new default
and highlights its major benefits: 10x faster install, universal GPU
support, and C++ optimized performance.

* chore(release): prepare v0.6.0-beta

This release brings whisper.cpp as the new default speech recognition engine:

Version Updates:
- Bump version from 0.5.0-beta to 0.6.0-beta
- Update src/vocalinux/version.py
- Update web/package.json

Documentation Updates:
- README.md: Update all v0.5.0-beta references to v0.6.0-beta
- docs/INSTALL.md: Update version references and installation commands
- docs/UPDATE.md: Add new 'What's New' section highlighting whisper.cpp
- SECURITY.md: Update supported versions table (0.6.x now supported)

Website Updates:
- web/src/app/layout.tsx: Update softwareVersion to 0.6.0-beta

Release Highlights:
- whisper.cpp is now the default engine (10x faster install!)
- Universal GPU support via Vulkan (AMD, Intel, NVIDIA)
- C++ optimized inference with multi-threading
- ~1-2 minute installation vs ~5-10 minutes before

Testing:
- All 472 tests passing
- Black formatting clean
- Flake8 linting clean
- isort import ordering clean

* ui(website): improve hero section layout

* docs(readme): remove duplicate What's New section
This commit is contained in:
Jatin K Malik
2026-02-11 20:33:28 -08:00
committed by GitHub
parent 051c84fd84
commit 03d55a989f
9 changed files with 403 additions and 178 deletions
+72 -80
View File
@@ -28,9 +28,18 @@
**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.5.0-beta
## 📚 What's New in v0.6.0-beta
We're excited to announce our first **Beta release**! Vocalinux has evolved significantly since the last alpha, with numerous bug fixes and feature improvements.
We're excited to announce our first **Beta release**! Vocalinux has evolved significantly with the biggest change yet: **whisper.cpp is now the default speech recognition engine**, bringing massive improvements to speed, compatibility, and ease of installation.
### 🚀 Major Change: whisper.cpp is Now Default!
**Why this is a game-changer:**
- **⚡ 10x faster installation** - No more 2.3GB PyTorch downloads (was ~5-10 min, now ~1-2 min)
- **🎮 Universal GPU support** - Works with AMD, Intel, and NVIDIA via Vulkan (not just NVIDIA CUDA)
- **💾 Smaller footprint** - Tiny model is only ~39MB vs ~75MB Whisper
- **🔥 Better performance** - C++ optimized inference with multi-threading
- **🐍 No Python GIL** - True parallel processing for faster transcription
### 🐛 Critical Bug Fixes
- Fixed text escaping issues (apostrophes and quotes no longer have backslash escapes)
@@ -38,23 +47,27 @@ We're excited to announce our first **Beta release**! Vocalinux has evolved sign
- Fixed missing spaces after punctuation when transcribing again
### ✨ Key New Features
- **🤖 whisper.cpp integration** - High-performance C++ speech recognition with Vulkan GPU acceleration
- **📦 Interactive installer** - Choose between 3 engines: whisper.cpp (recommended), Whisper, or VOSK
- **🔧 Hardware auto-detection** - Automatically detects your GPU and recommends optimal settings
- **Customizable keyboard shortcuts** - Configure your own activation shortcuts via GUI
- **Modern GNOME HIG settings dialog** - Complete UI overhaul following GNOME design guidelines
- **Pleasant audio feedback** - Gliding tones replace harsh beeps
- **Interactive installer with GPU detection** - Smart hardware auto-detection
- **Better Wayland support** - Native keyboard shortcuts without XWayland
### 🔧 Quality Improvements
- **80%+ test coverage** - Comprehensive test suite across all modules
- **Microphone reconnection** - Automatic recovery when microphone disconnects
- **Audio buffer management** - Prevents memory issues during long recordings
- **Enhanced logging** - Comprehensive debug info for whisper.cpp troubleshooting
---
> 🎉 **Beta Release!**
> 🎉 **Beta Release with whisper.cpp!**
>
> We're excited to share Vocalinux Beta with the community!
> See "What's New" above for details on this release.
> whisper.cpp brings **10x faster installation** and **universal GPU support**.
> See "What's New" above for details.
---
@@ -63,11 +76,13 @@ We're excited to announce our first **Beta release**! Vocalinux has evolved sign
- 🎤 **Double-tap Ctrl** to start/stop voice dictation
- ⚡ **Real-time transcription** with minimal latency
- 🌎 **Universal compatibility** across all Linux applications
- 🔒 **Offline operation** for privacy and reliability (with VOSK)
- 🤖 **Optional Whisper AI** support for enhanced accuracy
- 🔒 **100% Offline operation** for privacy and reliability
- 🤖 **whisper.cpp by default** - High-performance C++ speech recognition
- 🎮 **Universal GPU support** - Vulkan acceleration for AMD, Intel, and NVIDIA
- 🎨 **System tray integration** with visual status indicators
- 🔊 **Pleasant audio feedback** - smooth gliding tones, headphone-friendly
- ⚙️ **Graphical settings** dialog for easy configuration
- 📦 **3 engine choices** - whisper.cpp (default), OpenAI Whisper, or VOSK
## 📸 Screenshots
@@ -104,53 +119,46 @@ Here are some screenshots showcasing Vocalinux in action:
## 🚀 Quick Install
### Interactive Install (Recommended for New Users)
### Interactive Install (Recommended)
Let the installer guide you through the setup with smart hardware detection:
Our new interactive installer guides you through setup with intelligent hardware detection:
```bash
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=v0.5.0-beta --interactive
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=v0.6.0-beta
```
The interactive installer will:
- **Auto-detect your hardware** (GPU, RAM)
- **Recommend the best configuration** for your system
- **Guide you through each step** with clear explanations
- **Show you how to launch and use** Vocalinux after installation
**Choose your engine:**
1. **whisper.cpp** ⭐ (Recommended) - Fast, works with any GPU via Vulkan
2. **Whisper** (OpenAI) - PyTorch-based, NVIDIA GPU only
3. **VOSK** - Lightweight, works on older systems
### One-liner Installation (Quick Install)
The installer will:
- **Auto-detect your hardware** (GPU, RAM, Vulkan support)
- **Recommend the best engine** for your system
- **Download the appropriate model** (~39MB for whisper.cpp tiny)
- **Install in ~1-2 minutes** (vs 5-10 min with old Whisper)
> **Note**: Installs v0.6.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/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=v0.5.0-beta
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=v0.6.0-beta
```
Fastest installation (~1-2 min), universal GPU support via Vulkan.
> **Note**: Installs v0.5.0-beta. For the most recent version, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
>
> **GPU Detection**: The installer now automatically detects NVIDIA GPUs and uses CPU-only PyTorch when no GPU is present, saving you ~2GB of download!
This will:
- Clone the repository to `~/.local/share/vocalinux-install`
- Install all system dependencies
- Set up a virtual environment in `~/.local/share/vocalinux/venv`
- Install **both VOSK and Whisper AI** speech engines:
- **VOSK**: installs the `vosk` Python package from PyPI
- **Whisper**: installs the `openai-whisper` package from PyPI, which also pulls in PyTorch (the ML framework Whisper requires)
- Create a symlink at `~/.local/bin/vocalinux`
- Download the default **Whisper tiny** speech model (~75MB)
> ⏱️ **Note**: Installation takes ~5-10 minutes due to Whisper AI dependencies (PyTorch with CUDA support, ~2.3GB).
**Whisper with CPU-only PyTorch (no NVIDIA GPU needed):**
**Whisper (OpenAI) - if you prefer PyTorch:**
```bash
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=v0.5.0-beta --whisper-cpu
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=v0.6.0-beta --engine=whisper
```
This installs Whisper with CPU-only PyTorch (~200MB instead of ~2.3GB). Works great for systems without NVIDIA GPU.
NVIDIA GPU only (~5-10 min, downloads PyTorch + CUDA).
**For low-RAM systems (8GB or less) - VOSK only:**
**VOSK only - for low-RAM systems:**
```bash
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=v0.5.0-beta --no-whisper
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=v0.6.0-beta --engine=vosk
```
This skips Whisper installation entirely and configures VOSK as the default engine.
Lightweight option (~40MB), works on systems with 4GB RAM.
### Alternative: Install from Source
@@ -184,29 +192,6 @@ vocalinux
Or launch it from your application menu!
## 📚 What's New in v0.5.0-beta
We're excited to announce our first **Beta release**! Vocalinux has evolved significantly since the last alpha, with numerous bug fixes and feature improvements.
### 🐛 Critical Bug Fixes
- Fixed text escaping issues (apostrophes and quotes no longer have backslash escapes)
- Fixed stop sound being transcribed as "thank you"
- Fixed missing spaces after punctuation when transcribing again
### ✨ Key New Features
- **Customizable keyboard shortcuts** - Configure your own activation shortcuts via GUI
- **Modern GNOME HIG settings dialog** - Complete UI overhaul following GNOME design guidelines
- **Pleasant audio feedback** - Gliding tones replace harsh beeps
- **Interactive installer with GPU detection** - Smart hardware auto-detection
- **Better Wayland support** - Native keyboard shortcuts without XWayland
### 🔧 Quality Improvements
- **80%+ test coverage** - Comprehensive test suite across all modules
- **Microphone reconnection** - Automatic recovery when microphone disconnects
- **Audio buffer management** - Prevents memory issues during long recordings
For a complete list of changes, see the release notes.
## 📋 Requirements
- **OS**: Linux (tested on Ubuntu 22.04+, Debian 11+, Fedora 39+, Arch Linux, openSUSE Tumbleweed)
@@ -239,11 +224,13 @@ For a complete list of changes, see the release notes.
### Command Line Options
```bash
vocalinux --help # Show all options
vocalinux --debug # Enable debug logging
vocalinux --engine whisper # Use Whisper AI engine
vocalinux --model medium # Use medium-sized model
vocalinux --wayland # Force Wayland mode
vocalinux --help # Show all options
vocalinux --debug # Enable debug logging
vocalinux --engine whisper_cpp # Use whisper.cpp engine (default)
vocalinux --engine whisper # Use OpenAI Whisper engine
vocalinux --engine vosk # Use VOSK engine
vocalinux --model medium # Use medium-sized model
vocalinux --wayland # Force Wayland mode
```
## ⚙️ Configuration
@@ -253,8 +240,8 @@ Configuration is stored in `~/.config/vocalinux/config.json`:
```json
{
"speech_recognition": {
"engine": "vosk",
"model_size": "small",
"engine": "whisper_cpp",
"model_size": "tiny",
"vad_sensitivity": 3,
"silence_timeout": 2.0
}
@@ -285,17 +272,20 @@ python -m vocalinux.main --debug
```
vocalinux/
├── src/vocalinux/ # Main application code
│ ├── speech_recognition/ # Speech recognition engines
│ ├── text_injection/ # Text injection (X11/Wayland)
│ ├── ui/ # GTK UI components
│ └── utils/ # Utility functions
├── tests/ # Test suite
├── scripts/ # Development utilities
│ └── generate_sounds.py # Sound generation script
├── resources/ # Icons and sounds
├── docs/ # Documentation
└── web/ # Website source
├── src/vocalinux/ # Main application code
│ ├── speech_recognition/ # Speech recognition engines (VOSK, Whisper, whisper.cpp)
│ │ └── recognition_manager.py # Unified engine interface
│ ├── text_injection/ # Text injection (X11/Wayland)
│ ├── ui/ # GTK UI components
│ └── utils/ # Utility functions
│ ├── whispercpp_model_info.py # whisper.cpp model metadata & hardware detection
│ └── vosk_model_info.py # VOSK model metadata
├── tests/ # Test suite
├── scripts/ # Development utilities
│ └── generate_sounds.py # Sound generation script
├── resources/ # Icons and sounds
├── docs/ # Documentation
└── web/ # Website source
```
## 📖 Documentation
@@ -331,6 +321,8 @@ This script generates all three sounds using the same smooth glide algorithm. Yo
- [x] ~~Graphical settings dialog~~ ✅
- [x] ~~Whisper AI support~~ ✅
- [x] ~~Multi-language support (FR, DE, RU)~~ ✅
- [x] ~~whisper.cpp integration (default engine)~~ ✅
- [x] ~~Vulkan GPU support~~ ✅
- [ ] In-app update mechanism
- [ ] Application-specific commands
- [ ] Debian/Ubuntu package (.deb)
+16 -5
View File
@@ -4,7 +4,8 @@
| Version | Supported |
| ------- | ------------------ |
| 0.5.x | :white_check_mark: |
| 0.6.x | :white_check_mark: |
| 0.5.x | :x: |
| 0.4.x | :x: |
| < 0.4 | :x: |
@@ -43,15 +44,25 @@ We take security seriously. If you discover a security vulnerability within Voca
Vocalinux is designed with privacy in mind:
- **Offline by default**: Both Whisper (default) and VOSK engines work completely offline
- **Offline by default**: whisper.cpp (default), Whisper, and VOSK engines all work completely offline
- **Local processing**: All speech recognition happens on your device
- **No data collection**: We don't collect or transmit your voice data
- **No telemetry**: We don't track usage or behavior
### Whisper AI (Default Engine)
### whisper.cpp (Default Engine)
Whisper is the default speech recognition engine:
- Whisper processes locally on your machine
whisper.cpp is the default speech recognition engine:
- High-performance C++ implementation
- Processes completely locally on your machine
- Models are downloaded once and cached locally
- No audio data is sent to external servers
- Supports Vulkan GPU acceleration for AMD, Intel, and NVIDIA GPUs
### Whisper AI (OpenAI)
OpenAI's Whisper is also available as an alternative:
- PyTorch-based implementation
- Processes locally on your machine
- Models are downloaded once and cached locally
- No audio data is sent to external servers
+142 -34
View File
@@ -2,19 +2,23 @@
This guide provides detailed instructions for installing Vocalinux on Linux systems.
## Quick Start
## 🚀 Quick Start
### One-liner Installation (Recommended)
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.5.0-beta
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.6.0-beta
```
> **Note**: Installs v0.5.0-beta. For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
> **Note**: Installs v0.6.0-beta with **whisper.cpp** (our new default engine). For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
That's it! The installer handles everything automatically, including Whisper AI support.
That's it! The installer handles everything automatically:
- ✅ Installs whisper.cpp (~1-2 minutes, no heavy dependencies!)
- ✅ Auto-detects your GPU (AMD, Intel, NVIDIA all supported)
- ✅ Downloads the tiny model (~39MB)
- ✅ Configures everything automatically
> ⏱️ **Note**: Installation takes ~5-10 minutes due to Whisper AI dependencies.
> ⏱️ **Installation Time**: ~1-2 minutes (vs 5-10 minutes with old Whisper AI)
### From Source
@@ -30,28 +34,45 @@ git clone https://github.com/jatinkrmalik/vocalinux.git && cd vocalinux && ./ins
| **Python** | 3.8 or newer |
| **Display Server** | X11 or Wayland |
| **Hardware** | Microphone for speech input |
| **Disk Space** | ~500MB (including speech models) |
| **RAM** | 4GB minimum, 8GB recommended for Whisper |
| **Disk Space** | ~200MB (including whisper.cpp model) |
| **RAM** | 4GB minimum, works great with 8GB |
### GPU Support (Optional)
**whisper.cpp** supports GPU acceleration via **Vulkan**, which works with:
- ✅ AMD GPUs (RX series, integrated graphics)
- ✅ Intel GPUs (Arc, integrated graphics)
- ✅ NVIDIA GPUs (RTX, GTX series)
No special drivers needed - if your GPU supports Vulkan, whisper.cpp will use it automatically!
To check Vulkan support: `vulkaninfo --summary`
## Installation Options
### Standard Installation
### Interactive Installation (Recommended)
The new interactive installer guides you through engine selection:
```bash
# Clone the repository
git clone https://github.com/jatinkrmalik/vocalinux.git
cd vocalinux
# Run the installer
./install.sh
```
### Installation with Whisper Support
**Choose your engine:**
1. **whisper.cpp** ⭐ (Recommended) - Fast, works with any GPU via Vulkan
2. **Whisper** (OpenAI) - PyTorch-based, NVIDIA GPU only
3. **VOSK** - Lightweight, works on older systems
Whisper provides better accuracy but requires more resources:
The installer will auto-detect your hardware and recommend the best option!
### Automatic Installation
Skip the interactive prompts with `--auto`:
```bash
./install.sh --with-whisper
./install.sh --auto # Default: whisper.cpp
./install.sh --auto --engine=whisper # Use OpenAI Whisper
./install.sh --auto --engine=vosk # Use VOSK only
```
### Development Installation
@@ -69,15 +90,27 @@ This installs additional tools: pytest, black, isort, flake8, pre-commit.
```bash
./install.sh --help
Installation Modes:
(no flags) Interactive mode - guided setup with recommendations
--auto Automatic mode - install with defaults (whisper.cpp)
--auto --engine=whisper Auto mode with Whisper engine
Options:
--interactive, -i Force interactive mode (default)
--auto Non-interactive automatic installation
--engine=NAME Speech engine: whisper_cpp (default), whisper, vosk
--dev Install in development mode with all dev dependencies
--test Run tests after installation
--venv-dir=PATH Specify custom virtual environment directory (default: venv)
--skip-models Skip downloading VOSK models during installation
--with-whisper Install Whisper AI support (default in curl install)
--no-whisper Skip Whisper installation (faster, VOSK only)
-y, --yes Non-interactive mode (accept defaults)
--venv-dir=PATH Specify custom virtual environment directory
--skip-models Skip downloading speech models during installation
--tag=TAG Install specific release tag
--help Show this help message
Examples:
./install.sh # Interactive mode (recommended)
./install.sh --auto # Auto-install with whisper.cpp
./install.sh --auto --engine=vosk # Auto-install VOSK only
./install.sh --dev --test # Dev mode with tests
```
## What the Installer Does
@@ -85,9 +118,24 @@ Options:
1. **Detects your Linux distribution** and installs appropriate system packages
2. **Creates a Python virtual environment** with system site-packages access
3. **Installs the Vocalinux package** and all dependencies
4. **Downloads speech recognition models** (Whisper tiny model by default, VOSK as fallback)
5. **Installs desktop integration** (icons, .desktop file)
6. **Creates activation script** for easy environment activation
4. **Installs the speech recognition engine** you selected:
- **whisper.cpp** (default): High-performance C++ engine with Vulkan GPU support
- **Whisper**: OpenAI's PyTorch-based engine (NVIDIA GPU only)
- **VOSK**: Lightweight engine for older systems
5. **Downloads speech recognition models**:
- whisper.cpp: ~39MB tiny model (or larger if selected)
- Whisper: ~75MB tiny model + PyTorch dependencies (~2.3GB with CUDA)
- VOSK: ~40MB small model
6. **Installs desktop integration** (icons, .desktop file)
7. **Creates activation script** for easy environment activation
### Installation Time Comparison
| Engine | Download Size | Install Time | GPU Support |
|--------|---------------|--------------|-------------|
| **whisper.cpp** (default) | ~39-500MB | ~1-2 min | AMD, Intel, NVIDIA (Vulkan) |
| Whisper (OpenAI) | ~2.3GB+ | ~5-10 min | NVIDIA only (CUDA) |
| VOSK | ~40MB | ~30 sec | CPU only |
## Running Vocalinux
@@ -108,15 +156,16 @@ vocalinux
### Command Line Options
```bash
vocalinux --help # Show all options
vocalinux --debug # Enable debug logging
vocalinux --engine whisper # Use Whisper AI engine (default)
vocalinux --engine vosk # Use VOSK engine
vocalinux --model tiny # Use tiny model (default, fastest)
vocalinux --model small # Use small model
vocalinux --model medium # Use medium model
vocalinux --model large # Use large model
vocalinux --wayland # Force Wayland compatibility mode
vocalinux --help # Show all options
vocalinux --debug # Enable debug logging
vocalinux --engine whisper_cpp # Use whisper.cpp engine (default)
vocalinux --engine whisper # Use OpenAI Whisper engine
vocalinux --engine vosk # Use VOSK engine
vocalinux --model tiny # Use tiny model (default, fastest)
vocalinux --model small # Use small model
vocalinux --model medium # Use medium model
vocalinux --model large # Use large model
vocalinux --wayland # Force Wayland compatibility mode
```
## Directory Structure
@@ -260,6 +309,65 @@ cp resources/icons/scalable/*.svg ~/.local/share/icons/hicolor/scalable/apps/
gtk-update-icon-cache -f -t ~/.local/share/icons/hicolor
```
## About whisper.cpp
### What is whisper.cpp?
**whisper.cpp** is a high-performance C++ port of OpenAI's Whisper speech recognition model. It's now the **default engine** in Vocalinux because it offers significant advantages:
**Performance Benefits:**
- **10x faster installation** - No 2.3GB PyTorch download (just ~39MB model)
- **C++ optimized inference** - Faster than Python-based Whisper
- **True multi-threading** - Uses all CPU cores (no Python GIL limitations)
- **Lower memory usage** - More efficient than PyTorch
**GPU Support:**
- **Vulkan acceleration** - Works with AMD, Intel, and NVIDIA GPUs
- **Automatic backend selection** - Uses Vulkan → CUDA → CPU (in that order)
- **No special drivers** - Just needs standard Vulkan support
**Models:**
whisper.cpp uses the same models as OpenAI Whisper, converted to `ggml` format:
- **tiny** (~39MB) - Fastest, good for real-time dictation
- **base** (~74MB) - Good balance of speed and accuracy
- **small** (~244MB) - Better accuracy, still fast
- **medium** (~769MB) - High accuracy
- **large** (~1.5GB) - Best accuracy, slower
### Checking GPU Support
To verify your GPU is detected:
```bash
# Check Vulkan support (for AMD, Intel, NVIDIA)
vulkaninfo --summary | grep -i "deviceName"
# In Vocalinux, look for these log messages:
# [INFO] whisper.cpp backend selection priority: Vulkan -> CUDA -> CPU
# [INFO] whisper.cpp using Vulkan GPU backend: AMD Radeon RX 6800
```
### Switching Engines
If you want to try a different engine after installation:
```bash
# Edit the config file
nano ~/.config/vocalinux/config.json
```
Change the `engine` field:
```json
{
"speech_recognition": {
"engine": "whisper_cpp", // Options: whisper_cpp, whisper, vosk
"model_size": "tiny"
}
}
```
Or use the GUI: Right-click tray icon → Settings → Speech Engine
## Troubleshooting
### Virtual Environment Issues
@@ -387,7 +495,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/main/install.sh | bash -s -- --tag=v0.5.0-beta
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.6.0-beta
```
## Getting Help
+23 -14
View File
@@ -9,7 +9,7 @@ This guide explains how to update Vocalinux to the latest version.
Simply re-run the installation command with the new version tag:
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.5.0-beta
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.6.0-beta
```
The installer will:
@@ -24,7 +24,7 @@ The installer will:
```bash
cd vocalinux
git fetch origin
git checkout v0.5.0-beta
git checkout v0.6.0-beta
./install.sh
```
@@ -50,7 +50,7 @@ cd vocalinux
./install.sh --tag=v0.4.1-alpha
# Or via curl (for any installation)
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.5.0-beta
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.6.0-beta
```
**What gets preserved:**
@@ -68,7 +68,7 @@ cd vocalinux
# 2. Pull the latest changes
git fetch origin
git checkout v0.5.0-beta
git checkout v0.6.0-beta
# 3. Activate your virtual environment
source venv/bin/activate
@@ -97,17 +97,26 @@ git describe --tags
---
## What's New in v0.5.0-beta
## What's New in v0.6.0-beta
- **Customizable keyboard shortcuts**: Configure your own activation shortcuts via GUI
- **Modern settings dialog**: Redesigned with GNOME HIG styling
- **Improved audio feedback**: Pleasant gliding tones for recording status
- **Enhanced Wayland support**: Better keyboard shortcut handling on Wayland
- **Microphone reconnection**: Automatic reconnection when microphone disconnects
- **80%+ test coverage**: Comprehensive test suite for reliability
- **Interactive installer**: Smart hardware detection and guided installation
### 🚀 Major Feature: whisper.cpp is Now Default!
See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.5.0-beta).
This release brings **whisper.cpp** as the new default speech recognition engine—a game-changing upgrade!
**Key Improvements:**
- **⚡ 10x faster installation** — No more 2.3GB PyTorch downloads (~1-2 min vs ~5-10 min)
- **🎮 Universal GPU support** — Works with AMD, Intel, and NVIDIA via Vulkan (not just NVIDIA CUDA)
- **💾 Smaller footprint** — Tiny model is only ~39MB vs ~75MB
- **🔥 Better performance** — C++ optimized inference with true multi-threading (no Python GIL)
- **🌍 99+ languages** with automatic language detection
**Additional Improvements:**
- **Interactive installer**: Choose between 3 engines (whisper.cpp, Whisper, VOSK)
- **Hardware auto-detection**: Automatically detects your GPU and recommends optimal settings
- **Enhanced logging**: Comprehensive debug info for whisper.cpp troubleshooting
- **Better documentation**: Updated all docs to reflect whisper.cpp as the new default
See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.6.0-beta).
---
@@ -142,7 +151,7 @@ See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/
./uninstall.sh --keep-config --keep-data
# Reinstall
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.5.0-beta
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.6.0-beta
```
### Old Version Still Running
+62 -5
View File
@@ -46,7 +46,11 @@ Vocalinux supports several commands that you can speak to control formatting:
3. **Moderate pace**: Don't speak too quickly or too slowly
4. **Quiet environment**: Minimize background noise when possible
5. **Learn commands**: Familiarize yourself with voice commands for punctuation and formatting
6. **Use larger models**: For better accuracy, use `vocalinux --model medium` or `--model large`
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**:
- 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)
## Customization
@@ -59,12 +63,65 @@ Vocalinux uses a double-tap Ctrl keyboard shortcut for starting and stopping voi
### Model Settings
You can change the speech recognition model for better accuracy or faster performance:
You can change the speech recognition engine and model for better accuracy or faster performance:
1. Open settings from the tray icon menu
### Choosing Your Engine
Vocalinux now offers **three speech recognition engines**:
1. **whisper.cpp** ⭐ (Default) - High-performance C++ engine
- Fastest installation (~1-2 min)
- Works with AMD, Intel, NVIDIA GPUs via Vulkan
- True multi-threading (no Python GIL)
- Best for most users
2. **Whisper** (OpenAI) - PyTorch-based engine
- NVIDIA GPU only (requires CUDA)
- Larger download (~2.3GB with PyTorch)
- Installation takes ~5-10 min
- Use if you specifically need PyTorch features
3. **VOSK** - Lightweight engine
- Smallest footprint (~40MB)
- CPU only
- Great for older systems or minimal resource usage
### Changing Engine and Model
1. Open settings from the tray icon menu (right-click)
2. Go to the "Recognition" tab
3. Select your preferred model size (tiny is the default, use larger models for better accuracy)
4. Choose between Whisper (default, more accurate) and VOSK (lighter weight, faster)
3. Select your **Speech Engine**:
- whisper_cpp (recommended)
- whisper
- vosk
4. Select your **Model Size**:
- **tiny** (~39MB) - Fastest, good for real-time dictation
- **base** (~74MB) - Good balance
- **small** (~244MB) - Better accuracy
- **medium** (~769MB) - High accuracy
- **large** (~1.5GB) - Best accuracy, slower
### When to Use Each Model
**For real-time dictation:** Use **tiny** or **base** - they're fast enough to keep up with your speech.
**For transcription:** Use **small** or **medium** - better accuracy for recorded audio.
**For maximum accuracy:** Use **large** - best results but requires more RAM and GPU power.
### GPU Acceleration
**whisper.cpp** automatically uses GPU acceleration when available:
- **Vulkan** (AMD, Intel, NVIDIA) - Automatically detected and used
- **CUDA** (NVIDIA only) - Fallback if Vulkan not available
- **CPU** - Always works as fallback
To check which backend is being used, look for these log messages when starting Vocalinux:
```
[INFO] whisper.cpp using Vulkan GPU backend: AMD Radeon RX 6800
[INFO] whisper.cpp configured with n_threads=16
```
## Troubleshooting
+2 -2
View File
@@ -2,8 +2,8 @@
Version information for Vocalinux.
"""
__version__ = "0.5.0-beta"
__version_info__ = (0, 5, 0, "beta")
__version__ = "0.6.0-beta"
__version_info__ = (0, 6, 0, "beta")
__author__ = "Jatin K Malik"
__email__ = "jatinkrmalik@gmail.com"
__license__ = "GPL-3.0"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "vocalinux-website",
"version": "0.5.0",
"version": "0.6.0",
"private": true,
"type": "module",
"scripts": {
+1 -1
View File
@@ -120,7 +120,7 @@ export default function RootLayout({
"priceCurrency": "USD"
},
"description": "Free, open-source voice dictation for Linux. 100% offline with Whisper AI and VOSK. Works with X11 and Wayland.",
"softwareVersion": "0.5.0-beta",
"softwareVersion": "0.6.0-beta",
"author": {
"@type": "Person",
"name": "Jatin K Malik",
+84 -36
View File
@@ -44,9 +44,9 @@ const getInstallCommands = (latestRelease: string) => ({
oneClickInstallCommand: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease}`,
oneClickInstallWhisperCpu: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease} --whisper-cpu`,
oneClickInstallWhisper: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease} --engine=whisper`,
oneClickInstallNoWhisper: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease} --no-whisper`,
oneClickInstallVosk: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease} --engine=vosk`,
uninstallCommand: `curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/uninstall.sh -o /tmp/vul.sh && bash /tmp/vul.sh`,
});
@@ -178,7 +178,7 @@ export default function HomePage() {
// Get install commands based on the latest release
const installCommands = getInstallCommands(latestRelease);
const { interactiveInstallCommand, oneClickInstallCommand, oneClickInstallWhisperCpu, oneClickInstallNoWhisper, uninstallCommand } = installCommands;
const { interactiveInstallCommand, oneClickInstallCommand, oneClickInstallWhisper, oneClickInstallVosk, uninstallCommand } = installCommands;
return (
<main className="min-h-screen bg-gradient-to-b from-zinc-50 to-white dark:from-zinc-900 dark:to-zinc-950">
@@ -194,7 +194,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.5.0 Beta
v0.6.0 Beta
</span>
</Link>
@@ -308,9 +308,11 @@ export default function HomePage() {
</span>
</h1>
<p className="text-lg sm:text-xl md:text-2xl text-muted-foreground mb-2 max-w-3xl mx-auto">
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">
100% offline, privacy-first voice-to-text. Double-tap Ctrl to dictate anywhere.
Powered by Whisper AI &amp; VOSK. Free &amp; open-source.
Just double-tap Ctrl and speak.
</p>
{/* CTA Buttons */}
@@ -379,11 +381,27 @@ export default function HomePage() {
No sudo required
</span>
<span className="flex items-center gap-1.5">
<Zap className="h-3.5 w-3.5 text-yellow-500" />
~5-10 min
<Zap className="h-3.5 w-3.5 text-green-500" />
~1-2 min
</span>
</div>
</div>
{/* Tech stack info */}
<div className="flex flex-wrap justify-center items-center gap-4 sm:gap-6 mt-4 pt-4 border-t border-zinc-800/30 text-xs text-zinc-400">
<span className="flex items-center gap-1.5">
<Zap className="h-3.5 w-3.5 text-yellow-500" />
<strong className="text-zinc-300">whisper.cpp</strong> powered
</span>
<span className="flex items-center gap-1.5">
<Globe className="h-3.5 w-3.5 text-blue-500" />
AMD, Intel & NVIDIA GPUs
</span>
<span className="flex items-center gap-1.5">
<Code className="h-3.5 w-3.5 text-purple-500" />
Free & open-source
</span>
</div>
</div>
</motion.div>
@@ -498,7 +516,7 @@ export default function HomePage() {
<FeatureCard
icon={<Zap className="h-6 w-6 text-primary" />}
title="Blazing Fast"
description="Optimized for real-time transcription. Choose from Whisper AI (accurate) or VOSK (lightweight) engines."
description="whisper.cpp brings C++ optimized inference with Vulkan GPU support. Works with AMD, Intel, and NVIDIA GPUs!"
/>
<FeatureCard
icon={<Keyboard className="h-6 w-6 text-primary" />}
@@ -591,16 +609,16 @@ export default function HomePage() {
<FadeInSection delay={0.1}>
<div className="bg-white dark:bg-zinc-800 rounded-2xl shadow-xl overflow-hidden border border-zinc-200 dark:border-zinc-700 min-w-0">
<div className="p-6 sm:p-8">
{/* Alternative: Auto-detect install */}
{/* Default: whisper.cpp install */}
<div className="mb-8">
<div className="flex items-center gap-3 mb-4">
<div className="bg-blue-500/10 p-2 rounded-lg">
<Zap className="h-5 w-5 text-blue-500" />
<div className="bg-green-500/10 p-2 rounded-lg">
<Zap className="h-5 w-5 text-green-500" />
</div>
<div className="flex-1">
<h3 className="text-xl font-semibold">Auto-detect Install</h3>
<h3 className="text-xl font-semibold">Recommended: whisper.cpp (Default)</h3>
<p className="text-sm text-muted-foreground">
Fastest for power users - no prompts (~3-10 min)
Fastest installation (~1-2 min), Vulkan GPU support for AMD/Intel/NVIDIA
</p>
</div>
<CopyButton text={oneClickInstallCommand} />
@@ -617,19 +635,19 @@ export default function HomePage() {
</div>
</div>
{/* Alternative install - CPU only */}
{/* Alternative install - Whisper (OpenAI) */}
<div className="border-t border-zinc-200 dark:border-zinc-700 pt-6">
<div className="flex items-center gap-3 mb-4">
<div className="bg-cyan-500/10 p-2 rounded-lg">
<Cpu className="h-5 w-5 text-cyan-500" />
</div>
<div className="flex-1">
<h3 className="text-lg font-semibold">CPU-only Install</h3>
<h3 className="text-lg font-semibold">OpenAI Whisper (PyTorch)</h3>
<p className="text-sm text-muted-foreground">
Smaller download (~200MB vs ~2.3GB) - for systems without NVIDIA GPU (~3-4 min)
PyTorch-based engine, NVIDIA GPU only (~5-10 min, ~2.3GB download)
</p>
</div>
<CopyButton text={oneClickInstallWhisperCpu} />
<CopyButton text={oneClickInstallWhisper} />
</div>
<div className="overflow-x-auto">
<CodeBlock
@@ -638,7 +656,7 @@ export default function HomePage() {
customStyle={{ margin: 0, maxWidth: '100%', overflowX: 'auto' }}
wrapLongLines={false}
>
{oneClickInstallWhisperCpu}
{oneClickInstallWhisper}
</CodeBlock>
</div>
</div>
@@ -652,10 +670,10 @@ export default function HomePage() {
<div className="flex-1">
<h3 className="text-lg font-semibold">VOSK Only (Lightweight)</h3>
<p className="text-sm text-muted-foreground">
For low-RAM systems (8GB or less) - skips Whisper entirely (~2-3 min)
For low-RAM systems (4GB or less) - minimal footprint (~40MB)
</p>
</div>
<CopyButton text={oneClickInstallNoWhisper} />
<CopyButton text={oneClickInstallVosk} />
</div>
<div className="overflow-x-auto">
<CodeBlock
@@ -664,7 +682,7 @@ export default function HomePage() {
customStyle={{ margin: 0, maxWidth: '100%', overflowX: 'auto' }}
wrapLongLines={false}
>
{oneClickInstallNoWhisper}
{oneClickInstallVosk}
</CodeBlock>
</div>
</div>
@@ -765,7 +783,7 @@ export default function HomePage() {
</div>
</FadeInSection>
<div className="grid md:grid-cols-2 gap-8">
<div className="grid md:grid-cols-3 gap-8">
<FadeInSection delay={0.1}>
<div className="bg-white dark:bg-zinc-800 rounded-xl p-6 border-2 border-primary h-full relative overflow-hidden">
<div className="absolute top-4 right-4">
@@ -775,19 +793,19 @@ export default function HomePage() {
</div>
<div className="flex items-center gap-3 mb-4">
<div className="bg-primary/10 p-3 rounded-lg">
<Sparkles className="h-6 w-6 text-primary" />
<Zap className="h-6 w-6 text-primary" />
</div>
<h3 className="text-xl font-bold">Whisper AI</h3>
<h3 className="text-xl font-bold">whisper.cpp</h3>
</div>
<p className="text-muted-foreground mb-6">
OpenAI&apos;s state-of-the-art speech recognition model, running locally on your machine.
High-performance C++ port of Whisper with Vulkan GPU support. Our new default!
</p>
<ul className="space-y-2 mb-6">
{[
"Highest accuracy available",
"Multiple model sizes (tiny to large)",
"Excellent multi-language support",
"Best for clear, accurate transcription",
"10x faster installation (~1-2 min)",
"Universal GPU support (AMD/Intel/NVIDIA)",
"C++ optimized, true multi-threading",
"Tiny model only ~39MB",
].map((item, i) => (
<li key={i} className="flex items-center gap-2 text-sm">
<CheckCircle2 className="h-4 w-4 text-green-500" />
@@ -796,16 +814,46 @@ export default function HomePage() {
))}
</ul>
<div className="text-sm text-muted-foreground">
<strong>Model sizes:</strong> Tiny (75MB) • Base (142MB) • Small (466MB) • Medium (1.5GB) • Large (3GB)
<strong>Model sizes:</strong> Tiny (39MB) • Base (74MB) • Small (244MB) • Medium (769MB) • Large (1.5GB)
</div>
</div>
</FadeInSection>
<FadeInSection delay={0.2}>
<div className="bg-white dark:bg-zinc-800 rounded-xl p-6 border border-zinc-200 dark:border-zinc-700 h-full">
<div className="flex items-center gap-3 mb-4">
<div className="bg-purple-500/10 p-3 rounded-lg">
<Sparkles className="h-6 w-6 text-purple-500" />
</div>
<h3 className="text-xl font-bold">Whisper (OpenAI)</h3>
</div>
<p className="text-muted-foreground mb-6">
OpenAI&apos;s original PyTorch-based Whisper model. NVIDIA GPU only.
</p>
<ul className="space-y-2 mb-6">
{[
"PyTorch-based implementation",
"NVIDIA GPU support (CUDA)",
"Same accuracy as whisper.cpp",
"Larger download (~2.3GB)",
].map((item, i) => (
<li key={i} className="flex items-center gap-2 text-sm">
<CheckCircle2 className="h-4 w-4 text-purple-500" />
{item}
</li>
))}
</ul>
<div className="text-sm text-muted-foreground">
<strong>Install time:</strong> ~5-10 minutes with PyTorch
</div>
</div>
</FadeInSection>
<FadeInSection delay={0.3}>
<div className="bg-white dark:bg-zinc-800 rounded-xl p-6 border border-zinc-200 dark:border-zinc-700 h-full">
<div className="flex items-center gap-3 mb-4">
<div className="bg-blue-500/10 p-3 rounded-lg">
<Zap className="h-6 w-6 text-blue-500" />
<Cpu className="h-6 w-6 text-blue-500" />
</div>
<h3 className="text-xl font-bold">VOSK</h3>
</div>
@@ -817,7 +865,7 @@ export default function HomePage() {
"Very lightweight and fast",
"Low memory footprint",
"Great for real-time streaming",
"Good for basic transcription needs",
"CPU only, minimal resources",
].map((item, i) => (
<li key={i} className="flex items-center gap-2 text-sm">
<CheckCircle2 className="h-4 w-4 text-blue-500" />
@@ -826,7 +874,7 @@ export default function HomePage() {
))}
</ul>
<div className="text-sm text-muted-foreground">
<strong>Footprint:</strong> ~50MB model, minimal CPU/RAM usage
<strong>Footprint:</strong> ~40MB model, minimal CPU/RAM usage
</div>
</div>
</FadeInSection>
@@ -858,9 +906,9 @@ export default function HomePage() {
"Vocalinux works on most modern Linux distributions including Ubuntu 22.04+, Fedora, Debian, Arch Linux, Linux Mint, Pop!_OS, and more. It supports both X11 and Wayland display servers.",
},
{
question: "How do I switch between Whisper and VOSK?",
question: "How do I switch between speech engines?",
answer:
'You can switch engines via the settings GUI or command line. Use "vocalinux --engine whisper" or "vocalinux --engine vosk". Whisper is recommended for accuracy, VOSK for speed.',
'You can switch engines via the settings GUI or command line. Use "vocalinux --engine whisper_cpp" (default, recommended), "vocalinux --engine whisper" (OpenAI), or "vocalinux --engine vosk" (lightweight). whisper.cpp offers the best balance of speed and accuracy.',
},
{
question: "What are the system requirements?",