https://github.com/everettjf/typemore
Type More With Your Voice - Voice input method app
https://github.com/everettjf/typemore
input-method react rust tauri voice voice-input-method
Last synced: about 1 month ago
JSON representation
Type More With Your Voice - Voice input method app
- Host: GitHub
- URL: https://github.com/everettjf/typemore
- Owner: everettjf
- License: apache-2.0
- Created: 2026-02-28T00:08:23.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-03-18T04:38:41.000Z (about 2 months ago)
- Last Synced: 2026-03-18T20:46:18.523Z (about 2 months ago)
- Topics: input-method, react, rust, tauri, voice, voice-input-method
- Language: TypeScript
- Homepage: https://typemore.app
- Size: 10.6 MB
- Stars: 34
- Watchers: 0
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# TypeMore
[中文说明](./README.zh-CN.md)
TypeMore is a macOS and Windows desktop app for offline speech-to-text. It captures your voice locally, runs speech recognition on-device, and pastes the result back into the active input with a hotkey workflow.
## Why TypeMore
- Offline first: audio stays on your device.
- Native desktop workflow: global hotkeys, overlay feedback, recording history.
- Open source: built with Tauri + React + Rust.
- Practical for writing: dictation, cleanup, optional cloud post-processing, translation.
## How It Works
TypeMore uses a local speech recognition pipeline based on `sherpa-onnx` through `sherpa-rs`.
1. On first launch, TypeMore downloads the speech model into the app data directory.
2. When you hold or tap the configured hotkey, the app records microphone audio locally.
3. The Rust backend converts audio to 16k mono WAV and runs offline ASR.
4. The recognized text is shown in the app, cached with the recording, and can be pasted back into your current input target.
5. If you enable cloud post-processing, the local transcript can be cleaned up or translated by your configured provider after local ASR finishes.
This design keeps the critical path local. Cloud providers are optional and never required for basic dictation.
## Install
### Homebrew
```bash
brew update && brew install --cask everettjf/tap/typemore
```
Upgrade later with:
```bash
brew upgrade --cask typemore
```
### Direct Download
Download the latest notarized DMG from GitHub Releases:
- Releases page:
- Latest DMG:
### Windows Installer
Build the Windows installer locally with Inno Setup:
```powershell
npm run build:win-installer
```
## Community
- Website:
- Discord:
## Features
- Offline speech recognition on macOS and Windows
- Built-in `Fn` / `Fn+Shift` trigger flow on macOS
- Global custom hotkeys
- Recording history with rename, delete, and re-transcribe
- Dictionary support for custom words
- Optional cloud optimization and translation
- Startup update check with 7-day reminder
## Data Storage
TypeMore stores runtime data under the Tauri app data directory, including:
- downloaded ASR model files
- recordings
- transcript cache
- dictionary words
- temporary conversion files
## Contributing
If you want to build, debug, or release TypeMore locally, see [CONTRIBUTING.md](./CONTRIBUTING.md).
## License
Apache-2.0. See [LICENSE](./LICENSE).