# Vocalinux [![Vocalinux CI](https://github.com/jatinkrmalik/vocalinux/workflows/Vocalinux%20CI/badge.svg)](https://github.com/jatinkrmalik/vocalinux/actions) [![codecov](https://codecov.io/gh/jatinkrmalik/vocalinux/branch/main/graph/badge.svg)](https://codecov.io/gh/jatinkrmalik/vocalinux) [![Status: Alpha](https://img.shields.io/badge/Status-Alpha-orange)](https://github.com/jatinkrmalik/vocalinux) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) [![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](CONTRIBUTING.md) [![GitHub issues](https://img.shields.io/github/issues/jatinkrmalik/vocalinux)](https://github.com/jatinkrmalik/vocalinux/issues) [![GitHub release](https://img.shields.io/github/v/release/jatinkrmalik/vocalinux?include_prereleases)](https://github.com/jatinkrmalik/vocalinux/releases) ![Vocalinux Users](https://github.com/user-attachments/assets/e3d8dd16-3d4f-408c-b899-93d85e98b107) **A seamless 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](https://github.com/jatinkrmalik/vocalinux/issues)! --- ## ✨ Features - 🎀 **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 ## πŸš€ Quick Install ### One-liner Installation (Recommended) ```bash curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh | bash ``` This will: - Clone the repository - Install all dependencies - Set up a virtual environment in `~/.local/share/vocalinux/venv` - Create a symlink at `~/.local/bin/vocalinux` ### Alternative: Install from Source ```bash # Clone the repository git clone https://github.com/jatinkrmalik/vocalinux.git cd vocalinux # Run the installer ./install.sh ``` The installer handles everything: system dependencies, Python environment, speech models, and desktop integration. ### After Installation ```bash # 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/vocalinux ``` Or launch it from your application menu! ## πŸ“‹ Requirements - **OS**: Ubuntu 22.04+ (other Linux distros may work) - **Python**: 3.8 or newer - **Display**: X11 or Wayland - **Hardware**: Microphone for voice input ## πŸŽ™οΈ Usage ### Voice Dictation 1. **Double-tap Ctrl** to start recording 2. Speak clearly into your microphone 3. **Double-tap Ctrl** again (or pause speaking) to stop ### Voice Commands | 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 | ### 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 ``` ## βš™οΈ Configuration Configuration is stored in `~/.config/vocalinux/config.json`: ```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). ## πŸ”§ Development Setup ```bash # Clone and install in dev mode git clone https://github.com/jatinkrmalik/vocalinux.git cd vocalinux ./install.sh --dev # Activate environment source activate-vocalinux.sh # Run tests pytest # Run from source with debug python -m vocalinux.main --debug ``` ## πŸ“ Project Structure ``` 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 β”œβ”€β”€ resources/ # Icons and sounds β”œβ”€β”€ docs/ # Documentation └── web/ # Website source ``` ## πŸ“– Documentation - [Installation Guide](docs/INSTALL.md) - Detailed installation instructions - [User Guide](docs/USER_GUIDE.md) - Complete user documentation - [Contributing](CONTRIBUTING.md) - Development setup and contribution guidelines ## πŸ—ΊοΈ Roadmap - [x] ~~Custom icon design~~ βœ… - [x] ~~Graphical settings dialog~~ βœ… - [x] ~~Whisper AI support~~ βœ… - [ ] Multi-language support - [ ] Application-specific commands - [ ] Debian/Ubuntu package (.deb) - [ ] Improved Wayland support - [ ] Voice command customization ## 🀝 Contributing We welcome contributions! Whether it's bug reports, feature requests, or code contributions, please check out our [Contributing Guide](CONTRIBUTING.md). ### Quick Links - πŸ› [Report a Bug](https://github.com/jatinkrmalik/vocalinux/issues/new?template=bug_report.md) - πŸ’‘ [Request a Feature](https://github.com/jatinkrmalik/vocalinux/issues/new?template=feature_request.md) - πŸ’¬ [Discussions](https://github.com/jatinkrmalik/vocalinux/discussions) ## πŸ‘¨β€πŸ’» Author **Jatin K Malik** - GitHub: [@jatinkrmalik](https://github.com/jatinkrmalik) - Twitter: [@jatinkrmalik](https://twitter.com/jatinkrmalik) ## ⭐ Support If you find Vocalinux useful, please consider: - ⭐ Starring this repository - πŸ› Reporting bugs you encounter - πŸ“– Improving documentation - πŸ”€ Contributing code ## πŸ“œ License This project is licensed under the **GNU General Public License v3.0** - see the [LICENSE](LICENSE) file for details. ---

Made with ❀️ for the Linux community
github.com/jatinkrmalik/vocalinux