{"id":34847547,"url":"https://github.com/stefan-schmidbauer/voicesnip","last_synced_at":"2026-05-02T22:01:50.040Z","repository":{"id":327969118,"uuid":"1110714617","full_name":"Stefan-Schmidbauer/voicesnip","owner":"Stefan-Schmidbauer","description":"VoiceSnip - Push-to-Talk Speech-to-Text for Linux","archived":false,"fork":false,"pushed_at":"2026-05-02T09:31:19.000Z","size":571,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-02T11:23:40.518Z","etag":null,"topics":["faster-whisper","linux","push-to-talk","speech-to-text","whisper","windows"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Stefan-Schmidbauer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-05T15:56:44.000Z","updated_at":"2026-05-02T09:31:23.000Z","dependencies_parsed_at":"2026-02-14T10:03:09.506Z","dependency_job_id":null,"html_url":"https://github.com/Stefan-Schmidbauer/voicesnip","commit_stats":null,"previous_names":["stefan-schmidbauer/voicesnip","stefan-schmidbauer/ancroo-voice"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/Stefan-Schmidbauer/voicesnip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stefan-Schmidbauer%2Fvoicesnip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stefan-Schmidbauer%2Fvoicesnip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stefan-Schmidbauer%2Fvoicesnip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stefan-Schmidbauer%2Fvoicesnip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Stefan-Schmidbauer","download_url":"https://codeload.github.com/Stefan-Schmidbauer/voicesnip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stefan-Schmidbauer%2Fvoicesnip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32550914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T21:31:48.061Z","status":"ssl_error","status_checked_at":"2026-05-02T21:31:46.574Z","response_time":132,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["faster-whisper","linux","push-to-talk","speech-to-text","whisper","windows"],"created_at":"2025-12-25T18:51:59.579Z","updated_at":"2026-05-02T22:01:50.035Z","avatar_url":"https://github.com/Stefan-Schmidbauer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VoiceSnip - Push-to-Talk Speech-to-Text\n\nLocal push-to-talk speech-to-text for Linux. Hold a hotkey, speak, release - text appears at your cursor.\n\nAll processing happens locally on your GPU. No cloud, no server, no data leaves your machine.\n\n![VoiceSnip GUI](voicesnip.png)\n\n## Features\n\n- **Push-to-Talk**: Hold hotkey to record, release to transcribe\n- **Local GPU Processing**: Whisper runs directly on your NVIDIA (CUDA) or AMD (ROCm) GPU\n- **Privacy-First**: All data stays on your device\n- **Configurable Hotkeys**: Any key combination (Ctrl+Space, Alt+R, etc.)\n- **Multi-Language**: 10 languages (German, English, French, Spanish, etc.) + Auto-Detection\n- **Dark/Light Mode**: Switch between dark and light themes\n- **Adjustable Font Size**: A-/A+ buttons to customize text size\n\n## Requirements\n\n- Linux (X11 or Wayland)\n- Python 3.8+\n- NVIDIA GPU with CUDA **or** AMD GPU with ROCm\n- Debian/Ubuntu for automated system package install\n\n## Installation\n\n```bash\ngit clone https://github.com/Stefan-Schmidbauer/voicesnip.git\ncd voicesnip\n./install.py\n```\n\nThe installer will ask you to choose a profile:\n\n| Profile  | Description                                              |\n| -------- | -------------------------------------------------------- |\n| **cuda** | Whisper with NVIDIA GPU acceleration (requires CUDA)     |\n| **rocm** | Whisper with AMD GPU acceleration (requires ROCm, Linux) |\n\n### GPU Setup\n\n**NVIDIA (CUDA):** Install [NVIDIA drivers](https://developer.nvidia.com/cuda-downloads). CUDA libraries are installed automatically by the installer.\n\n**AMD (ROCm):** Install [ROCm drivers](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/) first. PyTorch ROCm is installed automatically by the installer.\n\n## Usage\n\n```bash\n./start.sh\n```\n\n1. Select your microphone\n2. Click \"Start\"\n3. Hold your hotkey (default: Ctrl+Space) and speak\n4. Release - text appears at your cursor\n\n## Wayland Support\n\nVoiceSnip works on both X11 and Wayland, but with different workflows due to Wayland's security model.\n\n### X11 (Full Support)\n\n- **Global hotkeys work** - Hold Ctrl+Space (or your configured hotkey) anywhere\n- Text is automatically inserted at your cursor via xdotool\n\n### Wayland (GUI-Based Recording)\n\nWayland blocks global keyboard hooks for security reasons. VoiceSnip provides an alternative:\n\n1. Click **\"Start Recording\"** in the GUI (instead of hotkey)\n2. Speak, then click **\"Stop Recording\"**\n3. Enable **\"Auto-copy to clipboard\"** for automatic copying\n4. Switch to your target app and **Ctrl+V** to paste\n\n## Whisper Models\n\n| Model    | Size   | VRAM   | Notes                   |\n| -------- | ------ | ------ | ----------------------- |\n| tiny     | 78 MB  | 230 MB | Fastest, lowest quality |\n| base     | 149 MB | 330 MB |                         |\n| small    | 488 MB | 745 MB | Good balance            |\n| medium   | 1.5 GB | 2 GB   |                         |\n| turbo    | 1.6 GB | 2.2 GB | **Recommended for GPU** |\n| large-v3 | 3.1 GB | 3.9 GB | Best quality            |\n\nModels download automatically on first use to `~/.cache/huggingface/`.\n\n## Configuration\n\nSettings are saved automatically in the project directory:\n\n| File                    | Purpose              |\n| ----------------------- | -------------------- |\n| `.env`                  | Environment config   |\n| `voicesnip_config.json` | GUI settings         |\n| `voicesnip_profile.ini` | Installation profile |\n\n## License\n\nMIT License - see LICENSE file.\n\n**Third-Party:** OpenAI Whisper (MIT), NVIDIA CUDA, AMD ROCm\n\n## Author\n\nStefan Schmidbauer\n\n---\n\n_Developed with AI assistance (Claude/Anthropic)_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefan-schmidbauer%2Fvoicesnip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefan-schmidbauer%2Fvoicesnip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefan-schmidbauer%2Fvoicesnip/lists"}