Skip to content
/ dictea Public

Intelligent voice dictation for macOS. Press a shortcut to start, speak, press again — your text is transcribed and pasted instantly.

Notifications You must be signed in to change notification settings

furybee/dictea

Repository files navigation

Dictea

Tauri Rust React TypeScript macOS License

image

Intelligent voice dictation for macOS. Press a shortcut to start, speak, press again — your text is transcribed and pasted instantly.

Features

  • Toggle dictationCmd+Shift+Space to start recording, press again to transcribe and paste
  • Cancel anytimeCmd+Shift+C to cancel without pasting
  • 3 STT engines — OpenAI, Voxtral (Mistral), or Gemini (Google) — switch freely in settings
  • AI reformulation — Clean up grammar, remove hesitations and repetitions
  • Auto-translation — Translate to French, English, Spanish, German, Italian, or Portuguese
  • Floating overlay — Minimal animated pill with real-time audio waveform
  • Native macOS look — Dark glassmorphism theme, animated gradients, transparent title bar
  • Bilingual UI — English and French

STT Engines

Engine Transcription model Reformulation model API key
OpenAI gpt-4o-transcribe gpt-4o-mini platform.openai.com
Voxtral (Mistral) voxtral-mini-latest mistral-small-latest console.mistral.ai
Gemini (Google) gemini-2.5-flash gemini-2.5-flash-lite aistudio.google.com

Installation

Download the latest release from GitHub Releases.

Platform File
macOS .dmg
Windows .msi
Linux .deb, .AppImage

macOS: The app is not signed with an Apple Developer certificate. After installing, run:

xattr -cr /Applications/Dictea.app

Then open the app normally.

Development

Prerequisites

  • macOS 10.15+
  • Rustrustup.rs
  • Node.js 18+ and pnpm

Install & run

make install   # Install dependencies
make dev       # Development mode (hot reload)

Build for production

make build

The .dmg and .app bundle will be in src-tauri/target/release/bundle/.

Keyboard shortcuts

Shortcut Action
Cmd + Shift + Space Start / stop & paste
Cmd + Shift + C Cancel (no paste)

Architecture

src-tauri/src/
├── lib.rs              # App state, Tauri commands, config, shortcuts
├── audio/              # Microphone capture (cpal, 48kHz → 16kHz)
├── stt/                # STT engines (OpenAI, Voxtral, Gemini)
└── pipeline/           # Real-time streaming pipeline

ui/
├── App.tsx             # Root component with i18n provider
├── components/
│   ├── SettingsView.tsx    # Settings layout + sidebar
│   ├── OverlayView.tsx     # Floating waveform pill
│   └── pages/              # Dictation, Engine, Shortcut, Settings
├── hooks/useConfig.ts      # Config loading & auto-save
├── i18n/                   # FR + EN translations
└── types.ts                # Shared types & constants

Tech stack

Component Technology
Desktop framework Tauri v2
Backend Rust
Frontend React 19, TypeScript, Vite
Audio capture cpal
HTTP client reqwest
Icons lucide-react
Fonts Great Vibes, Nunito

Make commands

Command Description
make dev Dev mode with hot reload
make build Production build
make install Install dependencies
make clean Clean build artifacts
make kill Kill running processes
make logs Tail application logs
make release VERSION=x.y.z Tag & push a release

Config is stored in ~/Library/Application Support/com.dictea.app/.

License

MIT

About

Intelligent voice dictation for macOS. Press a shortcut to start, speak, press again — your text is transcribed and pasted instantly.

Resources

Stars

Watchers

Forks

Contributors