{"id":32690153,"url":"https://github.com/rick12000/vocalance","last_synced_at":"2026-07-01T19:32:09.221Z","repository":{"id":319316545,"uuid":"1032793096","full_name":"rick12000/vocalance","owner":"rick12000","description":"Accessibility software with on-device processing for users with limited mobility.","archived":false,"fork":false,"pushed_at":"2026-06-18T10:01:59.000Z","size":108881,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-18T12:06:05.587Z","etag":null,"topics":["accessibility","disability","tool","ui","windows","windows-10","windows-11"],"latest_commit_sha":null,"homepage":"https://vocalance.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rick12000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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-08-05T20:45:54.000Z","updated_at":"2026-05-05T07:28:53.000Z","dependencies_parsed_at":"2025-10-26T16:06:15.998Z","dependency_job_id":"b17ae49e-f1ba-4d7b-bb0e-1e334374444c","html_url":"https://github.com/rick12000/vocalance","commit_stats":null,"previous_names":["rick12000/iris","rick12000/vocalance"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/rick12000/vocalance","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rick12000%2Fvocalance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rick12000%2Fvocalance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rick12000%2Fvocalance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rick12000%2Fvocalance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rick12000","download_url":"https://codeload.github.com/rick12000/vocalance/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rick12000%2Fvocalance/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35020870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-01T02:00:05.325Z","response_time":130,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["accessibility","disability","tool","ui","windows","windows-10","windows-11"],"created_at":"2025-11-01T14:00:45.918Z","updated_at":"2026-07-01T19:32:09.213Z","avatar_url":"https://github.com/rick12000.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv style=\"width:100%; display:flex; justify-content:center;\"\u003e\n  \u003cimg src=\"vocalance/app/assets/repo/banner_github.png\" alt=\"Vocalance Logo\" style=\"width:100%; max-width:1000px; height:auto;\"/\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://vocalance.com\"\u003eWebsite\u003c/a\u003e |\n  \u003ca href=\"https://vocalance.readthedocs.io/en/latest/developer/overview/introduction.html\"\u003eDocumentation\u003c/a\u003e |\n  \u003ca href=\"https://vocalance.readthedocs.io/en/latest/contact.html\"\u003eContact\u003c/a\u003e\n\u003c/div\u003e\n\n\n## 💡 Overview\n\nVocalance offers hands free control of your computer, enabling you to switch tabs, move on screen, dictate anywhere and much more!\n\n## 🚀 Website\n\nTo find out more about what Vocalance can do, including detailed instructions and guides, refer to the [official website](https://vocalance.com):\n\n\u003cdiv style=\"width:100%; display:flex; justify-content:center;\"\u003e\n  \u003cimg src=\"vocalance/app/assets/repo/website_prompt.png\" alt=\"Vocalance Logo\" style=\"width:100%; max-width:1000px; height:auto;\"/\u003e\n\u003c/div\u003e\n\n\n## 💻 Installation\n\nVocalance can be set up entirely from the source code in this repository (currently only supported on Windows).\n\n### ✨ **Easy Setup (Recommended)**\n\n\u003e [!IMPORTANT]\n\u003e If you want to enable AI features, ensure [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/) are installed — download the installer, run it, and tick \"**Desktop development with C++**\" under workloads.\n\nTo get started with installation, either follow the steps below or watch the [installation walkthrough on YouTube](https://www.youtube.com/watch?v=p2_gPICZ9x8).\n\n1. Open PowerShell (from Windows Start Menu).\n\n2. Paste and run:\n\n    ```powershell\n    Invoke-WebRequest -Uri \"https://github.com/rick12000/vocalance/releases/latest/download/setup.ps1\" -OutFile \"vocalance-setup.ps1\"; powershell -ExecutionPolicy Bypass -File .\\vocalance-setup.ps1\n    ```\n\n   *If you'd like to inspect what the script will do before running it, view [scripts/bootstrapping/setup.ps1](scripts/bootstrapping/setup.ps1) in this repository.*\n\n   \u003e **Optional:** To install a specific release instead of the latest, replace `latest/download` with `download/vX.Y.Z` in the URL — for example:\n   \u003e ```powershell\n   \u003e Invoke-WebRequest -Uri \"https://github.com/rick12000/vocalance/releases/download/v0.1.0/setup.ps1\" -OutFile \"vocalance-setup.ps1\"; powershell -ExecutionPolicy Bypass -File .\\vocalance-setup.ps1\n   \u003e ```\n\n   During setup you will be asked whether to enable LLM features. Answer **yes** if you want to enable AI dictation and AI text editing functionality, otherwise answer **no**.\n\n3. Open Vocalance from the Start Menu (search \"vocalance\" if not featured):\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"vocalance/app/assets/repo/shortcut.png\" alt=\"Vocalance shortcut in the Windows Start menu under Recently added\" width=\"200\" /\u003e\n\u003c/p\u003e\n\n   - If the application doesn't appear immediately after you clicked it, *wait 10-15 seconds before retrying*, it may be loading in the background.\n   - If you enabled LLM features, the application needs to **download** your local AI model from a trusted *Hugging Face* repository on first use. **Do not close** the startup window during this process — allow up to 30 minutes depending on your internet connection (around 5 minutes for most users).\n\nThen you're good to go! If you haven't already, refer to Vocalance's official website for [instructions](https://rick12000.github.io/vocalance-launch-site/instructions.html) on how everything works.\n\nHaving issues with the installation steps? Reach out at: vocalance.contact@gmail.com\n\n---\n\n### 🛠️ **Developer Setup**\n\n\u003e [!IMPORTANT]\n\u003e If you want to enable AI features, ensure [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/) are installed — download the installer, run it, and tick \"**Desktop development with C++**\" under workloads. Then install with `uv sync --extra llm` instead of `uv sync --active`.\n\n#### 1. Set Up UV\n\n1. Open Windows PowerShell and enter the script below to install [UV](https://github.com/astral-sh/uv) (Python package manager):\n   ```powershell\n   powershell -ExecutionPolicy ByPass -c \"irm https://astral.sh/uv/install.ps1 | iex\"\n   ```\n\n2. Add UV to path (this is specific to this terminal session only, repeat this step every time, or add to permanent path to skip):\n   ```powershell\n   $env:Path = \"$HOME\\.local\\bin;$env:Path\"\n   ```\n\n#### 2. Set Up Vocalance\n\n1. Create a 3.13.9 virtual environment named `vocalance_env` with UV:\n   ```bash\n   uv venv --python 3.13.9 vocalance_env\n   ```\n\n2. Activate the environment:\n   ```bash\n   vocalance_env\\Scripts\\activate\n   ```\n\n3. Clone the repository:\n   ```bash\n   git clone https://github.com/rick12000/vocalance.git\n   ```\n\n4. Go to the repository directory:\n   ```bash\n   cd vocalance\n   ```\n\n5. Install Vocalance from `uv.lock`:\n   ```bash\n   uv sync --active\n   ```\n\n   To include LLM features (smart dictation, text-amend), install with:\n   ```bash\n   uv sync --active --extra llm\n   ```\n\n6. Run the application:\n   ```bash\n   python vocalance.py\n   ```\n\nThe application will start up and download any required models (like speech recognition models) on first run. If LLM features are enabled, the local AI model is also downloaded on first launch. This may take several minutes depending on your internet connection.\n\nThen you're good to go! If you haven't already, refer to Vocalance's official website for [instructions](https://rick12000.github.io/vocalance-launch-site/instructions.html) on how to get started.\n\n\n### An Aside on Pip\n\nThe recommended approach is to install Vocalance with uv, since the developers can freeze and document all recommended dependancies in a `uv.lock` file, which you then install with `uv sync --active`.\n\nIf you're more familiar with a mixture of a virtual environment manager (eg. `venv` or `conda` or `pyenv`) + `pip` however, you can absolutely replace above uv steps with your environment manager and replace `uv sync --active` with `pip install .` to install Vocalance as a package. Note this is at your discretion, and license disclosures in this repository pertain to pinned package versions in `uv.lock`.\n\n### 🧹 Cleanup\n\nTo uninstall Vocalance completely, download and run the cleanup script:\n\n```powershell\nInvoke-WebRequest -Uri \"https://github.com/rick12000/vocalance/releases/latest/download/cleanup.ps1\" -OutFile \"vocalance-cleanup.ps1\"; powershell -ExecutionPolicy Bypass -File .\\vocalance-cleanup.ps1\n```\n\nThis removes the application files (`%LOCALAPPDATA%\\Programs\\Vocalance\\`), user data (`%APPDATA%\\Vocalance\\`), and the Start Menu shortcut. It does not remove system-level tools such as UV.\n\n\n## ⚠️ Disclaimers\n\nVocalance is distributed under a GPLv3 license. It makes use of your microphone and, at startup, downloads required assets (such as AI models or text to speech models) from the internet. For a full set of disclaimers and usage warnings, refer to the [disclaimer notes](DISCLAIMER.md).\n\n## 🔧 System Requirements\n\n- **Operating System**: Windows 10/11 (macOS and Linux support planned)\n- **RAM**: 1GB RAM\n- **Disk**: 3GB\n- **Hardware**: It is **strongly** recommended to purchase a reasonably good headset or microphone to improve Vocalance outputs and recognition, but it will still work without this.\n\n## 🤝 Contributing\n\nReach out at vocalance.contact@gmail.com with title **\"Contribution\"** if:\n\n- You have software engineering experience and have feedback on how the architecture of the application could be improved.\n- You want to add an original or pre-approved feature.\n\nFor now, contributions will be handled on an ad-hoc basis, but in future contribution guidelines will be set up depending on the number of contributors.\n\n## 📚 Technical Documentation\n\nIf you want to find out more about Vocalance's architecture, refer to the technical documentation on [Read the Docs](https://vocalance.readthedocs.io/en/latest/developer/overview/introduction.html):\n\n- **[Overview](https://vocalance.readthedocs.io/en/latest/developer/overview/introduction.html)** — End-to-end architecture, the audio pipeline, and how capture, command flow, and dictation relate\n- **[Capture](https://vocalance.readthedocs.io/en/latest/developer/features/capture.html)** — Microphone capture, `AudioCaptureService`, and how audio reaches the rest of the app\n- **[Command flow](https://vocalance.readthedocs.io/en/latest/developer/features/command_flow.html)** — Segmenting, recognition, parsing, and executing voice commands as OS actions\n- **[Dictation flow](https://vocalance.readthedocs.io/en/latest/developer/features/dictation_flow.html)** — Long-running dictation sessions, recognizers, and typing pipeline\n- **[User interface](https://vocalance.readthedocs.io/en/latest/developer/features/user_interface.html)** — How pipeline events reach the screen and how UI input returns to the bus\n- **[Event bus](https://vocalance.readthedocs.io/en/latest/developer/foundations/event_bus.html)** — Publish/subscribe model, dispatch, and how services stay decoupled\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frick12000%2Fvocalance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frick12000%2Fvocalance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frick12000%2Fvocalance/lists"}