CTRL DICTATE
============

Hold Ctrl, talk, let go - your words are typed wherever your cursor is,
with the ums, uhs, stutters and false starts cleaned out.

Works in any program: email, Word, browsers, chat apps, etc.


WHAT YOU NEED
-------------
1. Windows 10 or 11 and a microphone.
2. Python 3.10 or newer - free from https://www.python.org/downloads/
   IMPORTANT: on the first installer screen, tick "Add python.exe to PATH".
3. An Anthropic API key for the clean-up step - https://console.anthropic.com
   (Settings > API Keys). You pay Anthropic directly; each dictation
   costs roughly a cent or less. Without a key it still works,
   it just types exactly what you said.


HOW TO START
------------
1. Unzip this folder somewhere permanent (e.g. Documents\ctrl-dictate).
2. Double-click "Start Dictation.bat".
   - The first time, it installs everything (a few minutes) and downloads
     the speech model (about 500 MB), then asks for your API key.
3. When the window says "Ready", leave it open (you can minimize it).


HOW TO USE
----------
- Click into any text box.
- Hold Ctrl (by itself), speak, then release Ctrl.
- A moment later the cleaned-up text is typed in.

Normal shortcuts still work: if you press another key while holding Ctrl
(Ctrl+C, Ctrl+V, Ctrl+S...), nothing is dictated.

To quit, close the window (or press Ctrl+C in it).


PRIVACY
-------
- Your voice is turned into text on your own computer. Audio is never uploaded.
- The text (not the audio) is sent to Anthropic's Claude to be cleaned up.
- Your API key is stored only on your computer, in api_key.txt in this folder.


TROUBLESHOOTING
---------------
- Nothing happens when I hold Ctrl: make sure the window says "Ready" and
  that Windows allows apps to use your microphone
  (Settings > Privacy > Microphone).
- It doesn't type into a particular program: that program is running as
  administrator. Right-click Start Dictation.bat > Run as administrator.
- Wrong API key: delete api_key.txt and start it again.
- Want it faster or more accurate: open dictate.py in Notepad and change
  WHISPER_MODEL near the top to "base.en" (faster) or "medium.en" (more accurate).
