A seamless free open-source private voice dictation system for Linux, comparable to the built-in solutions on macOS and Windows.
π Alpha Release!
We're excited to share Vocalinux with the community. Try it out and let us know what you think!
- π€ 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
- π¨ System tray integration with visual status indicators
- π Audio feedback for recording status
- βοΈ Graphical settings dialog for easy configuration
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.4.0-alphaNote: Installs v0.4.0-alpha. For the most recent version, check GitHub Releases.
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
voskPython package from PyPI - Whisper: installs the
openai-whisperpackage from PyPI, which also pulls in PyTorch (the ML framework Whisper requires)
- VOSK: installs the
- 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):
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.4.0-alpha --whisper-cpuThis installs Whisper with CPU-only PyTorch (~200MB instead of ~2.3GB). Works great for systems without NVIDIA GPU.
For low-RAM systems (8GB or less) - VOSK only:
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash -s -- --tag=v0.4.0-alpha --no-whisperThis skips Whisper installation entirely and configures VOSK as the default engine.
# Clone the repository
git clone https://github.com/jatinkrmalik/vocalinux.git
cd vocalinux
# Run the installer (will prompt for Whisper)
./install.sh
# Or with Whisper support
./install.sh --with-whisperThe installer handles everything: system dependencies, Python environment, speech models, and desktop integration.
# If ~/.local/bin is in your PATH (recommended):
vocalinux
# Or activate the virtual environment first:
source ~/.local/bin/activate-vocalinux.sh
vocalinux
# Or run directly:
~/.local/share/vocalinux/venv/bin/vocalinuxOr launch it from your application menu!
# If installed via curl:
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/uninstall.sh | bash
# If installed from source:
./uninstall.sh- OS: Ubuntu 22.04+ (other Linux distros may work)
- Python: 3.8 or newer
- Display: X11 or Wayland
- Hardware: Microphone for voice input
- Double-tap Ctrl to start recording
- Speak clearly into your microphone
- Double-tap Ctrl again (or pause speaking) to stop
| Command | Action |
|---|---|
| "new line" | Inserts a line break |
| "period" / "full stop" | Types a period (.) |
| "comma" | Types a comma (,) |
| "question mark" | Types a question mark (?) |
| "exclamation mark" | Types an exclamation mark (!) |
| "delete that" | Deletes the last sentence |
| "capitalize" | Capitalizes the next word |
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 modeConfiguration is stored in ~/.config/vocalinux/config.json:
{
"speech_recognition": {
"engine": "vosk",
"model_size": "small",
"vad_sensitivity": 3,
"silence_timeout": 2.0
}
}You can also configure settings through the graphical Settings dialog (right-click the tray icon).
# Clone and install in dev mode
git clone https://github.com/jatinkrmalik/vocalinux.git
cd vocalinux
./install.sh --dev
# Activate environment
source venv/bin/activate
# Run tests
pytest
# Run from source with debug
python -m vocalinux.main --debugvocalinux/
βββ 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
βββ resources/ # Icons and sounds
βββ docs/ # Documentation
βββ web/ # Website source
- Installation Guide - Detailed installation instructions
- Update Guide - How to update Vocalinux
- User Guide - Complete user documentation
- Contributing - Development setup and contribution guidelines
-
Custom icon designβ -
Graphical settings dialogβ -
Whisper AI supportβ -
Multi-language support (FR, DE, RU)β - In-app update mechanism
- Application-specific commands
- Debian/Ubuntu package (.deb)
- Improved Wayland support
- Voice command customization
We welcome contributions! Whether it's bug reports, feature requests, or code contributions, please check out our Contributing Guide.
- π Report a Bug
- π‘ Request a Feature
- π¬ Discussions
If you find Vocalinux useful, please consider:
- β Starring this repository
- π Reporting bugs you encounter
- π Improving documentation
- π Contributing code
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Made with β€οΈ for the Linux community
