Push-to-talk speech-to-text transcriber for Windows that lets you dictate text anywhere.
- 🎯 Universal Hotkey: Press
CTRL+ALTto start/stop recording - 🤖 Local AI: Uses OpenAI Whisper for accurate transcription
- 🔇 Subtle Audio Feedback: Low-volume beeps indicate recording state
- ⚡ Batch Processing: Records complete utterances for better accuracy
- 🎤 Microphone Selection: Choose from available audio input devices
- 📝 Auto Text Injection: Automatically types transcribed text
- 🌍 Multi-language: Supports automatic language detection
- 🔒 Privacy-First: All processing happens locally
- Run
IAmDictator.exe - The app starts in the system tray
- Hold
CTRL+ALTand speak - Release keys when done
- Transcribed text appears automatically
Right-click the tray icon to access:
- Language: Auto, English, Spanish, French, German, Portuguese
- Model: Tiny (fastest) to Large-v3 (most accurate)
- Injection Mode: SendInput or Clipboard
- Microphone: Select input device
- Settings: Advanced configuration
- Logs: View application logs
- Windows 10/11
- .NET 8.0 Runtime
- Python 3.10+ (for STT server)
- Microphone
┌─────────────────────┐
│ WPF Application │
│ (System Tray UI) │
└──────────┬──────────┘
│
├── Hotkey Engine (CTRL+ALT)
├── Audio Capture (NAudio)
├── gRPC Client
│
v
┌─────────────────────┐
│ Python STT Server │
│ (faster-whisper) │
└─────────────────────┘
│
v
┌─────────────────────┐
│ Text Injection │
│ (SendInput API) │
└─────────────────────┘
- IAmDictator.App: WPF application with system tray UI
- IAmDictator.Core: Core functionality (hotkeys, audio, text injection)
- IAmDictator.STT.Server: Python gRPC server with faster-whisper
Settings are stored in: %APPDATA%\IAmDictator\settings.json
{
"Hotkey": {
"Enabled": true,
"ArmedDelayMs": 120
},
"Transcription": {
"ModelName": "small",
"Language": "auto"
},
"Injection": {
"Mode": "SendInput"
},
"General": {
"MicrophoneDeviceIndex": 0
}
}- .NET 8.0 SDK
- Python 3.10+
- Visual Studio 2022 or VS Code
- Clone the repository:
git clone https://github.com/yourusername/IAmDictator.git
cd IAmDictator- Build the solution:
dotnet build IAmDictator.sln --configuration Release- Setup Python STT server:
cd src/IAmDictator.STT.Server
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt- Run the application:
src\IAmDictator.App\bin\Release\net8.0-windows\IAmDictator.App.exe- Check microphone selection in tray menu
- Verify STT server is running (check logs)
- Ensure correct microphone device is selected
- Use a better microphone (headset recommended)
- Increase model size (small → medium → large)
- Speak clearly and at moderate pace
- Reduce background noise
%LOCALAPPDATA%\IAmDictator\logs\
MIT License - See LICENSE file for details
- Whisper: OpenAI
- faster-whisper: SYSTRAN
- NAudio: Mark Heath
- gRPC: Google
Made with ❤️ for productivity enthusiasts