* chore(release): prepare v0.15.0 Bump version across app, web, AUR, and Flatpak metainfo. Document GitHub release-notes rules, refresh README/UPDATE/INSTALL/USER_GUIDE for the 0.15 series (sidebar settings, AppImage, auto-pause/keepalive, Vulkan device selection), and align website product surfaces with shipped features. Co-authored-by: Jatin K Malik <jatinkrmalik@users.noreply.github.com> * docs(release): fold latest main into v0.15.0 notes Include dictation capitalization/trailing-space, ibus-wayland injection, IBus teardown, and settings notice polish landed on main after the initial release prep rebase. Co-authored-by: Jatin K Malik <jatinkrmalik@users.noreply.github.com> * docs(release): include Bluetooth mic crash fix in v0.15.0 notes Fold #599 (PortAudio Bluetooth SCO probe heap corruption) into README, UPDATE, changelog, AppStream, and release history after rebasing onto main. Co-authored-by: Jatin K Malik <jatinkrmalik@users.noreply.github.com> * docs(release): include language catalog expansion in v0.15.0 notes Fold #616 (Hungarian and expanded speech languages, Fixes #565) into README, UPDATE, changelog, AppStream, PRODUCT.md, and release history after rebasing onto latest main. Co-authored-by: Jatin K Malik <jatinkrmalik@users.noreply.github.com> * docs(release): fold settings footer and language follow-ups into v0.15.0 Include #618 sidebar dictation footer, #619 Custom Shortcut Record/Set restore, and #617 English (India) Whisper language mapping after rebasing onto latest main. Co-authored-by: Jatin K Malik <jatinkrmalik@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Jatin K Malik <jatinkrmalik@users.noreply.github.com>
183 lines
7.6 KiB
Markdown
183 lines
7.6 KiB
Markdown
# User Guide
|
|
|
|
This guide explains how to use Vocalinux effectively.
|
|
|
|
## Getting Started
|
|
|
|
After installing Vocalinux (see the [Installation Guide](INSTALL.md)), you can start the application from the terminal and optionally enable start-on-login.
|
|
|
|
## Start on Login (Autostart)
|
|
|
|
Vocalinux supports login autostart using the standard Linux desktop-session mechanism.
|
|
|
|
- **Where to enable it**:
|
|
- First-run welcome dialog
|
|
- Tray menu: **Start on Login**
|
|
- Settings dialog: **Start on Login**
|
|
- **What Vocalinux creates**:
|
|
- `vocalinux.desktop` in `$XDG_CONFIG_HOME/autostart/` or `~/.config/autostart/`
|
|
- **How it starts**:
|
|
- As a regular user GUI app in your desktop session (`--start-minimized`)
|
|
- **What it does not do**:
|
|
- It does not create a `systemd` service/unit for autostart
|
|
|
|
### Desktop Compatibility Notes
|
|
|
|
- Works on most mainstream desktop environments (GNOME, KDE, Xfce, Cinnamon, MATE, LXQt)
|
|
- On minimal/custom window managers, autostart may require an autostart manager or desktop-specific startup hook
|
|
|
|
## Basic Usage
|
|
|
|
### Starting and Stopping Voice Typing
|
|
|
|
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", 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, double-tap again in toggle mode, or release the key in push-to-talk mode
|
|
|
|
### Dictation formatting
|
|
|
|
Vocalinux capitalizes the start of dictation and letters after `.`, `!`, or `?`. Each completed utterance also leaves a trailing space so the next push-to-talk or toggle session does not glue onto the previous sentence (`Hello.This` → `Hello. This`).
|
|
|
|
### Understanding the Status Icons
|
|
|
|
- **Microphone off** (gray): Voice typing is inactive
|
|
- **Microphone on** (blue): Voice typing is active and listening
|
|
- **Microphone processing** (orange): Voice typing is processing your speech
|
|
|
|
## Voice Commands
|
|
|
|
Vocalinux supports several commands that you can speak to control formatting:
|
|
|
|
| Command | Action |
|
|
|---------|--------|
|
|
| "new line" or "new paragraph" | Inserts a line break |
|
|
| "period" or "full stop" | Types a period (.) |
|
|
| "comma" | Types a comma (,) |
|
|
| "question mark" | Types a question mark (?) |
|
|
| "exclamation point" or "exclamation mark" | Types an exclamation point (!) |
|
|
| "semicolon" | Types a semicolon (;) |
|
|
| "colon" | Types a colon (:) |
|
|
| "delete that" or "scratch that" | Deletes the last sentence |
|
|
| "capitalize" or "uppercase" | Capitalizes the next word |
|
|
| "all caps" | Makes the next word ALL CAPS |
|
|
|
|
## Tips for Better Recognition
|
|
|
|
1. **Use a good microphone**: A quality microphone significantly improves recognition accuracy
|
|
2. **Speak clearly**: Enunciate your words clearly but naturally
|
|
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 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 `small`, `medium`, or `large`
|
|
- For English-only dictation: Choose an `.en` specialization
|
|
- For lower-memory systems: Choose a quantized specialization such as `q5_0` or `q5_1`
|
|
8. **Check debug logs**: Run `vocalinux --debug` to see which backend is being used (Vulkan, CUDA, or CPU)
|
|
|
|
## Customization
|
|
|
|
### Keyboard Shortcut
|
|
|
|
Vocalinux supports two shortcut modes for controlling voice typing:
|
|
|
|
- **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
|
|
|
|
You can change the speech recognition engine and model for better accuracy or faster performance:
|
|
|
|
### 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. Open the **Speech Engine** page in the settings sidebar (search works if you prefer)
|
|
3. Select your **Speech Engine**:
|
|
- whisper_cpp (recommended)
|
|
- whisper
|
|
- vosk
|
|
4. Select your **Model Size**:
|
|
- **tiny** (~74MB) - Fastest, good for real-time dictation
|
|
- **base** (~141MB) - Good balance
|
|
- **small** (~465MB) - Better accuracy
|
|
- **medium** (~1.5GB) - High accuracy
|
|
- **large** (~3.0GB) - Best accuracy, slower
|
|
5. For whisper.cpp, select a **Specialization**:
|
|
- **Standard multilingual** - Best default for auto-detect or non-English dictation
|
|
- **English-only** - Choose when you dictate only in English
|
|
- **Quantized** - Lower memory and smaller downloads with a possible accuracy tradeoff
|
|
- **Turbo** - Faster large-v3 option with strong accuracy
|
|
- **Legacy large** - Use only if you specifically need an older large model version
|
|
|
|
English-only whisper.cpp specializations limit the language selector to English.
|
|
|
|
### 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.
|
|
|
|
**For lower-memory systems:** Use a quantized whisper.cpp specialization such as **Q5** or **Q8**.
|
|
|
|
**For English-only dictation:** Use an **English-only** specialization and keep the language set to English.
|
|
|
|
### 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
|
|
|
|
On multi-GPU machines, Vocalinux prefers a **discrete** Vulkan device when one is present. You can override the device under **Advanced** settings (`whispercpp_gpu_device`).
|
|
|
|
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
|
|
```
|
|
|
|
### Auto-pause and model keep-alive
|
|
|
|
Optional power-saving controls live under settings:
|
|
|
|
- **Auto-pause apps** — unload the speech model while configured apps/games are running, then reload when they exit
|
|
- **Model keep-alive** — unload the model after a configurable idle timeout so idle dictation does not keep GPU/CPU resources warm
|
|
|
|
## Troubleshooting
|
|
|
|
If you encounter issues, check the [Installation Guide](INSTALL.md) troubleshooting section or run the application with debug logging:
|
|
|
|
```bash
|
|
vocalinux --debug
|
|
```
|
|
|
|
Check the logs for error messages and possible solutions.
|