WPF System Tray application that records voice using a hotkey and transcribes it using OpenAI's Audio Transcriptions API, then pastes the text into the focused application.
- Hold-to-talk: Hold Ctrl+Alt+Space to record, release to transcribe
- OpenAI Integration: Uses gpt-4o-mini-transcribe (default) or whisper-1
- Clipboard Paste: Automatically pastes transcribed text via Ctrl+V
- System Tray: Runs silently in the background
- Status Indicator: Visual feedback with audio level meter during recording
- Sound Effects: Audio feedback for recording start/stop
- History: View and copy recent transcriptions
- Secure API Key Storage: Uses Windows DPAPI encryption
- Go to Releases
- Download
oto-Setup-X.X.X.exe - Run the installer
- Launch oto from Start Menu or Desktop
No .NET runtime installation required - the application is fully self-contained.
git clone https://github.com/ikumasudo/oto.git
cd oto
dotnet build
dotnet run --project src/oto.App- Windows 10/11 (64-bit)
- OpenAI API Key
- .NET 9.0 SDK (only for building from source)
- First Run: Right-click the tray icon > Settings > Enter your OpenAI API Key
- Recording: Hold
Ctrl+Alt+Spaceto record - Release: Release the keys to stop recording and transcribe
- Result: Text is automatically pasted into the focused application
Right-click the tray icon and select Settings to configure:
| Setting | Description | Default |
|---|---|---|
| API Key | Your OpenAI API key | (required) |
| Model | Transcription model | gpt-4o-mini-transcribe |
| Hotkey | Key combination for recording | Ctrl+Alt+Space |
| Max Duration | Maximum recording time (seconds) | 60 |
| Language | Language hint (e.g., "ja", "en") | Auto-detect |
| Add Punctuation | Include punctuation in output | Yes |
| Preserve Newlines | Keep line breaks | Yes |
| Sound Effects | Audio feedback for recording | Yes |
oto/
├── oto.slnx
├── src/
│ ├── oto.App/ # WPF UI, System Tray, Settings
│ ├── oto.Core.Audio/ # NAudio recording, WAV encoding
│ ├── oto.Core.Hotkey/ # Global keyboard hook (WH_KEYBOARD_LL)
│ ├── oto.Core.OpenAI/ # OpenAI API client
│ └── oto.Core.Paste/ # Clipboard + SendInput
└── README.md
- Open Settings > Apps > Apps & features
- Find oto and click Uninstall
Settings are stored in %APPDATA%\oto\ (delete manually to remove all data).
MIT License