Hey Devs!
I've always been frustrated by how much faster I can think than I can type. Whether it's writing documentation, drafting emails, or just trying to get an idea down, my
keyboard often feels like a bottleneck.
So, I built a solution: Scribe.
It started as a simple "voice notepad," but it evolved into a powerful voice assistant that lets me control my Windows PC, automate repetitive tasks, and type into any
application, all while being 100% offline and private.
What is Scribe?
Scribe is a free, open-source desktop app for Windows (7 64-bit and up). At its core, it uses the Vosk speech recognition toolkit to process your voice in real-time,
locally on your machine.
The coolest part? It doesn't have its own text editor. It types directly into whatever window has focus. This means you can dictate into your IDE, a terminal, a Git
commit message, a browser, or anywhere else you'd normally type.
But its real power comes from the automation features.
It's More Than Just Dictation
This is where it gets fun. I built Scribe to be a true productivity tool.
Voice-Powered Commands (The Fun Part)
You can configure custom voice commands to do almost anything:
- Launch Apps: I can say "launch terminal" and my terminal window pops up.
- Emulate Hotkeys: This is a game-changer. I have commands like "save work" that trigger Ctrl+S, or "copy selection" for Ctrl+C. You can map any keyboard shortcut you want, for any program.
Here's a conceptual look at how you might set it up in the settings:
1 # Voice Command -> Action
2
3 "open browser" -> launch "chrome.exe"
4 "save file" -> press "ctrl+s"
5 "lock screen" -> press "win+l"
Fuzzy Matching: Because Nobody's Perfect
I knew that voice recognition isn't always 100% accurate. So, I added a fuzzy matching mechanism for commands. If you're off by a letter or two in your pronunciation
(e.g., you say "open prowser"), Scribe is smart enough to figure out what you meant and will still execute the command. This makes it way more reliable to use.
Smart Text Input: Speed vs. Compatibility
You can choose how Scribe inputs text, which is useful for different applications:
- Keyboard Emulation: Types character by character. Slower, but compatible with everything.
- Clipboard Paste: Pastes the entire block of text at once. It's lightning-fast and uses less CPU, making it great for long dictations.
Autoreplace for Your Boilerplate
We all have things we type over and over. Scribe's "Autoreplace" feature (think hotstrings) solves this. I can say "insert log function" and have it type out
console.log('DEBUG: ', ); or say "my email" and have it type my full email address.
Built to Be Lightweight
I optimized Scribe to be light on system resources. There are even settings to reduce the hardware load further, so it runs smoothly even on less powerful machines.
Check it Out!
This has been a passion project for me, and it's made my own workflow much faster. The project is completely open-source, and I'd love to hear what you think.
You can grab the latest release and check out the code at the links below.
- GitHub Repo: https://github.com/AIgrator/Scribe (https://github.com/AIgrator/Scribe)
- Downloads on SourceForge: https://sourceforge.net/projects/aigrator-scribe/ (https://sourceforge.net/projects/aigrator-scribe/)
- Full Documentation: https://aigrator.github.io/Scribe/ (https://aigrator.github.io/Scribe/)
Thanks for reading! Let me know if you have any questions.
Top comments (0)