Ditch the keyboard and type with your voice!
Voill brings instant, perfectly formatted text from your voice wherever you need it. Just hold Alt+R, speak, and release!
final_demo.mp4
Since Voill processes everything lighting-fast through Groq's API, you'll need to use your own API key when you use the application for the first time:
- Get an API Key: Head over to the Groq Console and generate a free API key.
- Configure Voill: Launch the app, click on the Settings icon, and paste your API key into the input field.
- Start Typing:
- Click into any input field or text area on your computer.
- Hold down
Alt + Rand speak your thoughts naturally. - Release the keys.
- Voill will instantly drop beautifully formatted text right where your cursor is!
Want to use Voill without compiling it yourself? Download the latest pre-compiled package for your platform:
- Go to the Voill Releases Page.
- Download the installer matching your operating system:
- Windows:
.msior.exestandalone installer. (Coming soon!) - Linux:
.debpackage (Debian/Ubuntu) or portable.AppImage.
- Windows:
- Install and launch the application!
⚠️ Note for Windows & macOS Users: Since early alpha releases are not signed with developer certificates, the installer might be blocked on initial launch. On Windows, click More Info -> Run Anyway to bypass.
- Works everywhere: Write anywhere you can type. Currently tested for Linux and Windows. MacOS testers are welcome.
- Perfect formatting: Convert your unfiltered thoughts to publishable text, powered by Groq's LLM (Whisper Large V3 Turbo).
- Fast: Provides text almost instantly. Takes less than 1.5 sec after you release alt + R in most cases.
In this version, there is a Python backend (fastAPI) utilising Groq (Llama 3.3 70B) for voice trancsription and (Whisper Large V3 Turbo) for text formatting.
The frontend is made in tauri, using shadCN components.
Before starting, ensure you have the following installed on your machine:
- Node.js (v18+) & npm / pnpm / yarn
- Rust (via rustup)
- Python (v3.10+)
- System Dependencies:
- Windows: WebView2 (usually pre-installed on Windows 10/11) and C++ Build Tools.
- Linux (Debian/Ubuntu): Run the following to install required system packages:
sudo apt update sudo apt install -y libsoup-3.0-dev libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
To run the application locally with hot-reloading:
# 1. Navigate to the backend directory
cd backend
# 2. Compile the python backend using uv and pyinstaller
uv run --with pyinstaller pyinstaller --onefile --clean --name api --add-data "prompts:prompts" main.py
# 3. Detect your Rust target triple architecture
TARGET_TRIPLE=$(rustc -Vv | grep host | cut -d ' ' -f 2)
# 4. Copy the compiled binary as a Tauri sidecar
cp dist/api "../frontend/src-tauri/binaries/api-$TARGET_TRIPLE"
# 5. Navigate to the frontend, clear any used ports, and run dev
cd ../frontend
fuser -k 8000/tcp # optional: clears the backend port if it was hung up
pnpm run tauri dev# 1. Navigate to the backend directory
cd backend
# 2. Compile the python backend using uv and pyinstaller
uv run --with pyinstaller pyinstaller --onefile --clean --name api --add-data "prompts:prompts" main.py
# 3. Detect your Rust target triple architecture
$TARGET_TRIPLE = (rustc -Vv | Select-String "host:").Line.Split(" ")[1]
# 4. Copy the compiled executable as a Windows Tauri sidecar
copy dist\api.exe "..\frontend\src-tauri\binaries\api-$TARGET_TRIPLE.exe"
# 5. Navigate to the frontend and launch development environment
cd ..\frontend
pnpm run tauri devFinally, run the build:
pnpm run tauri build- Sometimes lags and misses a letter or two
- Set tone as needed
- Minimize to system tray with a small pill-shaped window summoning when needed
- Full on-device transcription
- Full on-device formatting by LLM
This project is licensed under the MIT License - see the LICENSE file for details.
